Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8efb53f8 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Revert "Revert "Avoid running RegisteredServicesCache tasks on main...

Merge "Revert "Revert "Avoid running RegisteredServicesCache tasks on main thread""" into sc-dev am: 72a949ba

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14103078

Change-Id: Ic9e9950bb935eee29dc3ad075cf8004bd8bc49ee
parents e2d4221a 72a949ba
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ 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;
@@ -161,18 +162,20 @@ 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");
        mContext.registerReceiverAsUser(mPackageReceiver, UserHandle.ALL, intentFilter, null, null);
        Handler handler = BackgroundThread.getHandler();
        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);
        mContext.registerReceiver(mExternalReceiver, sdFilter, null, handler);


        // 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);
        mContext.registerReceiver(mUserRemovedReceiver, userFilter, null, handler);
    }
    }


    private void handlePackageEvent(Intent intent, int userId) {
    private void handlePackageEvent(Intent intent, int userId) {
@@ -265,7 +268,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 = new Handler(mContext.getMainLooper());
            handler = BackgroundThread.getHandler();
        }
        }
        synchronized (this) {
        synchronized (this) {
            mHandler = handler;
            mHandler = handler;
+1 −1
Original line number Original line Diff line number Diff line
@@ -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, null /* Handler */);
        mAuthenticatorCache.setListener(this, mHandler);


        sThis.set(this);
        sThis.set(this);