diff options
| author | Svetoslav <svetoslavganov@google.com> | 2015-02-17 21:37:09 -0800 |
|---|---|---|
| committer | Svetoslav <svetoslavganov@google.com> | 2015-02-17 21:41:05 -0800 |
| commit | b596a2c5bf01ee3e716df08dfe19faea6d9ef9e5 (patch) | |
| tree | 08a50c09e888a250ea8bee203d4a9e9ac1b5720d /packages/SettingsProvider | |
| parent | 63f0a7d0588ad2d5f7c24f5b9d74591245ceb4c2 (diff) | |
| download | frameworks_base-b596a2c5bf01ee3e716df08dfe19faea6d9ef9e5.zip frameworks_base-b596a2c5bf01ee3e716df08dfe19faea6d9ef9e5.tar.gz frameworks_base-b596a2c5bf01ee3e716df08dfe19faea6d9ef9e5.tar.bz2 | |
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
Diffstat (limited to 'packages/SettingsProvider')
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 11 |
1 files 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 466ddde..2c63647 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) { |
