diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 774899d2ecf15..ef19fc1f53601 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -6379,4 +6379,6 @@
false
+
+ true
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 79f3dcd8c1edc..8855d5b3de25d 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2238,6 +2238,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 {