Merge "DO NOT MERGE Notifs sent from suspended apps should reappear" into pi-dev
am: 0b89c36e8a
Change-Id: Ibe257d2d0e6fd40b44483c9fa69389d5bd9822af
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user