summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2015-02-17 21:37:09 -0800
committerSvetoslav <svetoslavganov@google.com>2015-02-17 21:41:05 -0800
commitb596a2c5bf01ee3e716df08dfe19faea6d9ef9e5 (patch)
tree08a50c09e888a250ea8bee203d4a9e9ac1b5720d
parent63f0a7d0588ad2d5f7c24f5b9d74591245ceb4c2 (diff)
downloadframeworks_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
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java11
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) {