Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ddae1f8 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not extend timeout if not playing" into rvc-dev am: ad26c28c am:...

Merge "Do not extend timeout if not playing" into rvc-dev am: ad26c28c am: ae5de253 am: 7f278063

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

Change-Id: I189d829ad1dba313578ea6a3693568ed8cc06bec
parents 44fcbaec 7f278063
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -87,12 +87,15 @@ class MediaTimeoutListener @Inject constructor(
            if (DEBUG) {
                Log.v(TAG, "onPlaybackStateChanged: $state")
            }
            expireMediaTimeout(key, "playback state ativity - $state, $key")

            if (state == null || !isPlayingState(state.state)) {
                if (DEBUG) {
                    Log.v(TAG, "schedule timeout for $key")
                }
                if (cancellation != null) {
                    if (DEBUG) Log.d(TAG, "cancellation already exists, continuing.")
                    return
                }
                expireMediaTimeout(key, "PLAYBACK STATE CHANGED - $state")
                cancellation = mainExecutor.executeDelayed({
                    cancellation = null
@@ -103,6 +106,7 @@ class MediaTimeoutListener @Inject constructor(
                    timeoutCallback(key, timedOut)
                }, PAUSED_MEDIA_TIMEOUT)
            } else {
                expireMediaTimeout(key, "playback started - $state, $key")
                timedOut = false
                timeoutCallback(key, timedOut)
            }
+12 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ class MediaTimeoutListenerTest : SysuiTestCase() {

    @Test
    fun testOnPlaybackStateChanged_cancelsTimeout_whenResumed() {
        // Assuming we're have a pending timeout
        // Assuming we have a pending timeout
        testOnPlaybackStateChanged_schedulesTimeout_whenPaused()

        mediaCallbackCaptor.value.onPlaybackStateChanged(PlaybackState.Builder()
@@ -139,6 +139,17 @@ class MediaTimeoutListenerTest : SysuiTestCase() {
        verify(cancellationRunnable).run()
    }

    @Test
    fun testOnPlaybackStateChanged_reusesTimeout_whenNotPlaying() {
        // Assuming we have a pending timeout
        testOnPlaybackStateChanged_schedulesTimeout_whenPaused()

        clearInvocations(cancellationRunnable)
        mediaCallbackCaptor.value.onPlaybackStateChanged(PlaybackState.Builder()
                .setState(PlaybackState.STATE_STOPPED, 0L, 0f).build())
        verify(cancellationRunnable, never()).run()
    }

    @Test
    fun testTimeoutCallback_invokedIfTimeout() {
        // Assuming we're have a pending timeout