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

Commit 79f0d171 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Block touches under scrimmed bouncer

Fixes: 131386038
Test: swipe to bouncer and back on LS
Test: tap on notification, hit back on LS
Test: tap on notification on locked shade, try to interact with QS
Test: tap on notification on locked shade, hit back
Change-Id: I4e7c92abd8af2bba1918b7f1680d2a4b7377be12
parent 34e31232
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -833,6 +833,11 @@ public class NotificationPanelView extends PanelView implements
            return false;
        }
        initDownStates(event);
        // Do not let touches go to shade or QS if the bouncer is visible,
        // but still let user swipe down to expand the panel, dismissing the bouncer.
        if (mStatusBar.isBouncerShowing()) {
            return true;
        }
        if (mBar.panelEnabled() && mHeadsUpTouchHelper.onInterceptTouchEvent(event)) {
            mIsExpansionFromHeadsUp = true;
            MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1);
@@ -1000,6 +1005,13 @@ public class NotificationPanelView extends PanelView implements
        if (mBlockTouches || (mQs != null && mQs.isCustomizing())) {
            return false;
        }

        // Do not allow panel expansion if bouncer is scrimmed, otherwise user would be able to
        // pull down QS or expand the shade.
        if (mStatusBar.isBouncerShowingScrimmed()) {
            return false;
        }

        initDownStates(event);
        // Make sure the next touch won't the blocked after the current ends.
        if (event.getAction() == MotionEvent.ACTION_UP
+7 −0
Original line number Diff line number Diff line
@@ -4427,6 +4427,13 @@ public class StatusBar extends SystemUI implements DemoMode,
        return mBouncerShowing;
    }

    /**
     * @return Whether the security bouncer from Keyguard is showing.
     */
    public boolean isBouncerShowingScrimmed() {
        return isBouncerShowing() && mStatusBarKeyguardViewManager.bouncerNeedsScrimming();
    }

    /**
     * @return a PackageManger for userId or if userId is < 0 (USER_ALL etc) then
     *         return PackageManager for mContext