Merge "Don't prevent notification updates in DOS protection." into mnc-dev

This commit is contained in:
Vladimir Marko
2015-06-22 08:53:48 +00:00
committed by Android (Google) Code Review

View File

@@ -1969,6 +1969,9 @@ public class NotificationManagerService extends SystemService {
for (int i=0; i<N; i++) {
final NotificationRecord r = mNotificationList.get(i);
if (r.sbn.getPackageName().equals(pkg) && r.sbn.getUserId() == userId) {
if (r.sbn.getId() == id && TextUtils.equals(r.sbn.getTag(), tag)) {
break; // Allow updating existing notification
}
count++;
if (count >= MAX_PACKAGE_NOTIFICATIONS) {
Slog.e(TAG, "Package has already posted " + count
@@ -2999,19 +3002,8 @@ public class NotificationManagerService extends SystemService {
final int len = list.size();
for (int i=0; i<len; i++) {
NotificationRecord r = list.get(i);
if (!notificationMatchesUserId(r, userId) || r.sbn.getId() != id) {
continue;
}
if (tag == null) {
if (r.sbn.getTag() != null) {
continue;
}
} else {
if (!tag.equals(r.sbn.getTag())) {
continue;
}
}
if (r.sbn.getPackageName().equals(pkg)) {
if (notificationMatchesUserId(r, userId) && r.sbn.getId() == id &&
TextUtils.equals(r.sbn.getTag(), tag) && r.sbn.getPackageName().equals(pkg)) {
return i;
}
}