Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53af63e0 authored by Mady Mellor's avatar Mady Mellor
Browse files

Don't query for the bubble shortcut if it's already on the NotifRecord

Test: atest NotificationManagerTest
Fixes: 150226770
Change-Id: I9d3a4e368155ea7c8b5611e0d6a3d8b95470022f
parent 774d5fe0
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -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(),