From e8bde7082119dcce1d446327a4306889c339fa83 Mon Sep 17 00:00:00 2001 From: Sailesh Nepal Date: Fri, 21 Jul 2017 11:44:04 -0700 Subject: [PATCH] DO NOT MERGE: Remove rate limiting for system dialer notifications Currently, after the system dialer posts 50 notifications, no more notifications are allowed. This breaks incoming calls. Fix is to exempt the system dialer from rate limiting. Bug: 62937258 Change-Id: I084941102912c180a468a0f4ab251bad17df1c3a --- .../server/notification/NotificationManagerService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 2c12d188d2459..90b385332e0bb 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -133,6 +133,7 @@ import android.service.notification.SnoozeCriterion; import android.service.notification.StatusBarNotification; import android.service.notification.ZenModeConfig; import android.service.notification.ZenModeProto; +import android.telecom.TelecomManager; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.text.TextUtils; @@ -3305,8 +3306,11 @@ public class NotificationManagerService extends SystemService { private boolean checkDisqualifyingFeatures(int userId, int callingUid, int id, String tag, NotificationRecord r) { final String pkg = r.sbn.getPackageName(); + final String dialerPackage = + getContext().getSystemService(TelecomManager.class).getSystemDialerPackage(); final boolean isSystemNotification = - isUidSystemOrPhone(callingUid) || ("android".equals(pkg)); + isUidSystemOrPhone(callingUid) || ("android".equals(pkg)) + || TextUtils.equals(pkg, dialerPackage); final boolean isNotificationFromListener = mListeners.isListenerPackage(pkg); // Limit the number of notifications that any given package except the android