Revert "Migrate the usage of sCompatibilityModeEnabled"

This reverts commit 0a98d27b04f225d5b87efa206ef289ba08ee5ad9.

Reason for revert: b/187301322

Change-Id: Iae9acc88841f214a5e3a14f83c3d5ee8b9ffd422
Bug: 187301322
(cherry picked from commit a02ce471bea5f0715108ee34372c0772f00eeb48)
diff --git a/core/java/android/content/pm/parsing/ParsingPackageUtils.java b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
index 725576f..22d75ef 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageUtils.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
@@ -3069,13 +3069,6 @@
     /**
      * @hide
      */
-    public static void setCompatibilityModeEnabled(boolean compatibilityModeEnabled) {
-        sCompatibilityModeEnabled = compatibilityModeEnabled;
-    }
-
-    /**
-     * @hide
-     */
     public static void readConfigUseRoundIcon(Resources r) {
         if (r != null) {
             sUseRoundIcon = r.getBoolean(com.android.internal.R.bool.config_useRoundIcon);
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index db2b166..219fa3c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -134,7 +134,6 @@
 import static com.android.server.pm.PackageManagerServiceUtils.logCriticalInfo;
 import static com.android.server.pm.PackageManagerServiceUtils.makeDirRecursive;
 import static com.android.server.pm.PackageManagerServiceUtils.verifySignatures;
-import static com.android.server.pm.parsing.PackageInfoUtils.checkUseInstalledOrHidden;
 
 import android.Manifest;
 import android.annotation.AppIdInt;
@@ -2516,8 +2515,8 @@
             if (DEBUG_PACKAGE_INFO) Log.v(TAG, "getActivityInfo " + component + ": " + a);
 
             AndroidPackage pkg = a == null ? null : mPackages.get(a.getPackageName());
-            PackageSetting ps = a == null ? null : mSettings.getPackageLPr(a.getPackageName());
             if (pkg != null && mSettings.isEnabledAndMatchLPr(pkg, a, flags, userId)) {
+                PackageSetting ps = mSettings.getPackageLPr(component.getPackageName());
                 if (ps == null) return null;
                 if (shouldFilterApplicationLocked(
                         ps, filterCallingUid, component, TYPE_ACTIVITY, userId)) {
@@ -2527,8 +2526,8 @@
                         a, flags, ps.readUserState(userId), userId, ps);
             }
             if (resolveComponentName().equals(component)) {
-                return generateDelegateActivityInfo(pkg, ps, new PackageUserState(),
-                        mResolveActivity, flags, userId);
+                return PackageParser.generateActivityInfo(
+                        mResolveActivity, flags, new PackageUserState(), userId);
             }
             return null;
         }
@@ -3174,8 +3173,8 @@
                 return result;
             }
             final ResolveInfo ephemeralInstaller = new ResolveInfo(mInstantAppInstallerInfo);
-            ephemeralInstaller.activityInfo = generateDelegateActivityInfo(ps.getPkg(), ps,
-                    ps.readUserState(userId), instantAppInstallerActivity(), 0 /*flags*/, userId);
+            ephemeralInstaller.activityInfo = PackageParser.generateActivityInfo(
+                    instantAppInstallerActivity(), 0, ps.readUserState(userId), userId);
             ephemeralInstaller.match = IntentFilter.MATCH_CATEGORY_SCHEME_SPECIFIC_PART
                     | IntentFilter.MATCH_ADJUSTMENT_NORMAL;
             // add a non-generic filter
@@ -3259,7 +3258,7 @@
                 ai.flags = ps.pkgFlags;
                 ai.privateFlags = ps.pkgPrivateFlags;
                 pi.applicationInfo =
-                        PackageInfoUtils.generateApplicationInfo(p, flags, state, userId, ps);
+                        PackageParser.generateApplicationInfo(ai, flags, state, userId);
 
                 if (DEBUG_PACKAGE_INFO) Log.v(TAG, "ps.pkg is n/a for ["
                         + ps.name + "]. Provides a minimum info.");
@@ -3375,19 +3374,6 @@
             return getInstalledPackagesBody(flags, userId, callingUid);
         }
 
-        private static ActivityInfo generateDelegateActivityInfo(@Nullable AndroidPackage pkg,
-                @Nullable PackageSetting ps, @NonNull PackageUserState state,
-                @Nullable ActivityInfo activity, int flags, int userId) {
-            if (activity == null || pkg == null
-                    || !checkUseInstalledOrHidden(pkg, ps, state, flags)) {
-                return null;
-            }
-            final ActivityInfo info = new ActivityInfo(activity);
-            info.applicationInfo =
-                    PackageInfoUtils.generateApplicationInfo(pkg, flags, state, userId, ps);
-            return info;
-        }
-
         public ParceledListSlice<PackageInfo> getInstalledPackagesBody(int flags, int userId,
                                                                           int callingUid) {
             // writer
@@ -23672,7 +23658,7 @@
         boolean compatibilityModeEnabled = android.provider.Settings.Global.getInt(
                 mContext.getContentResolver(),
                 android.provider.Settings.Global.COMPATIBILITY_MODE, 1) == 1;
-        ParsingPackageUtils.setCompatibilityModeEnabled(compatibilityModeEnabled);
+        PackageParser.setCompatibilityModeEnabled(compatibilityModeEnabled);
 
         if (DEBUG_SETTINGS) {
             Log.d(TAG, "compatibility mode:" + compatibilityModeEnabled);
diff --git a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
index b89dbdc..61f51e3 100644
--- a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
+++ b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
@@ -417,7 +417,7 @@
      * Returns true if the package is installed and not hidden, or if the caller
      * explicitly wanted all uninstalled and hidden packages as well.
      */
-    public static boolean checkUseInstalledOrHidden(AndroidPackage pkg,
+    private static boolean checkUseInstalledOrHidden(AndroidPackage pkg,
             PackageSetting pkgSetting, PackageUserState state,
             @PackageManager.PackageInfoFlags int flags) {
         // Returns false if the package is hidden system app until installed.