[RESTRICT AUTOMERGE][pm] still allow debuggable for system app downgrades

Turns out we do have internal tests that downgrades system apps, so adding this exception to allow for that.

BUG: 267232653
BUG: 256202273

Test: manual
Change-Id: Ie281bbdc8788ee64ff99a7c5150da7ce7926235e
(cherry picked from commit ceeca68b8c)
This commit is contained in:
Songchun Fan
2023-02-02 10:35:56 -08:00
committed by Song Chun Fan
parent 0f29716ab6
commit 341669af52

View File

@@ -15003,15 +15003,19 @@ public class PackageManagerService extends IPackageManager.Stub
if (disabledPs != null) { if (disabledPs != null) {
dataOwnerPkg = disabledPs.pkg; dataOwnerPkg = disabledPs.pkg;
} }
try { if (!Build.IS_DEBUGGABLE && !dataOwnerPkg.isDebuggable()) {
checkDowngrade(dataOwnerPkg, pkgLite); // Only restrict non-debuggable builds and non-debuggable version of
} catch (PackageManagerException e) { // the app
String errorMsg = "System app: " + packageName try {
+ " cannot be downgraded to" checkDowngrade(dataOwnerPkg, pkgLite);
+ " older than its preloaded version on the system image. " } catch (PackageManagerException e) {
+ e.getMessage(); String errorMsg = "System app: " + packageName
Slog.w(TAG, errorMsg); + " cannot be downgraded to"
return PackageHelper.RECOMMEND_FAILED_VERSION_DOWNGRADE; + " older than its preloaded version on the system image. "
+ e.getMessage();
Slog.w(TAG, errorMsg);
return PackageHelper.RECOMMEND_FAILED_VERSION_DOWNGRADE;
}
} }
} }
} }