diff --git a/core/api/current.txt b/core/api/current.txt index 18b956ba57abb..c175d9750fe8a 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -10935,10 +10935,10 @@ package android.content { method @Nullable public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int); method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void removeStickyBroadcast(@RequiresPermission android.content.Intent); method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void removeStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle); + method public void revokeOwnPermissionOnKill(@NonNull String); + method public void revokeOwnPermissionsOnKill(@NonNull java.util.Collection); method public abstract void revokeUriPermission(android.net.Uri, int); method public abstract void revokeUriPermission(String, android.net.Uri, int); - method public void selfRevokePermission(@NonNull String); - method public void selfRevokePermissions(@NonNull java.util.Collection); method public abstract void sendBroadcast(@RequiresPermission android.content.Intent); method public abstract void sendBroadcast(@RequiresPermission android.content.Intent, @Nullable String); method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle); diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 465c1f82ead0e..4b753ba822d87 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -9697,9 +9697,9 @@ package android.permission { method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String); method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer); method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable); + method @BinderThread public void onRevokeOwnPermissionsOnKill(@NonNull String, @NonNull java.util.List, @NonNull Runnable); method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable); method @BinderThread public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map>, boolean, int, @NonNull String, @NonNull java.util.function.Consumer>>); - method @BinderThread public void onSelfRevokePermissions(@NonNull String, @NonNull java.util.List, @NonNull Runnable); method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer); method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer); method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable); diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index fa48730d49501..f3315a8dc089e 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -2179,8 +2179,8 @@ class ContextImpl extends Context { } @Override - public void selfRevokePermissions(@NonNull Collection permissions) { - getSystemService(PermissionManager.class).selfRevokePermissions(permissions); + public void revokeOwnPermissionsOnKill(@NonNull Collection permissions) { + getSystemService(PermissionManager.class).revokeOwnPermissionsOnKill(permissions); } @Override diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 2309fb636d44d..ebc9ca855fc96 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -6417,10 +6417,10 @@ public abstract class Context { * Triggers the asynchronous revocation of a permission. * * @param permName The name of the permission to be revoked. - * @see #selfRevokePermissions(Collection) + * @see #revokeOwnPermissionsOnKill(Collection) */ - public void selfRevokePermission(@NonNull String permName) { - selfRevokePermissions(Collections.singletonList(permName)); + public void revokeOwnPermissionOnKill(@NonNull String permName) { + revokeOwnPermissionsOnKill(Collections.singletonList(permName)); } /** @@ -6445,7 +6445,7 @@ public abstract class Context { * @see PackageManager#getGroupOfPlatformPermission(String, Executor, Consumer) * @see PackageManager#getPlatformPermissionsForGroup(String, Executor, Consumer) */ - public void selfRevokePermissions(@NonNull Collection permissions) { + public void revokeOwnPermissionsOnKill(@NonNull Collection permissions) { throw new AbstractMethodError("Must be overridden in implementing class"); } diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java index 805e499bba465..6ae768a44078a 100644 --- a/core/java/android/content/ContextWrapper.java +++ b/core/java/android/content/ContextWrapper.java @@ -1016,8 +1016,8 @@ public class ContextWrapper extends Context { } @Override - public void selfRevokePermissions(@NonNull Collection permissions) { - mBase.selfRevokePermissions(permissions); + public void revokeOwnPermissionsOnKill(@NonNull Collection permissions) { + mBase.revokeOwnPermissionsOnKill(permissions); } @Override diff --git a/core/java/android/permission/IPermissionController.aidl b/core/java/android/permission/IPermissionController.aidl index 5814bac06f597..0894e372efc2e 100644 --- a/core/java/android/permission/IPermissionController.aidl +++ b/core/java/android/permission/IPermissionController.aidl @@ -56,6 +56,6 @@ oneway interface IPermissionController { in AndroidFuture callback); void getUnusedAppCount( in AndroidFuture callback); - void selfRevokePermissions(in String packageName, in List permissions, + void revokeOwnPermissionsOnKill(in String packageName, in List permissions, in AndroidFuture callback); } diff --git a/core/java/android/permission/IPermissionManager.aidl b/core/java/android/permission/IPermissionManager.aidl index 8e5581b1b80e4..1c0320e9a86e6 100644 --- a/core/java/android/permission/IPermissionManager.aidl +++ b/core/java/android/permission/IPermissionManager.aidl @@ -76,7 +76,7 @@ interface IPermissionManager { List getSplitPermissions(); - void selfRevokePermissions(String packageName, in List permissions); + void revokeOwnPermissionsOnKill(String packageName, in List permissions); void startOneTimePermissionSession(String packageName, int userId, long timeout, int importanceToResetTimer, int importanceToKeepSessionAlive); diff --git a/core/java/android/permission/PermissionControllerManager.java b/core/java/android/permission/PermissionControllerManager.java index 47cd10765da02..8733ac44af98b 100644 --- a/core/java/android/permission/PermissionControllerManager.java +++ b/core/java/android/permission/PermissionControllerManager.java @@ -836,15 +836,15 @@ public final class PermissionControllerManager { * @param packageName The name of the package for which the permissions will be revoked. * @param permissions List of permissions to be revoked. * - * @see Context#selfRevokePermissions(Collection) + * @see Context#revokeOwnPermissionsOnKill(Collection) * * @hide */ - public void selfRevokePermissions(@NonNull String packageName, + public void revokeOwnPermissionsOnKill(@NonNull String packageName, @NonNull List permissions) { mRemoteService.postAsync(service -> { AndroidFuture future = new AndroidFuture<>(); - service.selfRevokePermissions(packageName, permissions, future); + service.revokeOwnPermissionsOnKill(packageName, permissions, future); return future; }).whenComplete((result, err) -> { if (err != null) { diff --git a/core/java/android/permission/PermissionControllerService.java b/core/java/android/permission/PermissionControllerService.java index dcbab62530b1d..b1e3cfc161dea 100644 --- a/core/java/android/permission/PermissionControllerService.java +++ b/core/java/android/permission/PermissionControllerService.java @@ -337,10 +337,10 @@ public abstract class PermissionControllerService extends Service { * @param permissions List of permissions to be revoked. * @param callback Callback waiting for operation to be complete. * - * @see PermissionManager#selfRevokePermissions(java.util.Collection) + * @see PermissionManager#revokeOwnPermissionsOnKill(java.util.Collection) */ @BinderThread - public void onSelfRevokePermissions(@NonNull String packageName, + public void onRevokeOwnPermissionsOnKill(@NonNull String packageName, @NonNull List permissions, @NonNull Runnable callback) { throw new AbstractMethodError("Must be overridden in implementing class"); } @@ -669,13 +669,13 @@ public abstract class PermissionControllerService extends Service { } @Override - public void selfRevokePermissions(@NonNull String packageName, + public void revokeOwnPermissionsOnKill(@NonNull String packageName, @NonNull List permissions, @NonNull AndroidFuture callback) { try { enforceSomePermissionsGrantedToCaller( Manifest.permission.REVOKE_RUNTIME_PERMISSIONS); Objects.requireNonNull(callback); - onSelfRevokePermissions(packageName, permissions, + onRevokeOwnPermissionsOnKill(packageName, permissions, () -> callback.complete(null)); } catch (Throwable t) { callback.completeExceptionally(t); diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java index 13941dc5ef823..e4aee76192502 100644 --- a/core/java/android/permission/PermissionManager.java +++ b/core/java/android/permission/PermissionManager.java @@ -562,12 +562,12 @@ public final class PermissionManager { } /** - * @see Context#selfRevokePermissions(Collection) + * @see Context#revokeOwnPermissionsOnKill(Collection) * @hide */ - public void selfRevokePermissions(@NonNull Collection permissions) { + public void revokeOwnPermissionsOnKill(@NonNull Collection permissions) { try { - mPermissionManager.selfRevokePermissions(mContext.getPackageName(), + mPermissionManager.revokeOwnPermissionsOnKill(mContext.getPackageName(), new ArrayList(permissions)); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 1cfcdf51f5b8c..8e16835f8b62b 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -558,9 +558,9 @@ public class PermissionManagerService extends IPermissionManager.Stub { } @Override - public void selfRevokePermissions(@NonNull String packageName, + public void revokeOwnPermissionsOnKill(@NonNull String packageName, @NonNull List permissions) { - mPermissionManagerServiceImpl.selfRevokePermissions(packageName, permissions); + mPermissionManagerServiceImpl.revokeOwnPermissionsOnKill(packageName, permissions); } @Override diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java index 981fd8e9e789e..c465038290806 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -1592,7 +1592,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } @Override - public void selfRevokePermissions(String packageName, List permissions) { + public void revokeOwnPermissionsOnKill(String packageName, List permissions) { final int callingUid = Binder.getCallingUid(); int callingUserId = UserHandle.getUserId(callingUid); int targetPackageUid = mPackageManagerInt.getPackageUid(packageName, 0, callingUserId); @@ -1607,7 +1607,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt + permName + " because it does not hold that permission"); } } - mPermissionControllerManager.selfRevokePermissions(packageName, permissions); + mPermissionControllerManager.revokeOwnPermissionsOnKill(packageName, permissions); } private boolean mayManageRolePermission(int uid) { diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java index c582f9efa7a00..b558e3dee6233 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java @@ -344,7 +344,7 @@ public interface PermissionManagerServiceInterface extends PermissionManagerInte * @param packageName The name of the package for which the permissions will be revoked. * @param permissions List of permissions to be revoked. */ - void selfRevokePermissions(String packageName, List permissions); + void revokeOwnPermissionsOnKill(String packageName, List permissions); /** * Get whether you should show UI with rationale for requesting a permission. You should do this