diff options
| -rw-r--r-- | packages/SystemUI/AndroidManifest.xml | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/notification/PermissionHelper.java | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index a1b3df87f8d4..1e9a41e4d0b8 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -218,7 +218,6 @@ <!-- notifications & DND access --> <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" /> - <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" /> <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> diff --git a/services/core/java/com/android/server/notification/PermissionHelper.java b/services/core/java/com/android/server/notification/PermissionHelper.java index 99cb6f03e6da..24008d0f64ca 100644 --- a/services/core/java/com/android/server/notification/PermissionHelper.java +++ b/services/core/java/com/android/server/notification/PermissionHelper.java @@ -167,6 +167,7 @@ public final class PermissionHelper { public void setNotificationPermission(String packageName, @UserIdInt int userId, boolean grant, boolean userSet) { assertFlag(); + final long callingId = Binder.clearCallingIdentity(); try { if (grant) { mPermManager.grantRuntimePermission(packageName, NOTIFICATION_PERMISSION, userId); @@ -180,13 +181,20 @@ public final class PermissionHelper { } } catch (RemoteException e) { Slog.e(TAG, "Could not reach system server", e); + } finally { + Binder.restoreCallingIdentity(callingId); } } public void setNotificationPermission(PackagePermission pkgPerm) { assertFlag(); - setNotificationPermission( - pkgPerm.packageName, pkgPerm.userId, pkgPerm.granted, pkgPerm.userSet); + final long callingId = Binder.clearCallingIdentity(); + try { + setNotificationPermission( + pkgPerm.packageName, pkgPerm.userId, pkgPerm.granted, pkgPerm.userSet); + } finally { + Binder.restoreCallingIdentity(callingId); + } } public boolean isPermissionFixed(String packageName, @UserIdInt int userId) { |