Loading core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -12537,6 +12537,7 @@ package android.content.pm { method public abstract int getComponentEnabledSetting(@NonNull android.content.ComponentName); method @NonNull public abstract android.graphics.drawable.Drawable getDefaultActivityIcon(); method @Nullable public abstract android.graphics.drawable.Drawable getDrawable(@NonNull String, @DrawableRes int, @Nullable android.content.pm.ApplicationInfo); method public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>); method @NonNull public android.content.pm.InstallSourceInfo getInstallSourceInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int); method @NonNull public java.util.List<android.content.pm.ModuleInfo> getInstalledModules(int); Loading @@ -12561,6 +12562,7 @@ package android.content.pm { method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(@NonNull String[], int); method @NonNull public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException; method public abstract android.content.pm.PermissionInfo getPermissionInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException; method public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>); method @Deprecated public abstract int getPreferredActivities(@NonNull java.util.List<android.content.IntentFilter>, @NonNull java.util.List<android.content.ComponentName>, @Nullable String); method @Deprecated @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int); method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; core/api/system-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ package android { field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS"; field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"; field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS"; field public static final String GET_RUNTIME_PERMISSION_GROUP_MAPPING = "android.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING"; field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO"; field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"; field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS"; Loading Loading @@ -8847,8 +8846,6 @@ package android.permission { public final class PermissionControllerManager { method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void applyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>); method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull java.util.concurrent.Executor, @NonNull android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback); method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle); core/java/android/app/ApplicationPackageManager.java +23 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.content.pm.Checksum.TYPE_WHOLE_SHA1; import static android.content.pm.Checksum.TYPE_WHOLE_SHA256; import static android.content.pm.Checksum.TYPE_WHOLE_SHA512; import android.annotation.CallbackExecutor; import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -103,6 +104,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.permission.PermissionControllerManager; import android.permission.PermissionManager; import android.provider.Settings; import android.system.ErrnoException; Loading Loading @@ -137,6 +139,8 @@ import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; import java.util.concurrent.Executor; import java.util.function.Consumer; /** @hide */ public class ApplicationPackageManager extends PackageManager { Loading Loading @@ -400,6 +404,25 @@ public class ApplicationPackageManager extends PackageManager { return permissionInfos; } @Override public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) { final PermissionControllerManager permissionControllerManager = mContext.getSystemService( PermissionControllerManager.class); permissionControllerManager.getPlatformPermissionsForGroup(permissionGroupName, executor, callback); } @Override public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) { final PermissionControllerManager permissionControllerManager = mContext.getSystemService( PermissionControllerManager.class); permissionControllerManager.getGroupOfPlatformPermission(permissionName, executor, callback); } @Override public boolean arePermissionsIndividuallyControlled() { return mContext.getResources().getBoolean( Loading core/java/android/content/pm/PackageManager.java +29 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.content.pm; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.CheckResult; import android.annotation.DrawableRes; import android.annotation.IntDef; Loading Loading @@ -95,6 +96,8 @@ import java.util.Locale; import java.util.Objects; import java.util.Set; import java.util.UUID; import java.util.concurrent.Executor; import java.util.function.Consumer; /** * Class for retrieving various kinds of information related to the application Loading Loading @@ -4668,6 +4671,32 @@ public abstract class PackageManager { public abstract List<PermissionGroupInfo> getAllPermissionGroups( @PermissionGroupInfoFlags int flags); /** * Get the platform permissions which belong to a particular permission group. * * @param permissionGroupName The permission group whose permissions are desired * @param executor Executor on which to invoke the callback * @param callback A callback which will receive a list of the platform permissions in the * group, or empty if the group is not a valid platform group, or there * was an exception. */ public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) {} /** * Get the platform group of a particular permission, if the permission is a platform * permission. * * @param permissionName The permission name whose group is desired * @param executor Executor on which to invoke the callback * @param callback A callback which will receive the name of the permission group this * permission belongs to, or null if it has no group, is not a platform * permission, or there was an exception. */ public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) {} /** * Retrieve all of the information we know about a particular * package/application. Loading core/java/android/permission/PermissionControllerManager.java +4 −6 Original line number Diff line number Diff line Loading @@ -729,13 +729,12 @@ public final class PermissionControllerManager { * @param callback A callback which will receive a list of the platform permissions in the * group, or empty if the group is not a valid platform group, or there * was an exception. * * @hide */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) { enforceSomePermissionsGrantedToSelf( Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING); mRemoteService.postAsync(service -> { AndroidFuture<List<String>> future = new AndroidFuture<>(); service.getPlatformPermissionsForGroup(permissionGroupName, future); Loading Loading @@ -764,12 +763,11 @@ public final class PermissionControllerManager { * @param callback A callback which will receive the name of the permission group this * permission belongs to, or null if it has no group, is not a platform * permission, or there was an exception. * * @hide */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) { enforceSomePermissionsGrantedToSelf( Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING); mRemoteService.postAsync(service -> { AndroidFuture<String> future = new AndroidFuture<>(); service.getGroupOfPlatformPermission(permissionName, future); Loading Loading
core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -12537,6 +12537,7 @@ package android.content.pm { method public abstract int getComponentEnabledSetting(@NonNull android.content.ComponentName); method @NonNull public abstract android.graphics.drawable.Drawable getDefaultActivityIcon(); method @Nullable public abstract android.graphics.drawable.Drawable getDrawable(@NonNull String, @DrawableRes int, @Nullable android.content.pm.ApplicationInfo); method public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>); method @NonNull public android.content.pm.InstallSourceInfo getInstallSourceInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int); method @NonNull public java.util.List<android.content.pm.ModuleInfo> getInstalledModules(int); Loading @@ -12561,6 +12562,7 @@ package android.content.pm { method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(@NonNull String[], int); method @NonNull public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException; method public abstract android.content.pm.PermissionInfo getPermissionInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException; method public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>); method @Deprecated public abstract int getPreferredActivities(@NonNull java.util.List<android.content.IntentFilter>, @NonNull java.util.List<android.content.ComponentName>, @Nullable String); method @Deprecated @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int); method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
core/api/system-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ package android { field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS"; field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"; field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS"; field public static final String GET_RUNTIME_PERMISSION_GROUP_MAPPING = "android.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING"; field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO"; field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"; field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS"; Loading Loading @@ -8847,8 +8846,6 @@ package android.permission { public final class PermissionControllerManager { method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void applyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>); method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>); method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull java.util.concurrent.Executor, @NonNull android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback); method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
core/java/android/app/ApplicationPackageManager.java +23 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.content.pm.Checksum.TYPE_WHOLE_SHA1; import static android.content.pm.Checksum.TYPE_WHOLE_SHA256; import static android.content.pm.Checksum.TYPE_WHOLE_SHA512; import android.annotation.CallbackExecutor; import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -103,6 +104,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.permission.PermissionControllerManager; import android.permission.PermissionManager; import android.provider.Settings; import android.system.ErrnoException; Loading Loading @@ -137,6 +139,8 @@ import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; import java.util.concurrent.Executor; import java.util.function.Consumer; /** @hide */ public class ApplicationPackageManager extends PackageManager { Loading Loading @@ -400,6 +404,25 @@ public class ApplicationPackageManager extends PackageManager { return permissionInfos; } @Override public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) { final PermissionControllerManager permissionControllerManager = mContext.getSystemService( PermissionControllerManager.class); permissionControllerManager.getPlatformPermissionsForGroup(permissionGroupName, executor, callback); } @Override public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) { final PermissionControllerManager permissionControllerManager = mContext.getSystemService( PermissionControllerManager.class); permissionControllerManager.getGroupOfPlatformPermission(permissionName, executor, callback); } @Override public boolean arePermissionsIndividuallyControlled() { return mContext.getResources().getBoolean( Loading
core/java/android/content/pm/PackageManager.java +29 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.content.pm; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.CheckResult; import android.annotation.DrawableRes; import android.annotation.IntDef; Loading Loading @@ -95,6 +96,8 @@ import java.util.Locale; import java.util.Objects; import java.util.Set; import java.util.UUID; import java.util.concurrent.Executor; import java.util.function.Consumer; /** * Class for retrieving various kinds of information related to the application Loading Loading @@ -4668,6 +4671,32 @@ public abstract class PackageManager { public abstract List<PermissionGroupInfo> getAllPermissionGroups( @PermissionGroupInfoFlags int flags); /** * Get the platform permissions which belong to a particular permission group. * * @param permissionGroupName The permission group whose permissions are desired * @param executor Executor on which to invoke the callback * @param callback A callback which will receive a list of the platform permissions in the * group, or empty if the group is not a valid platform group, or there * was an exception. */ public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) {} /** * Get the platform group of a particular permission, if the permission is a platform * permission. * * @param permissionName The permission name whose group is desired * @param executor Executor on which to invoke the callback * @param callback A callback which will receive the name of the permission group this * permission belongs to, or null if it has no group, is not a platform * permission, or there was an exception. */ public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) {} /** * Retrieve all of the information we know about a particular * package/application. Loading
core/java/android/permission/PermissionControllerManager.java +4 −6 Original line number Diff line number Diff line Loading @@ -729,13 +729,12 @@ public final class PermissionControllerManager { * @param callback A callback which will receive a list of the platform permissions in the * group, or empty if the group is not a valid platform group, or there * was an exception. * * @hide */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getPlatformPermissionsForGroup(@NonNull String permissionGroupName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) { enforceSomePermissionsGrantedToSelf( Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING); mRemoteService.postAsync(service -> { AndroidFuture<List<String>> future = new AndroidFuture<>(); service.getPlatformPermissionsForGroup(permissionGroupName, future); Loading Loading @@ -764,12 +763,11 @@ public final class PermissionControllerManager { * @param callback A callback which will receive the name of the permission group this * permission belongs to, or null if it has no group, is not a platform * permission, or there was an exception. * * @hide */ @RequiresPermission(Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING) public void getGroupOfPlatformPermission(@NonNull String permissionName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<String> callback) { enforceSomePermissionsGrantedToSelf( Manifest.permission.GET_RUNTIME_PERMISSION_GROUP_MAPPING); mRemoteService.postAsync(service -> { AndroidFuture<String> future = new AndroidFuture<>(); service.getGroupOfPlatformPermission(permissionName, future); Loading