@Override public void attach(PlayerView playerView) { this.playerView = playerView; listenersHolder.addStateChangedListener(playerView.getStateChangedListener()); listenersHolder.addVideoSizeChangedListener(playerView.getVideoSizeChangedListener()); }
@Override public void detach(PlayerView playerView) { listenersHolder.removeStateChangedListener(playerView.getStateChangedListener()); listenersHolder.removeVideoSizeChangedListener(playerView.getVideoSizeChangedListener()); removeSubtitleRenderer(); this.playerView = null; }
@Test public void whenLoadingVideo_thenAddsStateChangedListenerToListenersHolder() { player.loadVideo(uri, OPTIONS); verify(listenersHolder).addStateChangedListener(playerView.getStateChangedListener()); }
@Override public void detach(PlayerView playerView) { clearSurfaceHolderCallbacks(); listenersHolder.removeStateChangedListener(playerView.getStateChangedListener()); listenersHolder.removeVideoSizeChangedListener(playerView.getVideoSizeChangedListener()); buggyVideoDriverPreventer.clear(playerView.getContainerView()); surfaceRequester = null; containerView = null; }
@Test public void whenDetachingPlayerView_thenRemovesStateChangedListener() { PlayerView playerView = mock(PlayerView.class); NoPlayer.StateChangedListener stateChangedListener = mock(NoPlayer.StateChangedListener.class); given(playerView.getStateChangedListener()).willReturn(stateChangedListener); player.detach(playerView); verify(listenersHolder).removeStateChangedListener(stateChangedListener); }
@Override public void attach(PlayerView playerView) { containerView = playerView.getContainerView(); buggyVideoDriverPreventer.preventVideoDriverBug(this, containerView); listenersHolder.addVideoSizeChangedListener(playerView.getVideoSizeChangedListener()); listenersHolder.addStateChangedListener(playerView.getStateChangedListener()); PlayerSurfaceHolder playerSurfaceHolder = playerView.getPlayerSurfaceHolder(); surfaceRequester = playerSurfaceHolder.getSurfaceRequester(); }
@Test public void whenAttachingPlayerView_thenAddsStateChangedListener() { NoPlayer.StateChangedListener stateChangedListener = mock(NoPlayer.StateChangedListener.class); given(playerView.getStateChangedListener()).willReturn(stateChangedListener); player.attach(playerView); verify(listenersHolder).addStateChangedListener(stateChangedListener); }
given(playerView.getPlayerSurfaceHolder()).willReturn(playerSurfaceHolder); given(playerSurfaceHolder.getSurfaceRequester()).willReturn(surfaceRequester); given(playerView.getStateChangedListener()).willReturn(stateChangeListener); given(playerView.getVideoSizeChangedListener()).willReturn(videoSizeChangedListener); given(playerView.getContainerView()).willReturn(containerView);
@Before public void setUp() { given(playerView.getPlayerSurfaceHolder()).willReturn(playerSurfaceHolder); given(playerView.getStateChangedListener()).willReturn(stateChangeListener); given(playerView.getVideoSizeChangedListener()).willReturn(videoSizeChangedListener); given(playerView.getContainerView()).willReturn(containerView); given(listenersHolder.getErrorListeners()).willReturn(errorListener); given(listenersHolder.getPreparedListeners()).willReturn(preparedListener); given(listenersHolder.getBufferStateListeners()).willReturn(bufferStateListener); given(listenersHolder.getCompletionListeners()).willReturn(completionListener); given(listenersHolder.getStateChangedListeners()).willReturn(stateChangedListener); given(listenersHolder.getInfoListeners()).willReturn(infoListener); given(listenersHolder.getVideoSizeChangedListeners()).willReturn(videoSizeChangedListener); given(listenersHolder.getBitrateChangedListeners()).willReturn(bitrateChangedListener); player = new ExoPlayerTwoImpl( exoPlayerFacade, listenersHolder, forwarder, loadTimeout, heart, drmSessionCreator, mediaCodecSelector ); } }