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

Commit 85b3d0ab authored by Justin Weir's avatar Justin Weir Committed by Android (Google) Code Review
Browse files

Merge "New logic for calculating qsVisible" into main

parents 9cc5bfd8 41642bc7
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1566,6 +1566,16 @@ flag {
  }
}

flag {
  name: "shade_qsvisible_logic"
  namespace: "systemui"
  description: "Changes the way that QS visibility is calculated"
  bug: "412476562"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}

flag {
    name: "keyboard_shortcut_helper_shortcut_customizer"
    namespace: "systemui"
+9 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ package com.android.systemui.shade;
import static android.view.WindowInsets.Type.ime;

import static com.android.systemui.Flags.qsComposeFragmentEarlyExpansion;
import static com.android.systemui.Flags.shadeQsvisibleLogic;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.shade.NotificationPanelViewController.COUNTER_PANEL_OPEN_QS;
import static com.android.systemui.shade.NotificationPanelViewController.FLING_COLLAPSE;
@@ -1196,13 +1197,18 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
    void setClippingBounds() {
        float qsExpansionFraction = computeExpansionFraction();
        final int qsPanelBottomY = calculateBottomPosition(qsExpansionFraction);
        int top = calculateTopClippingBound(qsPanelBottomY);
        // Split shade has no QQS
        final boolean qqsVisible =
                !mSplitShadeEnabled && qsExpansionFraction == 0 && qsPanelBottomY > 0;
        final boolean qqsVisible;
        if (shadeQsvisibleLogic()) {
            qqsVisible = !mSplitShadeEnabled && qsExpansionFraction == 0 && top > 0;
        } else {
            qqsVisible = !mSplitShadeEnabled && qsExpansionFraction == 0 && qsPanelBottomY > 0;
        }

        final boolean qsVisible = qsExpansionFraction > 0;
        final boolean qsOrQqsVisible = qqsVisible || qsVisible;

        int top = calculateTopClippingBound(qsPanelBottomY);
        int bottom = calculateBottomClippingBound(top);
        int left = calculateLeftClippingBound();
        int right = calculateRightClippingBound();