diff options
author | Hai Zhang <zhanghai@google.com> | 2019-07-29 17:38:26 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-07-29 17:38:26 -0700 |
commit | 1f748546449f810ca3a9ae49a71ca8f7efd6ed6c (patch) | |
tree | db0a8e6ab4df96ebd12f345aea384fc4a71185cc | |
parent | 976d785a3235315f11b689cd1acf7a99f97a73a3 (diff) | |
parent | 8465ba736713fcc3f43ab8eede21bae5f207ded5 (diff) | |
download | android_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.java | 18 |
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(); }); |