diff --git a/services/core/java/com/android/server/pm/AppsFilter.java b/services/core/java/com/android/server/pm/AppsFilter.java index 61ea84f9dc7f6..eb2e31d32beb9 100644 --- a/services/core/java/com/android/server/pm/AppsFilter.java +++ b/services/core/java/com/android/server/pm/AppsFilter.java @@ -41,7 +41,7 @@ import android.util.SparseArray; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.server.FgThread; -import com.android.server.compat.PlatformCompat; +import com.android.server.compat.CompatConfig; import java.io.PrintWriter; import java.util.ArrayList; @@ -131,24 +131,22 @@ public class AppsFilter { private static class FeatureConfigImpl implements FeatureConfig { private static final String FILTERING_ENABLED_NAME = "package_query_filtering_enabled"; - private final PackageManagerService.Injector mInjector; private volatile boolean mFeatureEnabled = true; + private CompatConfig mCompatibility; private FeatureConfigImpl(PackageManagerService.Injector injector) { - mInjector = injector; + mCompatibility = injector.getCompatibility(); } @Override public void onSystemReady() { mFeatureEnabled = DeviceConfig.getBoolean( - NAMESPACE_PACKAGE_MANAGER_SERVICE, FILTERING_ENABLED_NAME, - true); + NAMESPACE_PACKAGE_MANAGER_SERVICE, FILTERING_ENABLED_NAME, true); DeviceConfig.addOnPropertiesChangedListener( NAMESPACE_PACKAGE_MANAGER_SERVICE, FgThread.getExecutor(), properties -> { synchronized (FeatureConfigImpl.this) { - mFeatureEnabled = properties.getBoolean( - FILTERING_ENABLED_NAME, true); + mFeatureEnabled = properties.getBoolean(FILTERING_ENABLED_NAME, true); } }); } @@ -160,12 +158,7 @@ public class AppsFilter { @Override public boolean packageIsEnabled(PackageParser.Package pkg) { - final PlatformCompat compatibility = mInjector.getCompatibility(); - if (compatibility == null) { - Slog.wtf(TAG, "PlatformCompat is null"); - return mFeatureEnabled; - } - return compatibility.isChangeEnabled( + return mCompatibility.isChangeEnabled( PackageManager.FILTER_APPLICATION_QUERY, pkg.applicationInfo); } } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index d07e2d232ea6c..828b3289cade2 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -300,7 +300,7 @@ import com.android.server.ServiceThread; import com.android.server.SystemConfig; import com.android.server.SystemServerInitThreadPool; import com.android.server.Watchdog; -import com.android.server.compat.PlatformCompat; +import com.android.server.compat.CompatConfig; import com.android.server.net.NetworkPolicyManagerInternal; import com.android.server.pm.Installer.InstallerException; import com.android.server.pm.Settings.DatabaseVersion; @@ -836,7 +836,7 @@ public class PackageManagerService extends IPackageManager.Stub private final Singleton mStorageManagerProducer; private final Singleton mAppOpsManagerProducer; private final Singleton mAppsFilterProducer; - private final Singleton mPlatformCompatProducer; + private final Singleton mPlatformCompatProducer; Injector(Context context, Object lock, Installer installer, Object installLock, PackageAbiHelper abiHelper, @@ -854,7 +854,7 @@ public class PackageManagerService extends IPackageManager.Stub Producer storageManagerProducer, Producer appOpsManagerProducer, Producer appsFilterProducer, - Producer platformCompatProducer) { + Producer platformCompatProducer) { mContext = context; mLock = lock; mInstaller = installer; @@ -965,7 +965,7 @@ public class PackageManagerService extends IPackageManager.Stub return mAppsFilterProducer.get(this, mPackageManager); } - public PlatformCompat getCompatibility() { + public CompatConfig getCompatibility() { return mPlatformCompatProducer.get(this, mPackageManager); } } @@ -2467,7 +2467,7 @@ public class PackageManagerService extends IPackageManager.Stub new Injector.SystemServiceProducer<>(StorageManager.class), new Injector.SystemServiceProducer<>(AppOpsManager.class), (i, pm) -> AppsFilter.create(i), - (i, pm) -> (PlatformCompat) ServiceManager.getService("platform_compat")); + (i, pm) -> CompatConfig.get()); PackageManagerService m = new PackageManagerService(injector, factoryTest, onlyCore); t.traceEnd(); // "create package manager"