diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 1f684aa1770db..5a8ebc2cc5c92 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -3828,13 +3828,6 @@ public class NotificationManagerService extends SystemService { return true; } - // Suppressed for being too recently noisy - final String pkg = record.sbn.getPackageName(); - if (mUsageStats.isAlertRateLimited(pkg)) { - Slog.e(TAG, "Muting recently noisy " + record.getKey()); - return true; - } - // muted by listener final String disableEffects = disableNotificationEffects(record); if (disableEffects != null) { @@ -3852,6 +3845,13 @@ public class NotificationManagerService extends SystemService { return notification.suppressAlertingDueToGrouping(); } + // Suppressed for being too recently noisy + final String pkg = record.sbn.getPackageName(); + if (mUsageStats.isAlertRateLimited(pkg)) { + Slog.e(TAG, "Muting recently noisy " + record.getKey()); + return true; + } + return false; } diff --git a/services/tests/notification/src/com/android/server/notification/BuzzBeepBlinkTest.java b/services/tests/notification/src/com/android/server/notification/BuzzBeepBlinkTest.java index 807703b95a639..b02312661ab60 100644 --- a/services/tests/notification/src/com/android/server/notification/BuzzBeepBlinkTest.java +++ b/services/tests/notification/src/com/android/server/notification/BuzzBeepBlinkTest.java @@ -830,6 +830,16 @@ public class BuzzBeepBlinkTest extends NotificationTestCase { verify(mUsageStats, never()).isAlertRateLimited(any()); } + @Test + public void testPostingGroupSuppressedDoesNotAffectRateLimiting() throws Exception { + NotificationRecord summary = getBeepyNotificationRecord("a", GROUP_ALERT_CHILDREN); + summary.getNotification().flags |= Notification.FLAG_GROUP_SUMMARY; + + mService.buzzBeepBlinkLocked(summary); + + verify(mUsageStats, never()).isAlertRateLimited(any()); + } + @Test public void testCrossUserSoundMuted() throws Exception { final Notification n = new Builder(getContext(), "test")