Hide bubble HUNs after unlock with face auth / bypass enabled
Test: manual - have face auth with bypass enabled
- get a bubble notification while screen locked
- look at screen, see HUN, see it unlock
=> bubble with flyout is shown & HUN is hidden
Fixes: 159218197
Change-Id: Ia849b95ecc1c6f08b99c94c0589f151b33bb9ff2
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
index b846aa0..eca4c80 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AlertingNotificationManager.java
@@ -316,7 +316,7 @@
* of the timer and should be removed externally.
* @return true if the notification is sticky
*/
- protected boolean isSticky() {
+ public boolean isSticky() {
return false;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
index 3dcf7ed..e05ba12 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
@@ -428,7 +428,7 @@
@Override
- protected boolean isSticky() {
+ public boolean isSticky() {
return super.isSticky() || mMenuShownPinned;
}
@@ -568,6 +568,17 @@
}
mKeysToRemoveWhenLeavingKeyguard.clear();
}
+ if (wasKeyguard && !isKeyguard && mBypassController.getBypassEnabled()) {
+ ArrayList<String> keysToRemove = new ArrayList<>();
+ for (AlertEntry entry : mAlertEntries.values()) {
+ if (entry.mEntry != null && entry.mEntry.isBubble() && !entry.isSticky()) {
+ keysToRemove.add(entry.mEntry.getKey());
+ }
+ }
+ for (String key : keysToRemove) {
+ removeAlertEntry(key);
+ }
+ }
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
index 0d5a149..07de388 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
@@ -368,7 +368,7 @@
protected boolean expanded;
@Override
- protected boolean isSticky() {
+ public boolean isSticky() {
return (mEntry.isRowPinned() && expanded)
|| remoteInputActive || hasFullScreenIntent(mEntry);
}