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

Commit 140fab50 authored by Julia Tuttle's avatar Julia Tuttle
Browse files

Clean up QS/NSSL bottom margin calculation

The root cause of b/222594381 was a deviation between the two mostly
repetitive branches of an if-else.

This change factors out the not-repetitive part of those two branches
into a top-level case, and then merges the rest of the cases between the
two branches.

It also removes the default value for stackScrollMargin, since that
saves a couple lines of code but makes the resulting outputs harder to
discern by eye.

Also, spell out some wildcard imports to make ktlint happy.

Bug: 222594381
Test: manual, on Pixel 5a
Change-Id: I6a034a6fb475be363667cb64ab2b3516a8df6005
parent 716c5618
Loading
Loading
Loading
Loading
+21 −27
Original line number Diff line number Diff line
@@ -6,7 +6,11 @@ import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.view.WindowInsets
import androidx.annotation.VisibleForTesting
import androidx.constraintlayout.widget.ConstraintSet
import androidx.constraintlayout.widget.ConstraintSet.*
import androidx.constraintlayout.widget.ConstraintSet.BOTTOM
import androidx.constraintlayout.widget.ConstraintSet.END
import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
import androidx.constraintlayout.widget.ConstraintSet.START
import androidx.constraintlayout.widget.ConstraintSet.TOP
import com.android.systemui.R
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.flags.FeatureFlags
@@ -171,34 +175,24 @@ class NotificationsQSContainerController @Inject constructor(

    private fun calculateBottomSpacing(): Paddings {
        val containerPadding: Int
        var stackScrollMargin = notificationsBottomMargin
        if (splitShadeEnabled) {
            if (isGestureNavigation) {
                // only default cutout padding, taskbar always hides
                containerPadding = bottomCutoutInsets
            } else if (taskbarVisible) {
                // navigation buttons + visible taskbar means we're NOT on homescreen
                containerPadding = bottomStableInsets
            } else {
                // navigation buttons + hidden taskbar means we're on homescreen
                containerPadding = 0
                // we need extra margin for notifications as navigation buttons are below them
                stackScrollMargin = bottomStableInsets + notificationsBottomMargin
            }
        } else {
            if (isQSCustomizing || isQSDetailShowing) {
        val stackScrollMargin: Int
        if (!splitShadeEnabled && (isQSCustomizing || isQSDetailShowing)) {
            // Clear out bottom paddings/margins so the qs customization can be full height.
            containerPadding = 0
            stackScrollMargin = 0
        } else if (isGestureNavigation) {
            // only default cutout padding, taskbar always hides
            containerPadding = bottomCutoutInsets
            stackScrollMargin = notificationsBottomMargin
        } else if (taskbarVisible) {
            // navigation buttons + visible taskbar means we're NOT on homescreen
            containerPadding = bottomStableInsets
            stackScrollMargin = notificationsBottomMargin
        } else {
            // navigation buttons + hidden taskbar means we're on homescreen
            containerPadding = 0
            stackScrollMargin = bottomStableInsets + notificationsBottomMargin
        }
        }
        val qsContainerPadding = if (!(isQSCustomizing || isQSDetailShowing)) {
            // We also want this padding in the bottom in these cases
            if (splitShadeEnabled) {