Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ package android { field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE"; field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"; field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED"; field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION"; field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED"; field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER"; field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD"; Loading core/api/test-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ package android.app { field public static final String KEY_BG_STATE_SETTLE_TIME = "bg_state_settle_time"; field public static final String KEY_FG_SERVICE_STATE_SETTLE_TIME = "fg_service_state_settle_time"; field public static final String KEY_TOP_STATE_SETTLE_TIME = "top_state_settle_time"; field public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition"; field public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source"; field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls"; field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera"; field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone"; Loading core/java/android/app/AppOpsManager.java +32 −2 Original line number Diff line number Diff line Loading @@ -1225,9 +1225,19 @@ public class AppOpsManager { /** @hide */ public static final int OP_UWB_RANGING = AppProtoEnums.APP_OP_UWB_RANGING; /** * Activity recognition being accessed by an activity recognition source, which * is a component that already has access since it is the one that detects * activity recognition. * * @hide */ public static final int OP_ACTIVITY_RECOGNITION_SOURCE = AppProtoEnums.APP_OP_ACTIVITY_RECOGNITION_SOURCE; /** @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public static final int _NUM_OP = 113; public static final int _NUM_OP = 114; /** Access to coarse location information. */ public static final String OPSTR_COARSE_LOCATION = "android:coarse_location"; Loading Loading @@ -1478,6 +1488,7 @@ public class AppOpsManager { public static final String OPSTR_USE_BIOMETRIC = "android:use_biometric"; /** @hide Recognize physical activity. */ @TestApi public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition"; /** @hide Financial app read sms. */ Loading Loading @@ -1643,6 +1654,17 @@ public class AppOpsManager { /** @hide */ public static final String OPSTR_UWB_RANGING = "android:uwb_ranging"; /** * Activity recognition being accessed by an activity recognition source, which * is a component that already has access since it is the one that detects * activity recognition. * * @hide */ @TestApi public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source"; /** {@link #sAppOpsToNote} not initialized yet for this op */ private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0; /** Should not collect noting of this app-op in {@link #sAppOpsToNote} */ Loading Loading @@ -1853,6 +1875,7 @@ public class AppOpsManager { OP_MANAGE_MEDIA, // MANAGE_MEDIA OP_BLUETOOTH_CONNECT, // OP_BLUETOOTH_CONNECT OP_UWB_RANGING, // OP_UWB_RANGING OP_ACTIVITY_RECOGNITION_SOURCE // OP_ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -1972,6 +1995,7 @@ public class AppOpsManager { OPSTR_MANAGE_MEDIA, OPSTR_BLUETOOTH_CONNECT, OPSTR_UWB_RANGING, OPSTR_ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2091,7 +2115,8 @@ public class AppOpsManager { "COARSE_LOCATION_SOURCE", "MANAGE_MEDIA", "BLUETOOTH_CONNECT", "UWB_RANGING" "UWB_RANGING", "ACTIVITY_RECOGNITION_SOURCE" }; /** Loading Loading @@ -2213,6 +2238,7 @@ public class AppOpsManager { Manifest.permission.MANAGE_MEDIA, Manifest.permission.BLUETOOTH_CONNECT, Manifest.permission.UWB_RANGING, null, // no permission for OP_ACTIVITY_RECOGNITION_SOURCE, }; /** Loading Loading @@ -2334,6 +2360,7 @@ public class AppOpsManager { null, // MANAGE_MEDIA null, // BLUETOOTH_CONNECT null, // UWB_RANGING null, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2454,6 +2481,7 @@ public class AppOpsManager { null, // MANAGE_MEDIA null, // BLUETOOTH_CONNECT null, // UWB_RANGING null // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2573,6 +2601,7 @@ public class AppOpsManager { AppOpsManager.MODE_DEFAULT, // MANAGE_MEDIA AppOpsManager.MODE_ALLOWED, // BLUETOOTH_CONNECT AppOpsManager.MODE_ALLOWED, // UWB_RANGING AppOpsManager.MODE_ALLOWED, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2696,6 +2725,7 @@ public class AppOpsManager { false, // MANAGE_MEDIA false, // BLUETOOTH_CONNECT false, // UWB_RANGING false, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading core/res/AndroidManifest.xml +9 −0 Original line number Diff line number Diff line Loading @@ -4240,6 +4240,15 @@ <permission android:name="android.permission.MANAGE_ROLE_HOLDERS" android:protectionLevel="signature|installer" /> <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role holders to otherwise non eligible holders. Only the shell is allowed to do this, the qualification for the shell role itself cannot be bypassed, and each role needs to explicitly allow bypassing qualification in its definition. The bypass state will not be persisted across reboot. @hide --> <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION" android:protectionLevel="internal|role" /> <!-- @SystemApi Allows an application to observe role holder changes. @hide --> <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" Loading core/res/res/values/config.xml +3 −1 Original line number Diff line number Diff line Loading @@ -1932,11 +1932,13 @@ <!-- The name of the package that will hold the speech recognizer role by default. --> <string name="config_systemSpeechRecognizer" translatable="false"></string> <!-- The name of the package that will hold the system Wi-Fi coex manager role. --> <string name="config_systemWifiCoexManager" translateable="false"></string> <string name="config_systemWifiCoexManager" translatable="false"></string> <!-- The name of the package that will hold the wellbeing role. --> <string name="config_systemWellbeing" translatable="false"></string> <!-- The name of the package that will hold the television notification handler role --> <string name="config_systemTelevisionNotificationHandler" translatable="false"></string> <!-- The name of the package that will hold the system activity recognizer role. --> <string name="config_systemActivityRecognizer" translatable="false"></string> <!-- The name of the package that will be allowed to change its components' label/icon. --> <string name="config_overrideComponentUiPackage" translatable="false"></string> Loading Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ package android { field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE"; field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"; field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED"; field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION"; field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED"; field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER"; field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD"; Loading
core/api/test-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ package android.app { field public static final String KEY_BG_STATE_SETTLE_TIME = "bg_state_settle_time"; field public static final String KEY_FG_SERVICE_STATE_SETTLE_TIME = "fg_service_state_settle_time"; field public static final String KEY_TOP_STATE_SETTLE_TIME = "top_state_settle_time"; field public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition"; field public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source"; field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls"; field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera"; field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone"; Loading
core/java/android/app/AppOpsManager.java +32 −2 Original line number Diff line number Diff line Loading @@ -1225,9 +1225,19 @@ public class AppOpsManager { /** @hide */ public static final int OP_UWB_RANGING = AppProtoEnums.APP_OP_UWB_RANGING; /** * Activity recognition being accessed by an activity recognition source, which * is a component that already has access since it is the one that detects * activity recognition. * * @hide */ public static final int OP_ACTIVITY_RECOGNITION_SOURCE = AppProtoEnums.APP_OP_ACTIVITY_RECOGNITION_SOURCE; /** @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public static final int _NUM_OP = 113; public static final int _NUM_OP = 114; /** Access to coarse location information. */ public static final String OPSTR_COARSE_LOCATION = "android:coarse_location"; Loading Loading @@ -1478,6 +1488,7 @@ public class AppOpsManager { public static final String OPSTR_USE_BIOMETRIC = "android:use_biometric"; /** @hide Recognize physical activity. */ @TestApi public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition"; /** @hide Financial app read sms. */ Loading Loading @@ -1643,6 +1654,17 @@ public class AppOpsManager { /** @hide */ public static final String OPSTR_UWB_RANGING = "android:uwb_ranging"; /** * Activity recognition being accessed by an activity recognition source, which * is a component that already has access since it is the one that detects * activity recognition. * * @hide */ @TestApi public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source"; /** {@link #sAppOpsToNote} not initialized yet for this op */ private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0; /** Should not collect noting of this app-op in {@link #sAppOpsToNote} */ Loading Loading @@ -1853,6 +1875,7 @@ public class AppOpsManager { OP_MANAGE_MEDIA, // MANAGE_MEDIA OP_BLUETOOTH_CONNECT, // OP_BLUETOOTH_CONNECT OP_UWB_RANGING, // OP_UWB_RANGING OP_ACTIVITY_RECOGNITION_SOURCE // OP_ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -1972,6 +1995,7 @@ public class AppOpsManager { OPSTR_MANAGE_MEDIA, OPSTR_BLUETOOTH_CONNECT, OPSTR_UWB_RANGING, OPSTR_ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2091,7 +2115,8 @@ public class AppOpsManager { "COARSE_LOCATION_SOURCE", "MANAGE_MEDIA", "BLUETOOTH_CONNECT", "UWB_RANGING" "UWB_RANGING", "ACTIVITY_RECOGNITION_SOURCE" }; /** Loading Loading @@ -2213,6 +2238,7 @@ public class AppOpsManager { Manifest.permission.MANAGE_MEDIA, Manifest.permission.BLUETOOTH_CONNECT, Manifest.permission.UWB_RANGING, null, // no permission for OP_ACTIVITY_RECOGNITION_SOURCE, }; /** Loading Loading @@ -2334,6 +2360,7 @@ public class AppOpsManager { null, // MANAGE_MEDIA null, // BLUETOOTH_CONNECT null, // UWB_RANGING null, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2454,6 +2481,7 @@ public class AppOpsManager { null, // MANAGE_MEDIA null, // BLUETOOTH_CONNECT null, // UWB_RANGING null // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2573,6 +2601,7 @@ public class AppOpsManager { AppOpsManager.MODE_DEFAULT, // MANAGE_MEDIA AppOpsManager.MODE_ALLOWED, // BLUETOOTH_CONNECT AppOpsManager.MODE_ALLOWED, // UWB_RANGING AppOpsManager.MODE_ALLOWED, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading Loading @@ -2696,6 +2725,7 @@ public class AppOpsManager { false, // MANAGE_MEDIA false, // BLUETOOTH_CONNECT false, // UWB_RANGING false, // ACTIVITY_RECOGNITION_SOURCE }; /** Loading
core/res/AndroidManifest.xml +9 −0 Original line number Diff line number Diff line Loading @@ -4240,6 +4240,15 @@ <permission android:name="android.permission.MANAGE_ROLE_HOLDERS" android:protectionLevel="signature|installer" /> <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role holders to otherwise non eligible holders. Only the shell is allowed to do this, the qualification for the shell role itself cannot be bypassed, and each role needs to explicitly allow bypassing qualification in its definition. The bypass state will not be persisted across reboot. @hide --> <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION" android:protectionLevel="internal|role" /> <!-- @SystemApi Allows an application to observe role holder changes. @hide --> <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" Loading
core/res/res/values/config.xml +3 −1 Original line number Diff line number Diff line Loading @@ -1932,11 +1932,13 @@ <!-- The name of the package that will hold the speech recognizer role by default. --> <string name="config_systemSpeechRecognizer" translatable="false"></string> <!-- The name of the package that will hold the system Wi-Fi coex manager role. --> <string name="config_systemWifiCoexManager" translateable="false"></string> <string name="config_systemWifiCoexManager" translatable="false"></string> <!-- The name of the package that will hold the wellbeing role. --> <string name="config_systemWellbeing" translatable="false"></string> <!-- The name of the package that will hold the television notification handler role --> <string name="config_systemTelevisionNotificationHandler" translatable="false"></string> <!-- The name of the package that will hold the system activity recognizer role. --> <string name="config_systemActivityRecognizer" translatable="false"></string> <!-- The name of the package that will be allowed to change its components' label/icon. --> <string name="config_overrideComponentUiPackage" translatable="false"></string> Loading