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

Change-Id: I62767a0bbfdb2a3cd237a1dcea60d767023fa499
This commit is contained in:
Mady Mellor
2020-03-25 01:31:36 +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(),