From c7ed8bb7ba9ee70bc84c9e404049fa7211400eef Mon Sep 17 00:00:00 2001 From: Joanne Chung Date: Thu, 23 Mar 2023 20:46:22 +0800 Subject: [PATCH] Allow pre-commit confirmation toggle-able via resource config Currently, the pre-commit confirmation is controlled by device config and default value is true. This makes the feature default enabled. Even partners update the default value to false, it still can be overrided by device config mechanism. It is possible the partners would like to disable the feature so in this change, we allow the feature can be toggled by resource config, the value should not be overrided by device config. Bug: 272507743 Test: atest PreapprovalInstallTest Change-Id: I2fb45bb6da608d6772335d63d452d60560bcce27 --- core/res/res/values/config.xml | 2 ++ core/res/res/values/symbols.xml | 1 + .../java/com/android/server/pm/PackageManagerService.java | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 5a35ca74e5dc7..01871ed2b0d0b 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -6386,4 +6386,6 @@ false + + true diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 8fb7c9d161705..0f4ef4978f05e 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2235,6 +2235,7 @@ + diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2038e798a0383..6b213b78f11c7 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -7208,6 +7208,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService * TODO: In the meantime, can this be moved to a schedule call? * TODO(b/182523293): This should be removed once we finish migration of permission storage. */ + @SuppressWarnings("GuardedBy") void writeSettingsLPrTEMP(boolean sync) { snapshotComputer(false); mPermissionManager.writeLegacyPermissionsTEMP(mSettings.mPermissions); @@ -7257,6 +7258,10 @@ public class PackageManagerService implements PackageSender, TestUtilityService static boolean isPreapprovalRequestAvailable() { final long token = Binder.clearCallingIdentity(); try { + if (!Resources.getSystem().getBoolean( + com.android.internal.R.bool.config_isPreApprovalRequestAvailable)) { + return false; + } return DeviceConfig.getBoolean(NAMESPACE_PACKAGE_MANAGER_SERVICE, PROPERTY_IS_PRE_APPROVAL_REQUEST_AVAILABLE, true /* defaultValue */); } finally {