summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2010-08-27 14:01:23 -0700
committerBrad Fitzpatrick <bradfitz@android.com>2010-08-27 14:01:23 -0700
commit0c5a04014d3833c9a82772a832d3bc6410fc52ac (patch)
tree79831e18eee9d29207d199499a9ece7a7068fedc /services/java
parent445ab76c49779998543bb78881f5d9f8ae81e598 (diff)
downloadframeworks_base-0c5a04014d3833c9a82772a832d3bc6410fc52ac.zip
frameworks_base-0c5a04014d3833c9a82772a832d3bc6410fc52ac.tar.gz
frameworks_base-0c5a04014d3833c9a82772a832d3bc6410fc52ac.tar.bz2
Send broadcast intent when configured location providers change.
See e.g. http://code.google.com/p/android/issues/detail?id=10042 This is also needed by the power control widget, which has no reliable way otherwise of staying in-sync. Change-Id: I8f2b6b79b1843329bae952a25ea56f15e3cf92aa
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/LocationManagerService.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index 3bcf427..a38970f 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -858,18 +858,22 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
}
private void updateProvidersLocked() {
+ boolean changesMade = false;
for (int i = mProviders.size() - 1; i >= 0; i--) {
LocationProviderInterface p = mProviders.get(i);
boolean isEnabled = p.isEnabled();
String name = p.getName();
boolean shouldBeEnabled = isAllowedBySettingsLocked(name);
-
if (isEnabled && !shouldBeEnabled) {
updateProviderListenersLocked(name, false);
+ changesMade = true;
} else if (!isEnabled && shouldBeEnabled) {
updateProviderListenersLocked(name, true);
+ changesMade = true;
}
-
+ }
+ if (changesMade) {
+ mContext.sendBroadcast(new Intent(LocationManager.PROVIDERS_CHANGED_ACTION));
}
}