summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHai Zhang <zhanghai@google.com>2019-07-29 17:38:26 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-29 17:38:26 -0700
commit1f748546449f810ca3a9ae49a71ca8f7efd6ed6c (patch)
treedb0a8e6ab4df96ebd12f345aea384fc4a71185cc
parent976d785a3235315f11b689cd1acf7a99f97a73a3 (diff)
parent8465ba736713fcc3f43ab8eede21bae5f207ded5 (diff)
downloadandroid_packages_apps_PackageInstaller-1f748546449f810ca3a9ae49a71ca8f7efd6ed6c.tar.gz
android_packages_apps_PackageInstaller-1f748546449f810ca3a9ae49a71ca8f7efd6ed6c.tar.bz2
android_packages_apps_PackageInstaller-1f748546449f810ca3a9ae49a71ca8f7efd6ed6c.zip
Use serial executor for permission operations.
am: 8465ba7367 Change-Id: I58c423a5c09d16f261d691e3fdb19b3a4c83e466
-rw-r--r--src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java b/src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java
index 6427ba36..d846ce09 100644
--- a/src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java
+++ b/src/com/android/packageinstaller/permission/service/PermissionControllerServiceImpl.java
@@ -67,9 +67,8 @@ import java.util.function.IntConsumer;
/**
* Calls from the system into the permission controller.
*
- * All methods are called async beside the backup related method. For these we force to use the
- * async-task single thread executor so that multiple parallel backups don't override the delayed
- * the backup state racily.
+ * All reading methods are called async, and all writing method are called on the AsyncTask single
+ * thread executor so that multiple writes won't override each other concurrently.
*/
public final class PermissionControllerServiceImpl extends PermissionControllerService {
private static final String LOG_TAG = PermissionControllerServiceImpl.class.getSimpleName();
@@ -210,8 +209,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS
public void onRevokeRuntimePermissions(@NonNull Map<String, List<String>> request,
boolean doDryRun, int reason, @NonNull String callerPackageName,
@NonNull Consumer<Map<String, List<String>>> callback) {
- AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept(
- onRevokeRuntimePermissions(request, doDryRun, reason, callerPackageName)));
+ AsyncTask.execute(() -> callback.accept(onRevokeRuntimePermissions(request, doDryRun,
+ reason, callerPackageName)));
}
private @NonNull Map<String, List<String>> onRevokeRuntimePermissions(
@@ -403,7 +402,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS
@Override
public void onRevokeRuntimePermission(@NonNull String packageName,
@NonNull String permissionName, @NonNull Runnable callback) {
- AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> {
+ AsyncTask.execute(() -> {
onRevokeRuntimePermission(packageName, permissionName);
callback.run();
});
@@ -503,9 +502,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS
public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName,
@NonNull String packageName, @NonNull String unexpandedPermission, int grantState,
@NonNull Consumer<Boolean> callback) {
- AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> callback.accept(
- onSetRuntimePermissionGrantStateByDeviceAdmin(callerPackageName, packageName,
- unexpandedPermission, grantState)));
+ AsyncTask.execute(() -> callback.accept(onSetRuntimePermissionGrantStateByDeviceAdmin(
+ callerPackageName, packageName, unexpandedPermission, grantState)));
}
private boolean onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName,
@@ -568,7 +566,7 @@ public final class PermissionControllerServiceImpl extends PermissionControllerS
@Override
public void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable callback) {
- AsyncTask.THREAD_POOL_EXECUTOR.execute(() -> {
+ AsyncTask.execute(() -> {
onGrantOrUpgradeDefaultRuntimePermissions();
callback.run();
});