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

Commit 1771240c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Reset the profile when system application change version."

parents 10e3fdd2 da5e7a0e
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -9206,6 +9206,29 @@ public class PackageManagerService extends IPackageManager.Stub
        }
    }
    /**
     * Clear the package profile if this was an upgrade and the package
     * version was updated.
     */
    private void maybeClearProfilesForUpgradesLI(
            @Nullable PackageSetting originalPkgSetting,
            @NonNull PackageParser.Package currentPkg) {
        if (originalPkgSetting == null || !isUpgrade()) {
          return;
        }
        if (originalPkgSetting.versionCode == currentPkg.mVersionCode) {
          return;
        }
        clearAppProfilesLIF(currentPkg, UserHandle.USER_ALL);
        if (DEBUG_INSTALL) {
            Slog.d(TAG, originalPkgSetting.name
                  + " clear profile due to version change "
                  + originalPkgSetting.versionCode + " != "
                  + currentPkg.mVersionCode);
        }
    }
    /**
     *  Traces a package scan.
     *  @see #scanPackageLI(File, int, int, long, UserHandle)
@@ -9491,6 +9514,9 @@ public class PackageManagerService extends IPackageManager.Stub
        // Verify certificates against what was last scanned
        collectCertificatesLI(ps, pkg, scanFile, policyFlags);
        // Reset profile if the application version is changed
        maybeClearProfilesForUpgradesLI(ps, pkg);
        /*
         * A new system app appeared, but we already had a non-system one of the
         * same name installed earlier.