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

Commit 2f650b5e authored by Guojing Yuan's avatar Guojing Yuan Committed by Android (Google) Code Review
Browse files

Merge "Expose NotificationManager.setNotificationPolicyAccessGranted to mainline modules" into main

parents c0e57b13 e12651f5
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -1264,6 +1264,18 @@ java_aconfig_library {
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
}


java_aconfig_library {
    name: "android.companion.flags-aconfig-java-export",
    aconfig_declarations: "android.companion.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
    mode: "exported",
    min_sdk_version: "30",
    apex_available: [
        "//apex_available:platform",
        "com.android.permission",
    ],
}

// Networking
// Networking
aconfig_declarations {
aconfig_declarations {
    name: "android.net.platform.flags-aconfig",
    name: "android.net.platform.flags-aconfig",
+2 −0
Original line number Original line Diff line number Diff line
@@ -237,6 +237,7 @@ package android {
    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
    field @FlaggedApi("android.companion.enable_medical_profile") public static final String MANAGE_NOTIFICATIONS = "android.permission.MANAGE_NOTIFICATIONS";
    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
@@ -1105,6 +1106,7 @@ package android.app {
    method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void registerCallNotificationEventListener(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.NotificationManager.CallNotificationEventListener);
    method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void registerCallNotificationEventListener(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.NotificationManager.CallNotificationEventListener);
    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
    method @FlaggedApi("android.companion.enable_medical_profile") @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATIONS) public void setNotificationPolicyAccessGranted(@NonNull String, boolean);
    method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
    method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
+6 −2
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package android.app;
package android.app;


import static android.Manifest.permission.POST_NOTIFICATIONS;
import static android.Manifest.permission.POST_NOTIFICATIONS;
import static android.annotation.SystemApi.Client.MODULE_LIBRARIES;
import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.service.notification.Flags.notificationClassification;
import static android.service.notification.Flags.notificationClassification;
@@ -463,7 +464,7 @@ public class NotificationManager {
     * @hide
     * @hide
     */
     */
    @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION)
    @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION)
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @SystemApi(client = MODULE_LIBRARIES)
    public static final String ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED =
    public static final String ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED =
            "android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED";
            "android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED";


@@ -2364,7 +2365,10 @@ public class NotificationManager {
    }
    }


    /** @hide */
    /** @hide */
    public void setNotificationPolicyAccessGranted(String pkg, boolean granted) {
    @FlaggedApi(android.companion.Flags.FLAG_ENABLE_MEDICAL_PROFILE)
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATIONS)
    public void setNotificationPolicyAccessGranted(@NonNull String pkg, boolean granted) {
        INotificationManager service = service();
        INotificationManager service = service();
        try {
        try {
            service.setNotificationPolicyAccessGranted(pkg, granted);
            service.setNotificationPolicyAccessGranted(pkg, granted);
+8 −0
Original line number Original line Diff line number Diff line
@@ -88,3 +88,11 @@ flag {
    description: "Enable association removed event API"
    description: "Enable association removed event API"
    bug: "398042032"
    bug: "398042032"
}
}

flag {
    name: "enable_medical_profile"
    is_exported: true
    namespace: "companion"
    description: "Enable medical profile"
    bug: "414859687"
}
+9 −1
Original line number Original line Diff line number Diff line
@@ -7458,7 +7458,15 @@
        processes.
        processes.
        @hide -->
        @hide -->
    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
                android:protectionLevel="signature" />
        android:protectionLevel="signature"
        android:featureFlag="!android.companion.enable_medical_profile" />
    <!-- @SystemApi Allows modification of do not disturb rules and policies.
        @FlaggedApi(android.companion.Flags.FLAG_ENABLE_MEDICAL_PROFILE)
        @hide -->
    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
                android:protectionLevel="signature|installer"
                android:featureFlag="android.companion.enable_medical_profile"/>
    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
        @hide -->
        @hide -->