Merge "Add executor to onUpdateUserSensitiveFlags" into rvc-dev am: 045181d7f8

Change-Id: I45a9638e62151ff0e21caf3bb171f88de72c1d20
This commit is contained in:
TreeHugger Robot
2020-03-19 00:18:47 +00:00
committed by Automerger Merge Worker
2 changed files with 16 additions and 1 deletions

View File

@@ -8892,6 +8892,7 @@ package android.permission {
method @BinderThread public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull String, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.util.List<java.lang.String>>>);
method @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
}

View File

@@ -58,6 +58,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.function.Consumer;
import java.util.function.IntConsumer;
@@ -214,6 +215,7 @@ public abstract class PermissionControllerService extends Service {
@BinderThread
public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable callback);
/**
* Called by system to update the
* {@link PackageManager}{@code .FLAG_PERMISSION_USER_SENSITIVE_WHEN_*} flags for permissions.
@@ -223,10 +225,22 @@ public abstract class PermissionControllerService extends Service {
*
* Typically called by the system when a new app is installed or updated or when creating a
* new user or upgrading either system or permission controller package.
*
* The callback will be executed by the provided Executor.
*/
@BinderThread
public void onUpdateUserSensitivePermissionFlags(int uid, @NonNull Executor executor,
@NonNull Runnable callback) {
throw new AbstractMethodError("Must be overridden in implementing class");
}
/**
* Runs {@link #onUpdateUserSensitivePermissionFlags(int, Executor, Runnable)} with the main
* executor.
*/
@BinderThread
public void onUpdateUserSensitivePermissionFlags(int uid, @NonNull Runnable callback) {
throw new AbstractMethodError("Must be overridden in implementing class");
onUpdateUserSensitivePermissionFlags(uid, getMainExecutor(), callback);
}
/**