From 86568d705eb72ce0226b6b95f2d073f335a2bb0d Mon Sep 17 00:00:00 2001 From: Brad Larson Date: Tue, 29 Dec 2009 11:47:55 -0600 Subject: [PATCH] Use isLocationProviderEnabled to test for enabled providers LocationManagerService was just checking if the string of (comma-separated) Location Providers contained the provider we were interested in. This works fine in normal cases, but breaks if we add a provider such as test_network. Enabling test_network causes LocationManagerService to think that the network provider is also enabled. The code in Settings.Secure.isLocationProviderEnabled() checks for the commas in the string as well, to make sure that a provider name which is a substring of another provider name won't cause problems. It also centralizes the code which reads the string. Signed-off-by: Brad Larson Change-Id: I00dfe7c2b09739ed4c8ed07c6167e409b0bf7d13 --- services/java/com/android/server/LocationManagerService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index 024d8da52b9d1..e39da8cc9581c 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -552,10 +552,8 @@ public class LocationManagerService extends ILocationManager.Stub implements Run } // Use system settings ContentResolver resolver = mContext.getContentResolver(); - String allowedProviders = Settings.Secure.getString(resolver, - Settings.Secure.LOCATION_PROVIDERS_ALLOWED); - return ((allowedProviders != null) && (allowedProviders.contains(provider))); + return Settings.Secure.isLocationProviderEnabled(resolver, provider); } private void checkPermissionsSafe(String provider) {