@Test public void givenInitialised_whenCallingOnVideoSizeChanged_thenVideoWidthAndHeightMatches() { player.initialise(); ArgumentCaptor<NoPlayer.VideoSizeChangedListener> videoSizeChangedListenerCaptor = ArgumentCaptor.forClass(NoPlayer.VideoSizeChangedListener.class); verify(listenersHolder).addVideoSizeChangedListener(videoSizeChangedListenerCaptor.capture()); NoPlayer.VideoSizeChangedListener videoSizeChangedListener = videoSizeChangedListenerCaptor.getValue(); videoSizeChangedListener.onVideoSizeChanged(WIDTH, HEIGHT, ANY_ROTATION_DEGREES, ANY_PIXEL_WIDTH_HEIGHT); assertThat(player.videoWidth()).isEqualTo(WIDTH); assertThat(player.videoHeight()).isEqualTo(HEIGHT); }
@Override public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { for (NoPlayer.VideoSizeChangedListener listener : listeners) { listener.onVideoSizeChanged(width, height, unappliedRotationDegrees, pixelWidthHeightRatio); } } }
@Override public void onVideoSizeChanged(MediaPlayer mp, int width, int height) { if (bothDimensionsHaveChanged(width, height)) { videoSizeChangedListener.onVideoSizeChanged(width, height, 0, 1); } else { NoPlayerLog.w("Video size changed but we have swallowed the event due to only 1 dimension changing"); } previousWidth = width; previousHeight = height; }
@Test public void givenPlayerIsInitialised_andPlayerViewIsAttached_whenVideoSizeChanges_thenPlayerVideoWidthAndHeightMatches() { player.initialise(); player.attach(playerView); ArgumentCaptor<NoPlayer.VideoSizeChangedListener> argumentCaptor = ArgumentCaptor.forClass(NoPlayer.VideoSizeChangedListener.class); verify(listenersHolder, times(2)).addVideoSizeChangedListener(argumentCaptor.capture()); NoPlayer.VideoSizeChangedListener videoSizeChangedListener = argumentCaptor.getAllValues().get(INDEX_INTERNAL_VIDEO_SIZE_CHANGED_LISTENER); videoSizeChangedListener.onVideoSizeChanged(WIDTH, HEIGHT, ANY_ROTATION_DEGREES, ANY_PIXEL_WIDTH_HEIGHT); int actualWidth = player.videoWidth(); int actualHeight = player.videoHeight(); assertThat(actualWidth).isEqualTo(WIDTH); assertThat(actualHeight).isEqualTo(HEIGHT); }
@Override public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { videoSizeChangedListener.onVideoSizeChanged(width, height, unappliedRotationDegrees, pixelWidthHeightRatio); }