diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index db720bb52558b..5ff9c0ce3c847 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -846,7 +846,7 @@ public class SettingsProvider extends ContentProvider { // Special case for location (sigh). if (isLocationProvidersAllowedRestricted(name, callingUserId, owningUserId)) { - return null; + continue; } Setting setting = mSettingsRegistry.getSettingLocked( @@ -871,7 +871,8 @@ public class SettingsProvider extends ContentProvider { // Special case for location (sigh). if (isLocationProvidersAllowedRestricted(name, callingUserId, owningUserId)) { - return null; + return mSettingsRegistry.getSettingsLocked(SETTINGS_TYPE_SECURE, + owningUserId).getNullSetting(); } // Get the value. diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java index 6dfd0e6786149..2de0618c6564e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java @@ -16,7 +16,6 @@ package com.android.providers.settings; -import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemClock; @@ -159,6 +158,10 @@ final class SettingsState { return mVersion; } + public Setting getNullSetting() { + return mNullSetting; + } + // The settings provider must hold its lock when calling here. public void setVersionLocked(int version) { if (version == mVersion) {