Merge "DO NOT MERGE Notifs sent from suspended apps should reappear" into pi-dev

am: 0b89c36e8a

Change-Id: Ibe257d2d0e6fd40b44483c9fa69389d5bd9822af
This commit is contained in:
Beverly
2018-10-01 13:18:09 -07:00
committed by android-build-merger
2 changed files with 11 additions and 13 deletions

View File

@@ -4258,13 +4258,6 @@ public class NotificationManagerService extends SystemService {
final String pkg = r.sbn.getPackageName();
final int callingUid = r.sbn.getUid();
final boolean isPackageSuspended = isPackageSuspendedForUser(pkg, callingUid);
if (isPackageSuspended) {
Slog.e(TAG, "Suppressing notification from package due to package "
+ "suspended by administrator.");
usageStats.registerSuspendedByAdmin(r);
return isPackageSuspended;
}
final boolean isBlocked =
mRankingHelper.isGroupBlocked(pkg, callingUid, r.getChannel().getGroup())
|| mRankingHelper.getImportance(pkg, callingUid)
@@ -4273,8 +4266,9 @@ public class NotificationManagerService extends SystemService {
if (isBlocked) {
Slog.e(TAG, "Suppressing notification from package by user request.");
usageStats.registerBlocked(r);
return true;
}
return isBlocked;
return false;
}
protected class SnoozeNotificationRunnable implements Runnable {
@@ -4452,7 +4446,11 @@ public class NotificationManagerService extends SystemService {
return;
}
r.setHidden(isPackageSuspendedLocked(r));
final boolean isPackageSuspended = isPackageSuspendedLocked(r);
r.setHidden(isPackageSuspended);
if (isPackageSuspended) {
mUsageStats.registerSuspendedByAdmin(r);
}
NotificationRecord old = mNotificationsByKey.get(key);
final StatusBarNotification n = r.sbn;
final Notification notification = n.getNotification();
@@ -6618,7 +6616,6 @@ public class NotificationManagerService extends SystemService {
if (!oldSbnVisible && !sbnVisible) {
continue;
}
// If the notification is hidden, don't notifyPosted listeners targeting < P.
// Instead, those listeners will receive notifyPosted when the notification is
// unhidden.
@@ -7052,7 +7049,7 @@ public class NotificationManagerService extends SystemService {
new String[]{pkg});
final String action = suspend ? Intent.ACTION_PACKAGES_SUSPENDED
: Intent.ACTION_PACKAGES_UNSUSPENDED;
: Intent.ACTION_PACKAGES_UNSUSPENDED;
final Intent intent = new Intent(action);
intent.putExtras(extras);

View File

@@ -500,8 +500,9 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
NotificationChannel channel = new NotificationChannel("id", "name",
IMPORTANCE_HIGH);
NotificationRecord r = generateNotificationRecord(channel);
assertTrue(mService.isBlocked(r, mUsageStats));
verify(mUsageStats, times(1)).registerSuspendedByAdmin(eq(r));
// isBlocked is only used for user blocking, not app suspension
assertFalse(mService.isBlocked(r, mUsageStats));
}
@Test