diff options
author | Brad Fitzpatrick <bradfitz@android.com> | 2010-08-27 14:01:23 -0700 |
---|---|---|
committer | Brad Fitzpatrick <bradfitz@android.com> | 2010-08-27 14:01:23 -0700 |
commit | 0c5a04014d3833c9a82772a832d3bc6410fc52ac (patch) | |
tree | 79831e18eee9d29207d199499a9ece7a7068fedc /services/java | |
parent | 445ab76c49779998543bb78881f5d9f8ae81e598 (diff) | |
download | frameworks_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.java | 8 |
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)); } } |