@Test public void givenPlayerIsInitialised_whenVideoIsPrepared_thenCancelsTimeout() { player.initialise(); ArgumentCaptor<NoPlayer.PreparedListener> argumentCaptor = ArgumentCaptor.forClass(NoPlayer.PreparedListener.class); verify(listenersHolder).addPreparedListener(argumentCaptor.capture()); NoPlayer.PreparedListener preparedListener = argumentCaptor.getValue(); preparedListener.onPrepared(player); verify(loadTimeout).cancel(); }
@Override public void onPrepared(PlayerState playerState) { if (!hasPrepared) { hasPrepared = true; for (NoPlayer.PreparedListener listener : listeners) { listener.onPrepared(playerState); } } }
@Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { if (isReady(playbackState)) { preparedListener.onPrepared(playerState); } }
@Test public void givenInitialised_whenCallingOnPrepared_thenSetsOnSeekCompleteListener() { player.initialise(); ArgumentCaptor<NoPlayer.PreparedListener> preparedListenerCaptor = ArgumentCaptor.forClass(NoPlayer.PreparedListener.class); verify(listenersHolder).addPreparedListener(preparedListenerCaptor.capture()); NoPlayer.PreparedListener preparedListener = preparedListenerCaptor.getValue(); preparedListener.onPrepared(player); verify(mediaPlayer).setOnSeekCompleteListener(any(MediaPlayer.OnSeekCompleteListener.class)); }
@Override public void onPrepared(MediaPlayer mp) { preparedListener.onPrepared(playerState); } }
@Test public void givenInitialised_whenCallingOnPrepared_thenCancelsTimeout() { player.initialise(); ArgumentCaptor<NoPlayer.PreparedListener> preparedListenerCaptor = ArgumentCaptor.forClass(NoPlayer.PreparedListener.class); verify(listenersHolder).addPreparedListener(preparedListenerCaptor.capture()); NoPlayer.PreparedListener preparedListener = preparedListenerCaptor.getValue(); preparedListener.onPrepared(player); verify(loadTimeout).cancel(); }