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

Commit ae5de253 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

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

Change-Id: I15a54451d8b4f2ae37dbf97891f334c8b08e748a
parents b81e1593 ad26c28c
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