diff options
| author | Daniel Sandler <dsandler@android.com> | 2012-06-01 19:01:53 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-01 19:01:53 -0700 |
| commit | 90c31f8b769b3e2f24441754c403cc07ca9e936d (patch) | |
| tree | 7471e6a6cfe75f2c44fe5fff84812bcfc48a8ac9 | |
| parent | 1f199f1d04e6ab8929a9cdcf8d5fc5583e735879 (diff) | |
| parent | 01827ce9f2d5f4441c7f7b0211d2739824320daf (diff) | |
| download | frameworks_base-90c31f8b769b3e2f24441754c403cc07ca9e936d.zip frameworks_base-90c31f8b769b3e2f24441754c403cc07ca9e936d.tar.gz frameworks_base-90c31f8b769b3e2f24441754c403cc07ca9e936d.tar.bz2 | |
am 01827ce9: Merge "Be more discriminating when canceling notifications on changing packages." into jb-dev
* commit '01827ce9f2d5f4441c7f7b0211d2739824320daf':
Be more discriminating when canceling notifications on changing packages.
| -rwxr-xr-x | services/java/com/android/server/NotificationManagerService.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java index 52ba665..f6d3b608 100755 --- a/services/java/com/android/server/NotificationManagerService.java +++ b/services/java/com/android/server/NotificationManagerService.java @@ -494,10 +494,11 @@ public class NotificationManagerService extends INotificationManager.Stub String action = intent.getAction(); boolean queryRestart = false; + boolean packageChanged = false; if (action.equals(Intent.ACTION_PACKAGE_REMOVED) || action.equals(Intent.ACTION_PACKAGE_RESTARTED) - || action.equals(Intent.ACTION_PACKAGE_CHANGED) + || (packageChanged=action.equals(Intent.ACTION_PACKAGE_CHANGED)) || (queryRestart=action.equals(Intent.ACTION_QUERY_PACKAGE_RESTART)) || action.equals(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE)) { String pkgList[] = null; @@ -514,6 +515,15 @@ public class NotificationManagerService extends INotificationManager.Stub if (pkgName == null) { return; } + if (packageChanged) { + // We cancel notifications for packages which have just been disabled + final int enabled = mContext.getPackageManager() + .getApplicationEnabledSetting(pkgName); + if (enabled == PackageManager.COMPONENT_ENABLED_STATE_ENABLED + || enabled == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) { + return; + } + } pkgList = new String[]{pkgName}; } if (pkgList != null && (pkgList.length > 0)) { |
