summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adrian Roos <roosa@google.com> 2017-07-07 11:27:15 +0000
committer android-build-merger <android-build-merger@google.com> 2017-07-07 11:27:15 +0000
commitb42d05d64f35f86ce2e859bcd01c616cc8dca3e1 (patch)
tree925a3231c8e3b679fc2fe467789852ec5344148a
parentdd14195538c3ec54652124856e2b31f6ab6d4632 (diff)
parentea2cbdeccaa2157315bbdd9a4832351a1ecb706b (diff)
Merge "Keeping notifications around that show guts" into oc-dr1-dev
am: ea2cbdecca Change-Id: Ie9e2152a7aadf1f9b3cd42aa6a3791cb62ab34bc
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java24
1 files changed, 21 insertions, 3 deletions
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 1cb759151785..877c3d2d1afe 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -736,6 +736,7 @@ public class StatusBar extends SystemUI implements DemoMode,
private HashMap<String, Entry> mPendingNotifications = new HashMap<>();
private boolean mClearAllEnabled;
@Nullable private View mAmbientIndicationContainer;
+ private String mKeyToRemoveOnGutsClosed;
private SysuiColorExtractor mColorExtractor;
private ForegroundServiceController mForegroundServiceController;
@@ -1789,6 +1790,13 @@ public class StatusBar extends SystemUI implements DemoMode,
mRemoteInputEntriesToRemoveOnCollapse.add(entry);
return;
}
+ if (entry != null && mNotificationGutsExposed != null
+ && mNotificationGutsExposed == entry.row.getGuts()) {
+ Log.w(TAG, "Keeping notification because it's showing guts. " + key);
+ mLatestRankingMap = ranking;
+ mKeyToRemoveOnGutsClosed = key;
+ return;
+ }
if (entry != null) {
mForegroundServiceController.removeNotification(entry.notification);
@@ -3465,6 +3473,8 @@ public class StatusBar extends SystemUI implements DemoMode,
pw.println(Settings.Global.zenModeToString(mZenMode));
pw.print(" mUseHeadsUp=");
pw.println(mUseHeadsUp);
+ pw.print(" mKeyToRemoveOnGutsClosed=");
+ pw.println(mKeyToRemoveOnGutsClosed);
if (mStatusBarView != null) {
dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions());
}
@@ -6130,6 +6140,11 @@ public class StatusBar extends SystemUI implements DemoMode,
mNotificationGutsExposed = null;
mGutsMenuItem = null;
}
+ String key = sbn.getKey();
+ if (key.equals(mKeyToRemoveOnGutsClosed)) {
+ mKeyToRemoveOnGutsClosed = null;
+ removeNotification(key, mLatestRankingMap);
+ }
});
View gutsView = item.getGutsView();
@@ -7088,9 +7103,12 @@ public class StatusBar extends SystemUI implements DemoMode,
Entry entry = mNotificationData.get(key);
if (entry == null) {
return;
- } else {
- mHeadsUpEntriesToRemoveOnSwitch.remove(entry);
- mRemoteInputEntriesToRemoveOnCollapse.remove(entry);
+ }
+ mHeadsUpEntriesToRemoveOnSwitch.remove(entry);
+ mRemoteInputEntriesToRemoveOnCollapse.remove(entry);
+ if (key.equals(mKeyToRemoveOnGutsClosed)) {
+ mKeyToRemoveOnGutsClosed = null;
+ Log.w(TAG, "Notification that was kept for guts was updated. " + key);
}
Notification n = notification.getNotification();