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

Commit 66bb1665 authored by Anna Trostanetski's avatar Anna Trostanetski Committed by atrost
Browse files

Revert "Get compatibility immediately on initialization"

This reverts commit 5127b31d.

Reason for revert: It doesn't fix the bug, and uses CompatConfig that shouldn't be exposed

Test: locally
Bug: 142281062
Change-Id: I60e21d19e20b7926d270d8f6870e8969d96fa8a2
parent 83aa057b
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ 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.CompatConfig;

import java.io.PrintWriter;
import java.util.ArrayList;
@@ -131,11 +130,11 @@ 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 = false;
        private CompatConfig mCompatibility;

        private FeatureConfigImpl(PackageManagerService.Injector injector) {
            mCompatibility = injector.getCompatibility();
            mInjector = injector;
        }

        @Override
@@ -158,7 +157,7 @@ public class AppsFilter {

        @Override
        public boolean packageIsEnabled(PackageParser.Package pkg) {
            return mCompatibility.isChangeEnabled(
            return mInjector.getCompatibility().isChangeEnabled(
                    PackageManager.FILTER_APPLICATION_QUERY, pkg.applicationInfo);
        }
    }
+5 −5
Original line number Diff line number Diff line
@@ -299,7 +299,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.CompatConfig;
import com.android.server.compat.PlatformCompat;
import com.android.server.net.NetworkPolicyManagerInternal;
import com.android.server.pm.Installer.InstallerException;
import com.android.server.pm.Settings.DatabaseVersion;
@@ -837,7 +837,7 @@ public class PackageManagerService extends IPackageManager.Stub
        private final Singleton<StorageManager> mStorageManagerProducer;
        private final Singleton<AppOpsManager> mAppOpsManagerProducer;
        private final Singleton<AppsFilter> mAppsFilterProducer;
        private final Singleton<CompatConfig> mPlatformCompatProducer;
        private final Singleton<PlatformCompat> mPlatformCompatProducer;
        Injector(Context context, Object lock, Installer installer,
                Object installLock, PackageAbiHelper abiHelper,
@@ -855,7 +855,7 @@ public class PackageManagerService extends IPackageManager.Stub
                Producer<StorageManager> storageManagerProducer,
                Producer<AppOpsManager> appOpsManagerProducer,
                Producer<AppsFilter> appsFilterProducer,
                Producer<CompatConfig> platformCompatProducer) {
                Producer<PlatformCompat> platformCompatProducer) {
            mContext = context;
            mLock = lock;
            mInstaller = installer;
@@ -966,7 +966,7 @@ public class PackageManagerService extends IPackageManager.Stub
            return mAppsFilterProducer.get(this, mPackageManager);
        }
        public CompatConfig getCompatibility() {
        public PlatformCompat getCompatibility() {
            return mPlatformCompatProducer.get(this, mPackageManager);
        }
    }
@@ -2356,7 +2356,7 @@ public class PackageManagerService extends IPackageManager.Stub
                new Injector.SystemServiceProducer<>(StorageManager.class),
                new Injector.SystemServiceProducer<>(AppOpsManager.class),
                (i, pm) -> AppsFilter.create(i),
                (i, pm) -> CompatConfig.get());
                (i, pm) -> (PlatformCompat) ServiceManager.getService("platform_compat"));
        PackageManagerService m = new PackageManagerService(injector, factoryTest, onlyCore);
        t.traceEnd(); // "create package manager"