From b596a2c5bf01ee3e716df08dfe19faea6d9ef9e5 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Tue, 17 Feb 2015 21:37:09 -0800 Subject: Location settings not properly set. Settings provider has special handling for location providers. The code to set the location providers was calling itself recursively instead of updating the setting value. bug:19361236 Change-Id: I1ef1932c7faa8226b52123aa3f23f38048258328 --- .../src/com/android/providers/settings/SettingsProvider.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 466ddde5dd71..2c63647f8dac 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -779,7 +779,7 @@ public class SettingsProvider extends ContentProvider { // Special cases for location providers (sigh). if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) { - return updateLocationProvidersAllowed(value, owningUserId); + return updateLocationProvidersAllowedLocked(value, owningUserId); } // Mutate the value. @@ -1072,7 +1072,7 @@ public class SettingsProvider extends ContentProvider { * * @returns whether the enabled location providers changed. */ - private boolean updateLocationProvidersAllowed(String value, int owningUserId) { + private boolean updateLocationProvidersAllowedLocked(String value, int owningUserId) { if (TextUtils.isEmpty(value)) { return false; } @@ -1130,10 +1130,9 @@ public class SettingsProvider extends ContentProvider { return false; } - updateSecureSettingLocked(Settings.Secure.LOCATION_PROVIDERS_ALLOWED, - newProviders, owningUserId); - - return true; + return mSettingsRegistry.insertSettingLocked(SettingsRegistry.SETTINGS_TYPE_SECURE, + owningUserId, Settings.Secure.LOCATION_PROVIDERS_ALLOWED, newProviders, + getCallingPackage()); } private void sendNotify(Uri uri, int userId) { -- cgit v1.2.3-59-g8ed1b