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

Commit be371074 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Add falsing protection for all notification settings guts

Test: manual
Fixes: 153080616
Change-Id: I677eb06396d4eea2238e51dfd743f2b73657e766
parent 36b33527
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -188,6 +188,11 @@ public class AppOpsInfo extends LinearLayout implements NotificationGuts.GutsCon
        return false;
    }

    @Override
    public boolean needsFalsingProtection() {
        return false;
    }

    @Override
    public View getContentView() {
        return this;
+5 −0
Original line number Diff line number Diff line
@@ -403,6 +403,11 @@ public class NotificationConversationInfo extends LinearLayout implements
        // TODO: do we need to do anything here?
    }

    @Override
    public boolean needsFalsingProtection() {
        return true;
    }

    @Override
    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
        super.onInitializeAccessibilityEvent(event);
+6 −0
Original line number Diff line number Diff line
@@ -104,6 +104,12 @@ public class NotificationGuts extends FrameLayout {
         * Called when the guts view has finished its close animation.
         */
        default void onFinishedClosing() {}

        /**
         * Returns whether falsing protection is needed before showing the contents of this
         * view on the lockscreen
         */
        boolean needsFalsingProtection();
    }

    public interface OnGutsClosedListener {
+18 −14
Original line number Diff line number Diff line
@@ -523,7 +523,10 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
            int x,
            int y,
            NotificationMenuRowPlugin.MenuItem menuItem) {
        if (menuItem.getGutsView() instanceof NotificationInfo) {
        if (menuItem.getGutsView() instanceof NotificationGuts.GutsContent) {
            NotificationGuts.GutsContent gutsView =
                    (NotificationGuts.GutsContent)  menuItem.getGutsView();
            if (gutsView.needsFalsingProtection()) {
                if (mStatusBarStateController instanceof StatusBarStateControllerImpl) {
                    ((StatusBarStateControllerImpl) mStatusBarStateController)
                            .setLeaveOpenOnKeyguardHide(true);
@@ -541,6 +544,7 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx

                return true;
            }
        }
        return openGutsInternal(view, x, y, menuItem);
    }

+5 −0
Original line number Diff line number Diff line
@@ -489,6 +489,11 @@ public class NotificationInfo extends LinearLayout implements NotificationGuts.G
        mMetricsLogger.write(notificationControlsLogMaker().setType(MetricsEvent.TYPE_CLOSE));
    }

    @Override
    public boolean needsFalsingProtection() {
        return true;
    }

    @Override
    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
        super.onInitializeAccessibilityEvent(event);
Loading