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

Commit 8b04c79d authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Correctly show media player on split shade

Test: manual
Fixes: 210120758
Change-Id: If41eae7cfa790e5d783fe8e58f7cdb9e4a295333
parent 3a91691e
Loading
Loading
Loading
Loading
+9 −3
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter
import android.animation.ValueAnimator
import android.animation.ValueAnimator
import android.annotation.IntDef
import android.annotation.IntDef
import android.content.Context
import android.content.Context
import android.content.res.Configuration
import android.graphics.Rect
import android.graphics.Rect
import android.util.MathUtils
import android.util.MathUtils
import android.view.View
import android.view.View
@@ -41,6 +42,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.Utils
import com.android.systemui.util.animation.UniqueObjectHostView
import com.android.systemui.util.animation.UniqueObjectHostView
import javax.inject.Inject
import javax.inject.Inject


@@ -186,6 +188,8 @@ class MediaHierarchyManager @Inject constructor(
    @MediaLocation
    @MediaLocation
    private var currentAttachmentLocation = -1
    private var currentAttachmentLocation = -1


    private var inSplitShade = false

    /**
    /**
     * Is there any active media in the carousel?
     * Is there any active media in the carousel?
     */
     */
@@ -390,8 +394,9 @@ class MediaHierarchyManager @Inject constructor(
    init {
    init {
        updateConfiguration()
        updateConfiguration()
        configurationController.addCallback(object : ConfigurationController.ConfigurationListener {
        configurationController.addCallback(object : ConfigurationController.ConfigurationListener {
            override fun onDensityOrFontScaleChanged() {
            override fun onConfigChanged(newConfig: Configuration?) {
                updateConfiguration()
                updateConfiguration()
                updateDesiredLocation(forceNoAnimation = true, forceStateUpdate = true)
            }
            }
        })
        })
        statusBarStateController.addCallback(object : StatusBarStateController.StateListener {
        statusBarStateController.addCallback(object : StatusBarStateController.StateListener {
@@ -467,6 +472,7 @@ class MediaHierarchyManager @Inject constructor(
    private fun updateConfiguration() {
    private fun updateConfiguration() {
        distanceForFullShadeTransition = context.resources.getDimensionPixelSize(
        distanceForFullShadeTransition = context.resources.getDimensionPixelSize(
                R.dimen.lockscreen_shade_media_transition_distance)
                R.dimen.lockscreen_shade_media_transition_distance)
        inSplitShade = Utils.shouldUseSplitNotificationShade(context.resources)
    }
    }


    /**
    /**
@@ -803,7 +809,7 @@ class MediaHierarchyManager @Inject constructor(
    private fun getQSTransformationProgress(): Float {
    private fun getQSTransformationProgress(): Float {
        val currentHost = getHost(desiredLocation)
        val currentHost = getHost(desiredLocation)
        val previousHost = getHost(previousLocation)
        val previousHost = getHost(previousLocation)
        if (hasActiveMedia && currentHost?.location == LOCATION_QS) {
        if (hasActiveMedia && (currentHost?.location == LOCATION_QS && !inSplitShade)) {
            if (previousHost?.location == LOCATION_QQS) {
            if (previousHost?.location == LOCATION_QQS) {
                if (previousHost.visible || statusbarState != StatusBarState.KEYGUARD) {
                if (previousHost.visible || statusbarState != StatusBarState.KEYGUARD) {
                    return qsExpansion
                    return qsExpansion
@@ -934,7 +940,7 @@ class MediaHierarchyManager @Inject constructor(
                statusbarState == StatusBarState.FULLSCREEN_USER_SWITCHER))
                statusbarState == StatusBarState.FULLSCREEN_USER_SWITCHER))
        val allowedOnLockscreen = notifLockscreenUserManager.shouldShowLockscreenNotifications()
        val allowedOnLockscreen = notifLockscreenUserManager.shouldShowLockscreenNotifications()
        val location = when {
        val location = when {
            qsExpansion > 0.0f && !onLockscreen -> LOCATION_QS
            (qsExpansion > 0.0f || inSplitShade) && !onLockscreen -> LOCATION_QS
            qsExpansion > 0.4f && onLockscreen -> LOCATION_QS
            qsExpansion > 0.4f && onLockscreen -> LOCATION_QS
            !hasActiveMedia -> LOCATION_QS
            !hasActiveMedia -> LOCATION_QS
            onLockscreen && isTransformingToFullShadeAndInQQS() -> LOCATION_QQS
            onLockscreen && isTransformingToFullShadeAndInQQS() -> LOCATION_QQS