Merge "Implement application-level high priority setting." into lmp-dev
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index 34d465e..510d0d6 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -70,7 +70,7 @@
* Show a checkbox in the per-app notification control dialog to allow the user
* to promote this app's notifications to higher priority.
*/
- private static final boolean ENABLE_APP_NOTIFICATION_PRIORITY_OPTION = false;
+ private static final boolean ENABLE_APP_NOTIFICATION_PRIORITY_OPTION = true;
/**
* Show a checkbox in the per-app notification control dialog to allow the user to
* selectively redact this app's notifications on the lockscreen.
@@ -585,13 +585,27 @@
}
public boolean getHighPriority(String pkg, int uid) {
- // TODO get high-pri state from NoMan
- return false;
+ INotificationManager nm = INotificationManager.Stub.asInterface(
+ ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+ try {
+ return nm.getPackagePriority(pkg, uid) == Notification.PRIORITY_MAX;
+ } catch (Exception e) {
+ Log.w(TAG, "Error calling NoMan", e);
+ return false;
+ }
}
- public boolean setHighPriority(String pkg, int uid, boolean priority) {
- // TODO save high-pri state to NoMan
- return true;
+ public boolean setHighPriority(String pkg, int uid, boolean highPriority) {
+ INotificationManager nm = INotificationManager.Stub.asInterface(
+ ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+ try {
+ nm.setPackagePriority(pkg, uid,
+ highPriority ? Notification.PRIORITY_MAX : Notification.PRIORITY_DEFAULT);
+ return true;
+ } catch (Exception e) {
+ Log.w(TAG, "Error calling NoMan", e);
+ return false;
+ }
}
public boolean getSensitive(String pkg, int uid) {