summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Linus Tufvesson <lus@google.com> 2024-04-05 12:14:59 +0200
committer Linus Tufvesson <lus@google.com> 2024-04-05 12:14:59 +0200
commitff7ecf81c4b166dbdad8924ae962f58651160fff (patch)
tree7e19f4f1dffceec30b506c0ef7b9296e35e4e00a
parent99e09fc820babe7c0601c18f49ee7038451a7a00 (diff)
Allow adoptedshell to use low sdk bypass flag
Test: atest CtsPackageManagerTestCases:ChecksumsTest [on user build] Bug: 329194958 Change-Id: Ib198f7a945463212b3d514866e81541c55073a60
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerService.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java
index 29320aeefde9..a5cd821e319d 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -838,7 +838,8 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
if ((params.installFlags & PackageManager.INSTALL_BYPASS_LOW_TARGET_SDK_BLOCK) != 0
&& !PackageManagerServiceUtils.isSystemOrRootOrShell(callingUid)
- && !Build.IS_DEBUGGABLE) {
+ && !Build.IS_DEBUGGABLE
+ && !PackageManagerServiceUtils.isAdoptedShell(callingUid, mContext)) {
// If the bypass flag is set, but not running as system root or shell then remove
// the flag
params.installFlags &= ~PackageManager.INSTALL_BYPASS_LOW_TARGET_SDK_BLOCK;