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

Commit bd91546a authored by Olivier St-Onge's avatar Olivier St-Onge
Browse files

Avoid using derivedStateOf for QS Y translation

derivedStateOf is expensive and isn't really a good fit for the Y translation as it changes just as often as the QS expansion state

Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Bug: 418728219
Test: manually - expanding QS from lockscreen
Change-Id: Idc282559768312d92962c5a0be90f5d09d4335b4
parent f61612ae
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -230,7 +230,8 @@ constructor(

    var overScrollAmount by mutableStateOf(0)

    val viewTranslationY by derivedStateOf {
    val viewTranslationY: Float
        get() =
            if (isOverscrolling) {
                overScrollAmount.toFloat()
            } else {
@@ -240,11 +241,11 @@ constructor(
                    headerTranslation
                }
            }
    }

    val qsScrollTranslationY by derivedStateOf {
    val qsScrollTranslationY: Float
        get() {
            val panelTranslationY = translationScaleY * heightDiff
        if (onKeyguardAndExpanded) panelTranslationY else 0f
            return if (onKeyguardAndExpanded) panelTranslationY else 0f
        }

    val viewAlpha by derivedStateOf {
@@ -423,9 +424,8 @@ constructor(
    private val translationScaleY: Float
        get() = ((qsExpansion - 1) * (if (isInSplitShade) 1f else SHORT_PARALLAX_AMOUNT))

    private val headerTranslation by derivedStateOf {
        if (isTransitioningToFullShade) 0f else proposedTranslation
    }
    private val headerTranslation: Float
        get() = if (isTransitioningToFullShade) 0f else proposedTranslation

    private val alphaProgress by derivedStateOf {
        when {