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) {