Loading api/system-current.txt +3 −2 Original line number Original line Diff line number Diff line Loading @@ -111,6 +111,7 @@ package android { field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS"; field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS"; field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING"; field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING"; 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_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"; field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS"; field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY"; field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY"; Loading Loading @@ -7247,8 +7248,8 @@ package android.permission { method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(allOf={android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void startOneTimePermissionSession(@NonNull String, long, int, int); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int); method @RequiresPermission(allOf={android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void stopOneTimePermissionSession(@NonNull String); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String); } } public static final class PermissionManager.SplitPermissionInfo { public static final class PermissionManager.SplitPermissionInfo { Loading core/java/android/permission/PermissionManager.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -318,8 +318,7 @@ public final class PermissionManager { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(allOf = {Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, @RequiresPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) Manifest.permission.PACKAGE_USAGE_STATS}) public void startOneTimePermissionSession(@NonNull String packageName, long timeoutMillis, public void startOneTimePermissionSession(@NonNull String packageName, long timeoutMillis, @ActivityManager.RunningAppProcessInfo.Importance int importanceToResetTimer, @ActivityManager.RunningAppProcessInfo.Importance int importanceToResetTimer, @ActivityManager.RunningAppProcessInfo.Importance int importanceToKeepSessionAlive) { @ActivityManager.RunningAppProcessInfo.Importance int importanceToKeepSessionAlive) { Loading @@ -340,8 +339,7 @@ public final class PermissionManager { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(allOf = {Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, @RequiresPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) Manifest.permission.PACKAGE_USAGE_STATS}) public void stopOneTimePermissionSession(@NonNull String packageName) { public void stopOneTimePermissionSession(@NonNull String packageName) { try { try { mPermissionManager.stopOneTimePermissionSession(packageName, mPermissionManager.stopOneTimePermissionSession(packageName, Loading core/res/AndroidManifest.xml +5 −0 Original line number Original line Diff line number Diff line Loading @@ -3591,6 +3591,11 @@ <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" android:protectionLevel="signature|privileged" /> android:protectionLevel="signature|privileged" /> <!-- @SystemApi Allows an application to start and stop one time permission sessions @hide --> <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS" android:protectionLevel="signature|installer" /> <!-- @SystemApi Allows an application to manage the holders of a role. <!-- @SystemApi Allows an application to manage the holders of a role. @hide @hide STOPSHIP b/145526313: Remove wellbeing protection flag from MANAGE_ROLE_HOLDERS. --> STOPSHIP b/145526313: Remove wellbeing protection flag from MANAGE_ROLE_HOLDERS. --> Loading data/etc/privapp-permissions-platform.xml +0 −1 Original line number Original line Diff line number Diff line Loading @@ -130,7 +130,6 @@ applications that come with the platform <permission name="android.permission.APPROVE_INCIDENT_REPORTS"/> <permission name="android.permission.APPROVE_INCIDENT_REPORTS"/> <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <permission name="android.permission.PACKAGE_USAGE_STATS" /> </privapp-permissions> </privapp-permissions> <privapp-permissions package="com.android.phone"> <privapp-permissions package="com.android.phone"> Loading services/core/java/com/android/server/pm/permission/PermissionManagerService.java +6 −8 Original line number Original line Diff line number Diff line Loading @@ -3025,10 +3025,9 @@ public class PermissionManagerService extends IPermissionManager.Stub { @Override @Override public void startOneTimePermissionSession(String packageName, @UserIdInt int userId, public void startOneTimePermissionSession(String packageName, @UserIdInt int userId, long timeoutMillis, int importanceToResetTimer, int importanceToKeepSessionAlive) { long timeoutMillis, int importanceToResetTimer, int importanceToKeepSessionAlive) { mContext.enforceCallingPermission(Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, mContext.enforceCallingPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, "Must be able to revoke runtime permissions to register permissions as one time."); "Must hold " + Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS mContext.enforceCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS, + " to register permissions as one time."); "Must be able to access usage stats to register permissions as one time."); packageName = Preconditions.checkNotNull(packageName); packageName = Preconditions.checkNotNull(packageName); long token = Binder.clearCallingIdentity(); long token = Binder.clearCallingIdentity(); Loading @@ -3042,10 +3041,9 @@ public class PermissionManagerService extends IPermissionManager.Stub { @Override @Override public void stopOneTimePermissionSession(String packageName, @UserIdInt int userId) { public void stopOneTimePermissionSession(String packageName, @UserIdInt int userId) { mContext.enforceCallingPermission(Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, mContext.enforceCallingPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, "Must be able to revoke runtime permissions to remove permissions as one time."); "Must hold " + Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS mContext.enforceCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS, + " to remove permissions as one time."); "Must be able to access usage stats to remove permissions as one time."); Preconditions.checkNotNull(packageName); Preconditions.checkNotNull(packageName); long token = Binder.clearCallingIdentity(); long token = Binder.clearCallingIdentity(); Loading Loading
api/system-current.txt +3 −2 Original line number Original line Diff line number Diff line Loading @@ -111,6 +111,7 @@ package android { field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS"; field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS"; field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING"; field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING"; 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_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"; field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS"; field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY"; field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY"; Loading Loading @@ -7247,8 +7248,8 @@ package android.permission { method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(allOf={android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void startOneTimePermissionSession(@NonNull String, long, int, int); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int); method @RequiresPermission(allOf={android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void stopOneTimePermissionSession(@NonNull String); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String); } } public static final class PermissionManager.SplitPermissionInfo { public static final class PermissionManager.SplitPermissionInfo { Loading
core/java/android/permission/PermissionManager.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -318,8 +318,7 @@ public final class PermissionManager { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(allOf = {Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, @RequiresPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) Manifest.permission.PACKAGE_USAGE_STATS}) public void startOneTimePermissionSession(@NonNull String packageName, long timeoutMillis, public void startOneTimePermissionSession(@NonNull String packageName, long timeoutMillis, @ActivityManager.RunningAppProcessInfo.Importance int importanceToResetTimer, @ActivityManager.RunningAppProcessInfo.Importance int importanceToResetTimer, @ActivityManager.RunningAppProcessInfo.Importance int importanceToKeepSessionAlive) { @ActivityManager.RunningAppProcessInfo.Importance int importanceToKeepSessionAlive) { Loading @@ -340,8 +339,7 @@ public final class PermissionManager { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(allOf = {Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, @RequiresPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) Manifest.permission.PACKAGE_USAGE_STATS}) public void stopOneTimePermissionSession(@NonNull String packageName) { public void stopOneTimePermissionSession(@NonNull String packageName) { try { try { mPermissionManager.stopOneTimePermissionSession(packageName, mPermissionManager.stopOneTimePermissionSession(packageName, Loading
core/res/AndroidManifest.xml +5 −0 Original line number Original line Diff line number Diff line Loading @@ -3591,6 +3591,11 @@ <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" android:protectionLevel="signature|privileged" /> android:protectionLevel="signature|privileged" /> <!-- @SystemApi Allows an application to start and stop one time permission sessions @hide --> <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS" android:protectionLevel="signature|installer" /> <!-- @SystemApi Allows an application to manage the holders of a role. <!-- @SystemApi Allows an application to manage the holders of a role. @hide @hide STOPSHIP b/145526313: Remove wellbeing protection flag from MANAGE_ROLE_HOLDERS. --> STOPSHIP b/145526313: Remove wellbeing protection flag from MANAGE_ROLE_HOLDERS. --> Loading
data/etc/privapp-permissions-platform.xml +0 −1 Original line number Original line Diff line number Diff line Loading @@ -130,7 +130,6 @@ applications that come with the platform <permission name="android.permission.APPROVE_INCIDENT_REPORTS"/> <permission name="android.permission.APPROVE_INCIDENT_REPORTS"/> <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <permission name="android.permission.PACKAGE_USAGE_STATS" /> </privapp-permissions> </privapp-permissions> <privapp-permissions package="com.android.phone"> <privapp-permissions package="com.android.phone"> Loading
services/core/java/com/android/server/pm/permission/PermissionManagerService.java +6 −8 Original line number Original line Diff line number Diff line Loading @@ -3025,10 +3025,9 @@ public class PermissionManagerService extends IPermissionManager.Stub { @Override @Override public void startOneTimePermissionSession(String packageName, @UserIdInt int userId, public void startOneTimePermissionSession(String packageName, @UserIdInt int userId, long timeoutMillis, int importanceToResetTimer, int importanceToKeepSessionAlive) { long timeoutMillis, int importanceToResetTimer, int importanceToKeepSessionAlive) { mContext.enforceCallingPermission(Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, mContext.enforceCallingPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, "Must be able to revoke runtime permissions to register permissions as one time."); "Must hold " + Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS mContext.enforceCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS, + " to register permissions as one time."); "Must be able to access usage stats to register permissions as one time."); packageName = Preconditions.checkNotNull(packageName); packageName = Preconditions.checkNotNull(packageName); long token = Binder.clearCallingIdentity(); long token = Binder.clearCallingIdentity(); Loading @@ -3042,10 +3041,9 @@ public class PermissionManagerService extends IPermissionManager.Stub { @Override @Override public void stopOneTimePermissionSession(String packageName, @UserIdInt int userId) { public void stopOneTimePermissionSession(String packageName, @UserIdInt int userId) { mContext.enforceCallingPermission(Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, mContext.enforceCallingPermission(Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, "Must be able to revoke runtime permissions to remove permissions as one time."); "Must hold " + Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS mContext.enforceCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS, + " to remove permissions as one time."); "Must be able to access usage stats to remove permissions as one time."); Preconditions.checkNotNull(packageName); Preconditions.checkNotNull(packageName); long token = Binder.clearCallingIdentity(); long token = Binder.clearCallingIdentity(); Loading