Merge "Don't enforce read permission in setting read." into main
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 776eb21..2791c41 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3524,7 +3524,6 @@
         public ArrayMap<String, String> getStringsForPrefix(ContentResolver cr, String prefix,
                 List<String> names) {
             String namespace = prefix.substring(0, prefix.length() - 1);
-            Config.enforceReadPermission(namespace);
             ArrayMap<String, String> keyValues = new ArrayMap<>();
             int currentGeneration = -1;
             boolean needsGenerationTracker = false;
@@ -19648,21 +19647,6 @@
                .getApplicationContext().checkCallingOrSelfPermission(permission);
         }
 
-        /**
-         * Enforces READ_DEVICE_CONFIG permission if namespace is not one of public namespaces.
-         * @hide
-         */
-        public static void enforceReadPermission(String namespace) {
-            if (ActivityThread.currentApplication().getApplicationContext()
-                    .checkCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG)
-                    != PackageManager.PERMISSION_GRANTED) {
-                if (!DeviceConfig.getPublicNamespaces().contains(namespace)) {
-                    throw new SecurityException("Permission denial: reading from settings requires:"
-                        + Manifest.permission.READ_DEVICE_CONFIG);
-                }
-            }
-        }
-
         private static void setMonitorCallbackAsUser(
                 @NonNull @CallbackExecutor Executor executor,
                 @NonNull ContentResolver resolver, @UserIdInt int userHandle,
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 19d828b..5f4f317 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -1157,8 +1157,6 @@
             Slog.v(LOG_TAG, "getConfigSetting(" + name + ")");
         }
 
-        Settings.Config.enforceReadPermission(/*namespace=*/name.split("/")[0]);
-
         // Get the value.
         synchronized (mLock) {
             return mSettingsRegistry.getSettingLocked(SETTINGS_TYPE_CONFIG,
@@ -1338,9 +1336,6 @@
             Slog.v(LOG_TAG, "getAllConfigFlags() for " + prefix);
         }
 
-        Settings.Config.enforceReadPermission(
-                prefix != null ? prefix.split("/")[0] : null);
-
         synchronized (mLock) {
             // Get the settings.
             SettingsState settingsState = mSettingsRegistry.getSettingsLocked(