Merge "Revert "Avoid running RegisteredServicesCache tasks on main thread"" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-04-02 01:55:01 +00:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 8 deletions

View File

@@ -42,7 +42,6 @@ import android.util.Xml;
import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import libcore.io.IoUtils; import libcore.io.IoUtils;
@@ -162,20 +161,18 @@ public abstract class RegisteredServicesCache<V> {
intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addDataScheme("package"); intentFilter.addDataScheme("package");
Handler handler = BackgroundThread.getHandler(); mContext.registerReceiverAsUser(mPackageReceiver, UserHandle.ALL, intentFilter, null, null);
mContext.registerReceiverAsUser(
mPackageReceiver, UserHandle.ALL, intentFilter, null, handler);
// Register for events related to sdcard installation. // Register for events related to sdcard installation.
IntentFilter sdFilter = new IntentFilter(); IntentFilter sdFilter = new IntentFilter();
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
mContext.registerReceiver(mExternalReceiver, sdFilter, null, handler); mContext.registerReceiver(mExternalReceiver, sdFilter);
// Register for user-related events // Register for user-related events
IntentFilter userFilter = new IntentFilter(); IntentFilter userFilter = new IntentFilter();
sdFilter.addAction(Intent.ACTION_USER_REMOVED); sdFilter.addAction(Intent.ACTION_USER_REMOVED);
mContext.registerReceiver(mUserRemovedReceiver, userFilter, null, handler); mContext.registerReceiver(mUserRemovedReceiver, userFilter);
} }
private void handlePackageEvent(Intent intent, int userId) { private void handlePackageEvent(Intent intent, int userId) {
@@ -268,7 +265,7 @@ public abstract class RegisteredServicesCache<V> {
public void setListener(RegisteredServicesCacheListener<V> listener, Handler handler) { public void setListener(RegisteredServicesCacheListener<V> listener, Handler handler) {
if (handler == null) { if (handler == null) {
handler = BackgroundThread.getHandler(); handler = new Handler(mContext.getMainLooper());
} }
synchronized (this) { synchronized (this) {
mHandler = handler; mHandler = handler;

View File

@@ -279,7 +279,7 @@ public class AccountManagerService
mAppOpsManager = mContext.getSystemService(AppOpsManager.class); mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
mHandler = new MessageHandler(injector.getMessageHandlerLooper()); mHandler = new MessageHandler(injector.getMessageHandlerLooper());
mAuthenticatorCache = mInjector.getAccountAuthenticatorCache(); mAuthenticatorCache = mInjector.getAccountAuthenticatorCache();
mAuthenticatorCache.setListener(this, mHandler); mAuthenticatorCache.setListener(this, null /* Handler */);
sThis.set(this); sThis.set(this);