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

Commit 554af817 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: I7ce27aec8beb1ebca7c15d1f8dc1c7a103318899
parents de84ef49 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