From 22ce5e5d83e619837fe7db7bba8380b656a73805 Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Thu, 18 Apr 2019 12:08:30 +0800 Subject: [PATCH] Run performInitialGrantsIfNecessaryAsync() on main thread. performInitialGrantsIfNecessaryAsync() is already made asynchronous, so it is no longer necessary to post it to a thread pool. After this change both this method and onRemoveUser() can run on the main thread, so that we won't run into a race condition with a destroyed user state. Bug: 130738316 Test: presubmit Change-Id: I9f6e4d9badddf5396c5a9aee683b67739c82884a --- .../core/java/com/android/server/role/RoleManagerService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/role/RoleManagerService.java b/services/core/java/com/android/server/role/RoleManagerService.java index 654c47780f4a2..0e20905db32aa 100644 --- a/services/core/java/com/android/server/role/RoleManagerService.java +++ b/services/core/java/com/android/server/role/RoleManagerService.java @@ -39,7 +39,6 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManagerInternal; import android.content.pm.Signature; import android.database.CursorWindow; -import android.os.AsyncTask; import android.os.Binder; import android.os.Bundle; import android.os.Handler; @@ -201,8 +200,7 @@ public class RoleManagerService extends SystemService implements RoleUserState.C // Package is being upgraded - we're about to get ACTION_PACKAGE_ADDED return; } - AsyncTask.THREAD_POOL_EXECUTOR.execute( - () -> performInitialGrantsIfNecessaryAsync(userId)); + performInitialGrantsIfNecessaryAsync(userId); } }, UserHandle.ALL, intentFilter, null, null); }