Merge "Don't query for the bubble shortcut if it's already on the NotifRecord" into rvc-dev am: 30b6e5c778 am: 9de75bd5b1 am: 7d4c521311

Change-Id: I8e7b31582b9c8916b1b1a6f7aea190c2e4012f35
This commit is contained in:
Mady Mellor
2020-03-25 01:42:39 +00:00
committed by Automerger Merge Worker

View File

@@ -157,8 +157,8 @@ public class BubbleExtractor implements NotificationSignalExtractor {
}
/**
* @return whether the user has enabled the provided notification to bubble, does not
* account for policy.
* @return whether the user has enabled the provided notification to bubble, and if the
* developer has provided valid information for the notification to bubble.
*/
@VisibleForTesting
boolean canBubble(NotificationRecord r, String pkg, int userId) {
@@ -184,8 +184,17 @@ public class BubbleExtractor implements NotificationSignalExtractor {
}
String shortcutId = metadata.getShortcutId();
boolean shortcutValid = shortcutId != null
&& mShortcutHelper.getValidShortcutInfo(shortcutId, pkg, r.getUser()) != null;
String notificationShortcutId = r.getShortcutInfo() != null
? r.getShortcutInfo().getId()
: null;
boolean shortcutValid = false;
if (notificationShortcutId != null && shortcutId != null) {
// NoMan already checks validity of shortcut, just check if they match.
shortcutValid = shortcutId.equals(notificationShortcutId);
} else if (shortcutId != null) {
shortcutValid =
mShortcutHelper.getValidShortcutInfo(shortcutId, pkg, r.getUser()) != null;
}
if (metadata.getIntent() == null && !shortcutValid) {
// Should have a shortcut if intent is null
logBubbleError(r.getKey(),