diff --git a/core/java/android/content/pm/parsing/ParsingPackageUtils.java b/core/java/android/content/pm/parsing/ParsingPackageUtils.java index 2ce70900f7fe1..0fc6b2bd4f2ea 100644 --- a/core/java/android/content/pm/parsing/ParsingPackageUtils.java +++ b/core/java/android/content/pm/parsing/ParsingPackageUtils.java @@ -3063,13 +3063,6 @@ public class ParsingPackageUtils { } } - /** - * @hide - */ - public static void setCompatibilityModeEnabled(boolean compatibilityModeEnabled) { - sCompatibilityModeEnabled = compatibilityModeEnabled; - } - /** * @hide */ diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2379b24a85fd1..f5f0ce190e130 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.getLastModifiedTi 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; @@ -2540,8 +2539,8 @@ public class PackageManagerService extends IPackageManager.Stub 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)) { @@ -2551,8 +2550,8 @@ public class PackageManagerService extends IPackageManager.Stub 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; } @@ -3198,8 +3197,8 @@ public class PackageManagerService extends IPackageManager.Stub 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 @@ -3283,7 +3282,7 @@ public class PackageManagerService extends IPackageManager.Stub 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."); @@ -3399,19 +3398,6 @@ public class PackageManagerService extends IPackageManager.Stub 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 getInstalledPackagesBody(int flags, int userId, int callingUid) { // writer @@ -23617,7 +23603,7 @@ public class PackageManagerService extends IPackageManager.Stub 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 5f58befa0fcac..21e44ab9b5395 100644 --- a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java +++ b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java @@ -416,7 +416,7 @@ public class PackageInfoUtils { * 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.