summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2010-08-27 18:10:38 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-08-27 18:10:38 -0700
commit59e61354801b378c074b85f0dea0da62481298c9 (patch)
tree422c065e738cbe1e99e5ae35482eede3a3760990
parent769690e9ea87e00dee7c15d652333eaa2c6c5264 (diff)
parentd71021cb30bd20dabd6783f4235d5f245a7bd1a3 (diff)
downloadframeworks_base-59e61354801b378c074b85f0dea0da62481298c9.zip
frameworks_base-59e61354801b378c074b85f0dea0da62481298c9.tar.gz
frameworks_base-59e61354801b378c074b85f0dea0da62481298c9.tar.bz2
am d71021cb: am 0c731f99: Merge "Send broadcast intent when configured location providers change." into gingerbread
Merge commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3' * commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3': Send broadcast intent when configured location providers change.
-rw-r--r--location/java/android/location/LocationManager.java7
-rw-r--r--services/java/com/android/server/LocationManagerService.java8
2 files changed, 13 insertions, 2 deletions
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 9ceda7e..9aa84a03 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -127,6 +127,13 @@ public class LocationManager {
"android.location.GPS_ENABLED_CHANGE";
/**
+ * Broadcast intent action when the configured location providers
+ * change.
+ */
+ public static final String PROVIDERS_CHANGED_ACTION =
+ "android.location.PROVIDERS_CHANGED";
+
+ /**
* Broadcast intent action indicating that the GPS has either started or
* stopped receiving GPS fixes. An intent extra provides this state as a
* boolean, where {@code true} means that the GPS is actively receiving fixes.
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index 5697181..a343c59 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -859,18 +859,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));
}
}