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

Commit ae95049c authored by Shawn Willden's avatar Shawn Willden Committed by Android (Google) Code Review
Browse files

Merge "Add getPriorSdkVersion to PackageManagerInternal" into main

parents 7e6f93a6 6d594dcb
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1463,4 +1463,9 @@ public abstract class PackageManagerInternal {
     */
    @NonNull
    public abstract PackageArchiver getPackageArchiver();

    /**
     * Returns true if the device is upgrading from an SDK version lower than the one specified.
     */
    public abstract boolean isUpgradingFromLowerThan(int sdkVersion);
}
+10 −1
Original line number Diff line number Diff line
@@ -607,6 +607,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService
    private final boolean mIsUpgrade;
    private final boolean mIsPreNMR1Upgrade;
    private final boolean mIsPreQUpgrade;
    // If mIsUpgrade == true, contains the prior SDK version, else -1.
    private final int mPriorSdkVersion;

    // Used for privilege escalation. MUST NOT BE CALLED WITH mPackages
    // LOCK HELD.  Can be called with mInstallLock held.
@@ -1891,6 +1893,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        mInstantAppResolverSettingsComponent = testParams.instantAppResolverSettingsComponent;
        mIsPreNMR1Upgrade = testParams.isPreNmr1Upgrade;
        mIsPreQUpgrade = testParams.isPreQupgrade;
        mPriorSdkVersion = testParams.priorSdkVersion;
        mIsUpgrade = testParams.isUpgrade;
        mMetrics = testParams.Metrics;
        mModuleInfoProvider = testParams.moduleInfoProvider;
@@ -2230,7 +2233,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
                        "Upgrading from " + ver.fingerprint + " (" + ver.buildFingerprint + ") to "
                                + PackagePartitions.FINGERPRINT + " (" + Build.FINGERPRINT + ")");
            }

            mPriorSdkVersion = mIsUpgrade ? ver.sdkVersion : -1;
            mInitAppsHelper = new InitAppsHelper(this, mApexManager, mInstallPackageHelper,
                    mInjector.getSystemPartitions());

@@ -7099,6 +7102,12 @@ public class PackageManagerService implements PackageSender, TestUtilityService
            mPackageMonitorCallbackHelper.notifyPackageMonitorWithIntent(intent, userId,
                    visibilityAllowList, mHandler);
        }

        @Override
        public boolean isUpgradingFromLowerThan(int sdkVersion) {
            final boolean isUpgrading = mPriorSdkVersion != -1;
            return isUpgrading && mPriorSdkVersion < sdkVersion;
        }
    }

    private void setEnabledOverlayPackages(@UserIdInt int userId,
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ public final class PackageManagerServiceTestParams {
    public ComponentName instantAppResolverSettingsComponent;
    public boolean isPreNmr1Upgrade;
    public boolean isPreQupgrade;
    public int priorSdkVersion = -1;
    public boolean isUpgrade;
    public LegacyPermissionManagerInternal legacyPermissionManagerInternal;
    public DisplayMetrics Metrics;