diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 24e0fbb9c56..6c463bf46b6 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -573,6 +573,7 @@ Read calendar Write calendar Wi-Fi scan + Post notification diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java index 40506874771..7573de3ecac 100644 --- a/src/com/android/settings/applications/AppOpsState.java +++ b/src/com/android/settings/applications/AppOpsState.java @@ -107,7 +107,8 @@ public class AppOpsState { ); public static final OpsTemplate DEVICE_TEMPLATE = new OpsTemplate( - new int[] { AppOpsManager.OP_VIBRATE } + new int[] { AppOpsManager.OP_VIBRATE, + AppOpsManager.OP_POST_NOTIFICATION } ); public static final OpsTemplate[] ALL_TEMPLATES = new OpsTemplate[] { diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index f3723f85113..86c9c099e14 100644 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -385,7 +385,8 @@ public class InstalledAppDetails extends Fragment ServiceManager.getService(Context.NOTIFICATION_SERVICE)); boolean enabled = true; // default on try { - enabled = nm.areNotificationsEnabledForPackage(mAppEntry.info.packageName); + enabled = nm.areNotificationsEnabledForPackage(mAppEntry.info.packageName, + mAppEntry.info.uid); } catch (android.os.RemoteException ex) { // this does not bode well } @@ -1263,7 +1264,7 @@ public class InstalledAppDetails extends Fragment ServiceManager.getService(Context.NOTIFICATION_SERVICE)); try { final boolean enable = mNotificationSwitch.isChecked(); - nm.setNotificationsEnabledForPackage(packageName, enabled); + nm.setNotificationsEnabledForPackage(packageName, mAppEntry.info.uid, enabled); } catch (android.os.RemoteException ex) { mNotificationSwitch.setChecked(!enabled); // revert } diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index c48f648ba32..a223e20aad8 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -1129,7 +1129,7 @@ public class ManageApplications extends Fragment implements ApplicationInfo app = apps.get(i); try { if (DEBUG) Log.v(TAG, "Enabling notifications: " + app.packageName); - nm.setNotificationsEnabledForPackage(app.packageName, true); + nm.setNotificationsEnabledForPackage(app.packageName, app.uid, true); } catch (android.os.RemoteException ex) { } if (!app.enabled) {