summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Julia Reynolds <juliacr@google.com> 2017-09-15 07:38:30 +0000
committer android-build-merger <android-build-merger@google.com> 2017-09-15 07:38:30 +0000
commit5a79f3a59d57c9104eb207b4f0ac2c65dbc6907f (patch)
treeb4f24b881045b578cf0eeec77d388a3febaf7923
parentb6fc50bc39198ed6ea94a6ffd8a34e4c9435cad2 (diff)
parent20a5244345ea56374c45ae3eb2a7c86c507ea613 (diff)
Merge "Merge "Clear calling identity" into oc-mr1-dev am: bc0c5882c6" into oc-mr1-dev-plus-aosp
am: 20a5244345 Change-Id: Ibfd85e6b9d840618f0d9f03d01abe124dd4f746d
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java82
1 files changed, 49 insertions, 33 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 53fde762bdfa..0cca63b810e4 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -2772,17 +2772,22 @@ public class NotificationManagerService extends SystemService {
public void setNotificationPolicyAccessGranted(String pkg, boolean granted)
throws RemoteException {
checkCallerIsSystemOrShell();
- if (!mActivityManager.isLowRamDevice()) {
- mConditionProviders.setPackageOrComponentEnabled(
- pkg, getCallingUserHandle().getIdentifier(), true, granted);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ if (!mActivityManager.isLowRamDevice()) {
+ mConditionProviders.setPackageOrComponentEnabled(
+ pkg, getCallingUserHandle().getIdentifier(), true, granted);
- getContext().sendBroadcastAsUser(new Intent(
- NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
- .setPackage(pkg)
- .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
- getCallingUserHandle(), null);
+ getContext().sendBroadcastAsUser(new Intent(
+ NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
+ .setPackage(pkg)
+ .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
+ getCallingUserHandle(), null);
- savePolicyFile();
+ savePolicyFile();
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
}
@@ -2864,19 +2869,25 @@ public class NotificationManagerService extends SystemService {
boolean granted) throws RemoteException {
Preconditions.checkNotNull(listener);
checkCallerIsSystemOrShell();
- if (!mActivityManager.isLowRamDevice()) {
- mConditionProviders.setPackageOrComponentEnabled(listener.flattenToString(),
- userId, false, granted);
- mListeners.setPackageOrComponentEnabled(listener.flattenToString(),
- userId, true, granted);
-
- getContext().sendBroadcastAsUser(new Intent(
- NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
- .setPackage(listener.getPackageName())
- .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
- getCallingUserHandle(), null);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ if (!mActivityManager.isLowRamDevice()) {
+ mConditionProviders.setPackageOrComponentEnabled(listener.flattenToString(),
+ userId, false, granted);
+ mListeners.setPackageOrComponentEnabled(listener.flattenToString(),
+ userId, true, granted);
- savePolicyFile();
+ getContext().sendBroadcastAsUser(new Intent(
+ NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
+
+ .setPackage(listener.getPackageName())
+ .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
+ getCallingUserHandle(), null);
+
+ savePolicyFile();
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
}
@@ -2885,19 +2896,24 @@ public class NotificationManagerService extends SystemService {
int userId, boolean granted) throws RemoteException {
Preconditions.checkNotNull(assistant);
checkCallerIsSystemOrShell();
- if (!mActivityManager.isLowRamDevice()) {
- mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(),
- userId, false, granted);
- mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(),
- userId, true, granted);
-
- getContext().sendBroadcastAsUser(new Intent(
- NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
- .setPackage(assistant.getPackageName())
- .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
- getCallingUserHandle(), null);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ if (!mActivityManager.isLowRamDevice()) {
+ mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(),
+ userId, false, granted);
+ mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(),
+ userId, true, granted);
+
+ getContext().sendBroadcastAsUser(new Intent(
+ NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
+ .setPackage(assistant.getPackageName())
+ .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
+ getCallingUserHandle(), null);
- savePolicyFile();
+ savePolicyFile();
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
}