@Test public void whenCreatingPlayerSurfaceHolderWithSurfaceView_thenAttachCallbackToSurfaceHolder() { PlayerSurfaceHolder.create(surfaceView); verify(surfaceHolder).addCallback(any(PlayerViewSurfaceHolder.class)); }
@Test public void whenCreatingPlayerSurfaceHolderWithTextureView_thenAttachSurfaceTextureListenerToTextureView() { PlayerSurfaceHolder.create(textureView); verify(textureView).setSurfaceTextureListener(any(PlayerViewSurfaceHolder.class)); }
@Override protected void onFinishInflate() { super.onFinishInflate(); View.inflate(getContext(), R.layout.noplayer_view, this); videoFrame = findViewById(R.id.video_frame); shutterView = findViewById(R.id.shutter); surfaceView = findViewById(R.id.surface_view); subtitleView = findViewById(R.id.subtitles_layout); playerSurfaceHolder = PlayerSurfaceHolder.create(surfaceView); }
@Test public void givenPlayerSurfaceHolderContainsSurfaceView_whenAttachingVideoPlayer_thenSetsVideoSurfaceView() { PlayerSurfaceHolder playerSurfaceHolder = PlayerSurfaceHolder.create(surfaceView); playerSurfaceHolder.attach(videoPlayer); verify(videoPlayer).setVideoSurfaceView(surfaceView); }
@Test public void givenPlayerSurfaceHolderContainsTextureView_whenAttachingVideoPlayer_thenSetsVideoTextureView() { PlayerSurfaceHolder playerSurfaceHolder = PlayerSurfaceHolder.create(textureView); playerSurfaceHolder.attach(videoPlayer); verify(videoPlayer).setVideoTextureView(textureView); }
@Before public void setUp() { ExoPlayerCreator exoPlayerCreator = mock(ExoPlayerCreator.class); given(exoPlayerForwarder.drmSessionEventListener()).willReturn(drmSessionEventListener); given(exoPlayerForwarder.mediaSourceEventListener()).willReturn(mediaSourceEventListener); given(bandwidthMeterCreator.create(anyLong())).willReturn(defaultBandwidthMeter); given(trackSelectorCreator.create(OPTIONS, defaultBandwidthMeter)).willReturn(trackSelector); given(exoPlayerCreator.create(drmSessionCreator, drmSessionEventListener, mediaCodecSelector, trackSelector.trackSelector())).willReturn(exoPlayer); given(rendererTypeRequesterCreator.createfrom(exoPlayer)).willReturn(rendererTypeRequester); facade = new ExoPlayerFacade( bandwidthMeterCreator, androidDeviceVersion, mediaSourceFactory, trackSelectorCreator, exoPlayerCreator, rendererTypeRequesterCreator ); given(surfaceView.getHolder()).willReturn(mock(SurfaceHolder.class)); surfaceViewHolder = PlayerSurfaceHolder.create(surfaceView); textureViewHolder = PlayerSurfaceHolder.create(textureView); }