Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a7ef51c authored by Nate Myren's avatar Nate Myren
Browse files

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
parent a3cd005f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ package android {
    field public static final String NFC_TRANSACTION_EVENT = "android.permission.NFC_TRANSACTION_EVENT";
    field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS";
    field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
    field public static final String POST_NOTIFICATIONS = "android.permission.POST_NOTIFICATIONS";
    field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS";
    field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES";
    field public static final String READ_CALENDAR = "android.permission.READ_CALENDAR";
@@ -203,6 +204,7 @@ package android {
    field public static final String LOCATION = "android.permission-group.LOCATION";
    field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
    field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
    field public static final String NOTIFICATIONS = "android.permission-group.NOTIFICATIONS";
    field public static final String PHONE = "android.permission-group.PHONE";
    field public static final String SENSORS = "android.permission-group.SENSORS";
    field public static final String SMS = "android.permission-group.SMS";
@@ -35257,6 +35259,7 @@ package android.provider {
    field public static final String ACTION_ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS";
    field public static final String ACTION_ADD_ACCOUNT = "android.settings.ADD_ACCOUNT_SETTINGS";
    field public static final String ACTION_AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS";
    field public static final String ACTION_ALL_APPS_NOTIFICATION_SETTINGS = "android.settings.ALL_APPS_NOTIFICATION_SETTINGS";
    field public static final String ACTION_APN_SETTINGS = "android.settings.APN_SETTINGS";
    field public static final String ACTION_APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS";
    field public static final String ACTION_APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS";
+3 −1
Original line number Diff line number Diff line
@@ -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,
+5 −0
Original line number Diff line number Diff line
@@ -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,
+0 −1
Original line number Diff line number Diff line
@@ -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 =
+22 −0
Original line number Diff line number Diff line
@@ -1488,6 +1488,28 @@
        android:description="@string/permdesc_useBiometric"
        android:protectionLevel="normal" />

   <!-- ======================================================================= -->
    <!-- Permissions for posting notifications                                  -->
    <!-- ====================================================================== -->
    <eat-comment />

    <!-- Used for permissions that are associated with posting notifications
    -->
    <permission-group android:name="android.permission-group.NOTIFICATIONS"
          android:icon="@drawable/ic_notifications_alerted"
          android:label="@string/permgrouplab_notifications"
          android:description="@string/permgroupdesc_notifications"
          android:priority="850" />

    <!-- Allows an app to post notifications
         <p>Protection level: dangerous
    -->
    <permission android:name="android.permission.POST_NOTIFICATIONS"
                android:permissionGroup="android.permission-group.UNDEFINED"
                android:label="@string/permlab_postNotification"
                android:description="@string/permdesc_postNotification"
                android:protectionLevel="dangerous" />

    <!-- ====================================================================== -->
    <!-- REMOVED PERMISSIONS                                                    -->
    <!-- ====================================================================== -->
Loading