Merge "Fix issue where player wouldn't expire" into rvc-dev am: 475cf18309 am: 532eb3a9d3 am: 646c9ed6f9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11887489

Change-Id: I8921e9c4ed223cf4a4f1cca1b3e9f0eece7a9da5
This commit is contained in:
Lucas Dupin
2020-06-17 04:30:20 +00:00
committed by Automerger Merge Worker
2 changed files with 14 additions and 1 deletions

View File

@@ -82,6 +82,7 @@ class MediaTimeoutListener @Inject constructor(
init { init {
mediaController?.registerCallback(this) mediaController?.registerCallback(this)
onPlaybackStateChanged(mediaController?.playbackState)
} }
fun destroy() { fun destroy() {

View File

@@ -38,6 +38,7 @@ import org.mockito.Mock
import org.mockito.Mockito import org.mockito.Mockito
import org.mockito.Mockito.`when` import org.mockito.Mockito.`when`
import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.mock
import org.mockito.Mockito.never import org.mockito.Mockito.never
import org.mockito.Mockito.verify import org.mockito.Mockito.verify
import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoJUnit
@@ -99,6 +100,10 @@ class MediaTimeoutListenerTest : SysuiTestCase() {
@Test @Test
fun testOnMediaDataLoaded_registersPlaybackListener() { fun testOnMediaDataLoaded_registersPlaybackListener() {
val playingState = mock(android.media.session.PlaybackState::class.java)
`when`(playingState.state).thenReturn(PlaybackState.STATE_PLAYING)
`when`(mediaController.playbackState).thenReturn(playingState)
mediaTimeoutListener.onMediaDataLoaded(KEY, null, mediaData) mediaTimeoutListener.onMediaDataLoaded(KEY, null, mediaData)
verify(mediaController).registerCallback(capture(mediaCallbackCaptor)) verify(mediaController).registerCallback(capture(mediaCallbackCaptor))
@@ -108,6 +113,13 @@ class MediaTimeoutListenerTest : SysuiTestCase() {
verify(mediaController, never()).registerCallback(anyObject()) verify(mediaController, never()).registerCallback(anyObject())
} }
@Test
fun testOnMediaDataLoaded_registersTimeout_whenPaused() {
mediaTimeoutListener.onMediaDataLoaded(KEY, null, mediaData)
verify(mediaController).registerCallback(capture(mediaCallbackCaptor))
verify(executor).executeDelayed(capture(timeoutCaptor), anyLong())
}
@Test @Test
fun testOnMediaDataRemoved_unregistersPlaybackListener() { fun testOnMediaDataRemoved_unregistersPlaybackListener() {
mediaTimeoutListener.onMediaDataLoaded(KEY, null, mediaData) mediaTimeoutListener.onMediaDataLoaded(KEY, null, mediaData)