summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2023-02-03 18:41:30 +0000
committer Presubmit Automerger Backend <android-build-presubmit-automerger-backend@system.gserviceaccount.com> 2023-02-03 18:41:30 +0000
commit24ab5f29ba62ec3f1bd7122e3289c7722f34589a (patch)
treec2e27a0e34be36e67069b6de20ec4dd5dfc93ca0
parentd1e75ee902ae8a0de8b7484504a57b9580a9362f (diff)
parent636cdf22b90ccb4866f380c307b7e1b92da03ed9 (diff)
[automerge] [RESTRICT AUTOMERGE][pm] still allow debuggable for system app downgrades 2p: 636cdf22b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21266989 Bug: 267232653 Bug: 256202273 Change-Id: Iba1c01bf07da821a05d3439df54e811ccfdf4505
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index adbbdd36844f..31b72d208caf 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -26891,14 +26891,18 @@ public class PackageManagerService extends IPackageManager.Stub
if (disabledPs != null) {
dataOwnerPkg = disabledPs.getPkg();
}
- try {
- checkDowngrade(dataOwnerPkg, pkgLite);
- } catch (PackageManagerException e) {
- String errorMsg = "System app: " + packageName + " cannot be downgraded to"
- + " older than its preloaded version on the system image. "
- + e.getMessage();
- Slog.w(TAG, errorMsg);
- return PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE;
+ if (!Build.IS_DEBUGGABLE && !dataOwnerPkg.isDebuggable()) {
+ // Only restrict non-debuggable builds and non-debuggable version of the app
+ try {
+ checkDowngrade(dataOwnerPkg, pkgLite);
+ } catch (PackageManagerException e) {
+ String errorMsg = "System app: " + packageName
+ + " cannot be downgraded to"
+ + " older than its preloaded version on the system image. "
+ + e.getMessage();
+ Slog.w(TAG, errorMsg);
+ return PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE;
+ }
}
}
}