Loading services/core/java/com/android/server/pm/AppsFilter.java +2 −9 Original line number Diff line number Diff line Loading @@ -35,9 +35,6 @@ import android.content.pm.parsing.component.ParsedInstrumentation; import android.content.pm.parsing.component.ParsedIntentInfo; import android.content.pm.parsing.component.ParsedMainComponent; import android.content.pm.parsing.component.ParsedProvider; import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.Process; import android.os.Trace; import android.os.UserHandle; Loading Loading @@ -353,13 +350,9 @@ public class AppsFilter { injector.getUserManagerInternal().getUserInfos()); } }; HandlerThread appsFilterThread = new HandlerThread("appsFilter"); appsFilterThread.start(); Handler appsFilterHandler = new Handler(appsFilterThread.getLooper()); Executor executor = new HandlerExecutor(appsFilterHandler); AppsFilter appsFilter = new AppsFilter(stateProvider, featureConfig, forcedQueryablePackageNames, forceSystemAppsQueryable, null, executor); forcedQueryablePackageNames, forceSystemAppsQueryable, null, injector.getBackgroundExecutor()); featureConfig.setAppsFilter(appsFilter); return appsFilter; } Loading services/core/java/com/android/server/pm/PackageManagerService.java +18 −4 Original line number Diff line number Diff line Loading @@ -248,6 +248,8 @@ import android.os.Debug; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.IBinder; import android.os.Looper; import android.os.Message; Loading Loading @@ -420,6 +422,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; Loading Loading @@ -924,6 +927,7 @@ public class PackageManagerService extends IPackageManager.Stub private final Object mLock; private final Installer mInstaller; private final Object mInstallLock; private final Executor mBackgroundExecutor; // ----- producers ----- private final Singleton<ComponentResolver> mComponentResolverProducer; Loading @@ -945,6 +949,7 @@ public class PackageManagerService extends IPackageManager.Stub Injector(Context context, Object lock, Installer installer, Object installLock, PackageAbiHelper abiHelper, Executor backgroundExecutor, Producer<ComponentResolver> componentResolverProducer, Producer<PermissionManagerServiceInternal> permissionManagerProducer, Producer<UserManagerService> userManagerProducer, Loading @@ -966,6 +971,7 @@ public class PackageManagerService extends IPackageManager.Stub mInstaller = installer; mAbiHelper = abiHelper; mInstallLock = installLock; mBackgroundExecutor = backgroundExecutor; mComponentResolverProducer = new Singleton<>(componentResolverProducer); mPermissionManagerProducer = new Singleton<>(permissionManagerProducer); mUserManagerProducer = new Singleton<>(userManagerProducer); Loading Loading @@ -1079,6 +1085,10 @@ public class PackageManagerService extends IPackageManager.Stub public PlatformCompat getCompatibility() { return mPlatformCompatProducer.get(this, mPackageManager); } public Executor getBackgroundExecutor() { return mBackgroundExecutor; } } @VisibleForTesting(visibility = Visibility.PRIVATE) Loading Loading @@ -2581,9 +2591,13 @@ public class PackageManagerService extends IPackageManager.Stub t.traceBegin("create package manager"); final Object lock = new Object(); final Object installLock = new Object(); HandlerThread backgroundThread = new HandlerThread("PackageManagerBg"); backgroundThread.start(); Handler backgroundHandler = new Handler(backgroundThread.getLooper()); Injector injector = new Injector( context, lock, installer, installLock, new PackageAbiHelperImpl(), new HandlerExecutor(backgroundHandler), (i, pm) -> new ComponentResolver(i.getUserManagerService(), pm.mPmInternal, lock), (i, pm) -> Loading
services/core/java/com/android/server/pm/AppsFilter.java +2 −9 Original line number Diff line number Diff line Loading @@ -35,9 +35,6 @@ import android.content.pm.parsing.component.ParsedInstrumentation; import android.content.pm.parsing.component.ParsedIntentInfo; import android.content.pm.parsing.component.ParsedMainComponent; import android.content.pm.parsing.component.ParsedProvider; import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.Process; import android.os.Trace; import android.os.UserHandle; Loading Loading @@ -353,13 +350,9 @@ public class AppsFilter { injector.getUserManagerInternal().getUserInfos()); } }; HandlerThread appsFilterThread = new HandlerThread("appsFilter"); appsFilterThread.start(); Handler appsFilterHandler = new Handler(appsFilterThread.getLooper()); Executor executor = new HandlerExecutor(appsFilterHandler); AppsFilter appsFilter = new AppsFilter(stateProvider, featureConfig, forcedQueryablePackageNames, forceSystemAppsQueryable, null, executor); forcedQueryablePackageNames, forceSystemAppsQueryable, null, injector.getBackgroundExecutor()); featureConfig.setAppsFilter(appsFilter); return appsFilter; } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +18 −4 Original line number Diff line number Diff line Loading @@ -248,6 +248,8 @@ import android.os.Debug; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.IBinder; import android.os.Looper; import android.os.Message; Loading Loading @@ -420,6 +422,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; Loading Loading @@ -924,6 +927,7 @@ public class PackageManagerService extends IPackageManager.Stub private final Object mLock; private final Installer mInstaller; private final Object mInstallLock; private final Executor mBackgroundExecutor; // ----- producers ----- private final Singleton<ComponentResolver> mComponentResolverProducer; Loading @@ -945,6 +949,7 @@ public class PackageManagerService extends IPackageManager.Stub Injector(Context context, Object lock, Installer installer, Object installLock, PackageAbiHelper abiHelper, Executor backgroundExecutor, Producer<ComponentResolver> componentResolverProducer, Producer<PermissionManagerServiceInternal> permissionManagerProducer, Producer<UserManagerService> userManagerProducer, Loading @@ -966,6 +971,7 @@ public class PackageManagerService extends IPackageManager.Stub mInstaller = installer; mAbiHelper = abiHelper; mInstallLock = installLock; mBackgroundExecutor = backgroundExecutor; mComponentResolverProducer = new Singleton<>(componentResolverProducer); mPermissionManagerProducer = new Singleton<>(permissionManagerProducer); mUserManagerProducer = new Singleton<>(userManagerProducer); Loading Loading @@ -1079,6 +1085,10 @@ public class PackageManagerService extends IPackageManager.Stub public PlatformCompat getCompatibility() { return mPlatformCompatProducer.get(this, mPackageManager); } public Executor getBackgroundExecutor() { return mBackgroundExecutor; } } @VisibleForTesting(visibility = Visibility.PRIVATE) Loading Loading @@ -2581,9 +2591,13 @@ public class PackageManagerService extends IPackageManager.Stub t.traceBegin("create package manager"); final Object lock = new Object(); final Object installLock = new Object(); HandlerThread backgroundThread = new HandlerThread("PackageManagerBg"); backgroundThread.start(); Handler backgroundHandler = new Handler(backgroundThread.getLooper()); Injector injector = new Injector( context, lock, installer, installLock, new PackageAbiHelperImpl(), new HandlerExecutor(backgroundHandler), (i, pm) -> new ComponentResolver(i.getUserManagerService(), pm.mPmInternal, lock), (i, pm) ->