summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2021-09-20 11:53:26 -0700
committerNate Myren <ntmyren@google.com>2021-09-22 15:44:12 -0700
commit9a7ef51cb8f6aecfd000a8f20a76a2de7766770a (patch)
tree8a73b318c688ac7351af9cbb0c97ae5fa79097a5 /core/java/android
parenta3cd005f0fae0e3832c39c6ff59769aaf8541efd (diff)
Create and default grant Notification permission
Add the POST_NOTIFICATIONS runtime permission, the NOTIFICATIONS permission group, and auto-grant the permission to pre-T apps. Test: manual Bug: 194833441 Change-Id: I3911275d0d1915cf391b915429fb3af9553c84cb
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/AppOpsManager.java4
-rw-r--r--core/java/android/content/pm/permission/CompatibilityPermissionInfo.java5
-rw-r--r--core/java/android/provider/Settings.java1
3 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index d932a29beca6..a17a89be8323 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1819,6 +1819,8 @@ public class AppOpsManager {
OP_BLUETOOTH_CONNECT,
OP_BLUETOOTH_ADVERTISE,
OP_UWB_RANGING,
+ // Notifications
+ OP_POST_NOTIFICATION,
// APPOP PERMISSIONS
OP_ACCESS_NOTIFICATIONS,
@@ -2227,7 +2229,7 @@ public class AppOpsManager {
android.Manifest.permission.READ_CALENDAR,
android.Manifest.permission.WRITE_CALENDAR,
android.Manifest.permission.ACCESS_WIFI_STATE,
- null, // no permission required for notifications
+ android.Manifest.permission.POST_NOTIFICATIONS,
null, // neighboring cells shares the coarse location perm
android.Manifest.permission.CALL_PHONE,
android.Manifest.permission.READ_SMS,
diff --git a/core/java/android/content/pm/permission/CompatibilityPermissionInfo.java b/core/java/android/content/pm/permission/CompatibilityPermissionInfo.java
index 9198b95a6f71..7370823da6f2 100644
--- a/core/java/android/content/pm/permission/CompatibilityPermissionInfo.java
+++ b/core/java/android/content/pm/permission/CompatibilityPermissionInfo.java
@@ -39,10 +39,15 @@ public class CompatibilityPermissionInfo extends ParsedUsesPermission {
/**
* List of new permissions that have been added since 1.0.
*
+ * NOTE: These must be declared in SDK version order, with permissions
+ * added to newer SDKs appearing before those added to older SDKs.
+ *
* @hide
*/
public static final CompatibilityPermissionInfo[] COMPAT_PERMS =
new CompatibilityPermissionInfo[]{
+ new CompatibilityPermissionInfo(Manifest.permission.POST_NOTIFICATIONS,
+ android.os.Build.VERSION_CODES.TIRAMISU, 0 /*usesPermissionFlags*/),
new CompatibilityPermissionInfo(Manifest.permission.WRITE_EXTERNAL_STORAGE,
android.os.Build.VERSION_CODES.DONUT, 0 /*usesPermissionFlags*/),
new CompatibilityPermissionInfo(Manifest.permission.READ_PHONE_STATE,
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 829cda0954f1..f29749b62971 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1920,7 +1920,6 @@ public final class Settings {
/**
* Activity Action: Show app listing settings, filtered by those that send notifications.
*
- * @hide
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_ALL_APPS_NOTIFICATION_SETTINGS =