summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/NotificationManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/NotificationManagerService.java')
-rw-r--r--services/java/com/android/server/NotificationManagerService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index 903bc0bfc526..4348a81178f3 100644
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -1133,6 +1133,7 @@ public class NotificationManagerService extends INotificationManager.Stub
boolean queryRestart = false;
boolean queryRemove = false;
boolean packageChanged = false;
+ boolean cancelNotifications = true;
if (action.equals(Intent.ACTION_PACKAGE_ADDED)
|| (queryRemove=action.equals(Intent.ACTION_PACKAGE_REMOVED))
@@ -1163,7 +1164,7 @@ public class NotificationManagerService extends INotificationManager.Stub
.getApplicationEnabledSetting(pkgName);
if (enabled == PackageManager.COMPONENT_ENABLED_STATE_ENABLED
|| enabled == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) {
- return;
+ cancelNotifications = false;
}
}
pkgList = new String[]{pkgName};
@@ -1172,8 +1173,10 @@ public class NotificationManagerService extends INotificationManager.Stub
boolean anyListenersInvolved = false;
if (pkgList != null && (pkgList.length > 0)) {
for (String pkgName : pkgList) {
- cancelAllNotificationsInt(pkgName, 0, 0, !queryRestart,
- UserHandle.USER_ALL);
+ if (cancelNotifications) {
+ cancelAllNotificationsInt(pkgName, 0, 0, !queryRestart,
+ UserHandle.USER_ALL);
+ }
if (mEnabledListenerPackageNames.contains(pkgName)) {
anyListenersInvolved = true;
}