diff options
| author | 2020-05-08 01:21:52 +0000 | |
|---|---|---|
| committer | 2020-05-08 01:21:52 +0000 | |
| commit | 89e616fa34fade5ea5c4f975b1a212bea645ea18 (patch) | |
| tree | dca77b6b6793a576eca4ec130f37931436a000a7 | |
| parent | 2a3c62046c6372717e31647ff460be395fccf18e (diff) | |
| parent | 5fb94cca99cc62b7c60a416733d091002c6461a0 (diff) | |
Merge "Remove HUN when user launches intent from its guts" into rvc-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java index 1df617d68374..44ece3584ee2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java @@ -285,18 +285,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit mLogger.logHandleClickAfterKeyguardDismissed(sbn.getKey()); // TODO: Some of this code may be able to move to NotificationEntryManager. - if (mHeadsUpManager != null && mHeadsUpManager.isAlerting(sbn.getKey())) { - // Release the HUN notification to the shade. - - if (mPresenter.isPresenterFullyCollapsed()) { - HeadsUpUtil.setIsClickedHeadsUpNotification(row, true); - } - // - // In most cases, when FLAG_AUTO_CANCEL is set, the notification will - // become canceled shortly by NoMan, but we can't assume that. - mHeadsUpManager.removeNotification(sbn.getKey(), - true /* releaseImmediately */); - } + removeHUN(row); NotificationEntry parentToCancel = null; if (shouldAutoCancel(sbn) && mGroupManager.isOnlyChildInGroup(sbn)) { NotificationEntry summarySbn = mGroupManager.getLogicalGroupSummary(sbn); @@ -461,8 +450,12 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit row, mStatusBar.isOccluded())), new UserHandle(UserHandle.getUserId(appUid))); mActivityLaunchAnimator.setLaunchResult(launchResult, true /* isActivityIntent */); + + // Putting it back on the main thread, since we're touching views + mMainThreadHandler.post(() -> { + removeHUN(row); + }); if (shouldCollapse()) { - // Putting it back on the main thread, since we're touching views mMainThreadHandler.post(() -> mCommandQueue.animateCollapsePanels( CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL, true /* force */)); } @@ -494,6 +487,20 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit }, null, false /* afterKeyguardGone */); } + private void removeHUN(ExpandableNotificationRow row) { + String key = row.getEntry().getSbn().getKey(); + if (mHeadsUpManager != null && mHeadsUpManager.isAlerting(key)) { + // Release the HUN notification to the shade. + if (mPresenter.isPresenterFullyCollapsed()) { + HeadsUpUtil.setIsClickedHeadsUpNotification(row, true); + } + + // In most cases, when FLAG_AUTO_CANCEL is set, the notification will + // become canceled shortly by NoMan, but we can't assume that. + mHeadsUpManager.removeNotification(key, true /* releaseImmediately */); + } + } + private void handleFullScreenIntent(NotificationEntry entry) { if (mNotificationInterruptStateProvider.shouldLaunchFullScreenIntentWhenAdded(entry)) { if (shouldSuppressFullScreenIntent(entry)) { |