From 32343e6bd91d3e1527c1f77ef63595cd8b8ea920 Mon Sep 17 00:00:00 2001 From: Mady Mellor Date: Wed, 19 Jul 2017 10:52:47 -0700 Subject: [PATCH] Fix snooze not dismissing when it should Simply check whether the guts is a leavebehind, if it is allow it to be dismissed. Test: manual - snooze a notification, touch outside note that it disappears - show notification controls on a notification that will be removed, note that the controls remain, once 'done' is hit the notification is removed Bug: 63788509 Change-Id: I42c97239f4e3e17f2e69322c94bd8e8f9d7f0737 --- .../src/com/android/systemui/statusbar/NotificationGuts.java | 4 ++++ .../src/com/android/systemui/statusbar/phone/StatusBar.java | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java index 23a67e2533aa8..54d622b341f13 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java @@ -329,4 +329,8 @@ public class NotificationGuts extends FrameLayout { public boolean isExposed() { return mExposed; } + + public boolean isLeavebehind() { + return mGutsContent != null && mGutsContent.isLeavebehind(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 23969f985e329..64c42a48551b0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1790,7 +1790,8 @@ public class StatusBar extends SystemUI implements DemoMode, return; } if (entry != null && mNotificationGutsExposed != null - && mNotificationGutsExposed == entry.row.getGuts()) { + && mNotificationGutsExposed == entry.row.getGuts() && entry.row.getGuts() != null + && !entry.row.getGuts().isLeavebehind()) { Log.w(TAG, "Keeping notification because it's showing guts. " + key); mLatestRankingMap = ranking; mKeyToRemoveOnGutsClosed = key;