diff options
| author | Brad Fitzpatrick <bradfitz@android.com> | 2010-08-27 18:10:38 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2010-08-27 18:10:38 -0700 |
| commit | 59e61354801b378c074b85f0dea0da62481298c9 (patch) | |
| tree | 422c065e738cbe1e99e5ae35482eede3a3760990 | |
| parent | 769690e9ea87e00dee7c15d652333eaa2c6c5264 (diff) | |
| parent | d71021cb30bd20dabd6783f4235d5f245a7bd1a3 (diff) | |
| download | frameworks_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.java | 7 | ||||
| -rw-r--r-- | services/java/com/android/server/LocationManagerService.java | 8 |
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)); } } |
