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
This commit is contained in:
Sailesh Nepal
2017-07-21 11:44:04 -07:00
committed by Daniel Sandler
parent 7c4069d255
commit e8bde70821

View File

@@ -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