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

Commit 7d52dd65 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Fix paused player glitch on lock screen

Test: pull down QS when player is not active
Test: pull down QQS and QS when player is active
Bug: 158691042
Change-Id: I80bd859f5cee41fefaf3582b7bb23fc85e725e5b
parent b3013855
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -193,6 +193,8 @@ class MediaHierarchyManager @Inject constructor(
            override fun onDozingChanged(isDozing: Boolean) {
                if (!isDozing) {
                    dozeAnimationRunning = false
                } else {
                    updateDesiredLocation()
                }
            }
        })
@@ -510,12 +512,19 @@ class MediaHierarchyManager @Inject constructor(
                (statusbarState == StatusBarState.KEYGUARD ||
                        statusbarState == StatusBarState.FULLSCREEN_USER_SWITCHER))
        val allowedOnLockscreen = notifLockscreenUserManager.shouldShowLockscreenNotifications()
        return when {
        val location = when {
            qsExpansion > 0.0f && !onLockscreen -> LOCATION_QS
            qsExpansion > 0.4f && onLockscreen -> LOCATION_QS
            onLockscreen && allowedOnLockscreen -> LOCATION_LOCKSCREEN
            else -> LOCATION_QQS
        }
        // When we're on lock screen and the player is not active, we should keep it in QS.
        // Otherwise it will try to animate a transition that doesn't make sense.
        if (location == LOCATION_LOCKSCREEN && getHost(location)?.visible != true &&
                !statusBarStateController.isDozing) {
            return LOCATION_QS
        }
        return location
    }

    companion object {