diff options
| author | Mike Lockwood <lockwood@android.com> | 2009-10-28 10:37:43 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-10-28 10:37:43 -0700 |
| commit | 5b9dee8c07ccbb54dde2261c63fe1b15bf11acb1 (patch) | |
| tree | 83e4f85397c54be8695301077fc26ef8f610aa3f | |
| parent | 84b0d236a307915d3de8ffeb6fad1d8b89cd8d16 (diff) | |
| parent | 4dee223c68d98ebac6bb3d91c2d6e47eb2b0a001 (diff) | |
| download | frameworks_base-5b9dee8c07ccbb54dde2261c63fe1b15bf11acb1.zip frameworks_base-5b9dee8c07ccbb54dde2261c63fe1b15bf11acb1.tar.gz frameworks_base-5b9dee8c07ccbb54dde2261c63fe1b15bf11acb1.tar.bz2 | |
am 4dee223c: am 86328a99: LocationManagerService: clear calling identity in mock provider calls.
Merge commit '4dee223c68d98ebac6bb3d91c2d6e47eb2b0a001' into eclair-mr2-plus-aosp
* commit '4dee223c68d98ebac6bb3d91c2d6e47eb2b0a001':
LocationManagerService: clear calling identity in mock provider calls.
| -rw-r--r-- | services/java/com/android/server/LocationManagerService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index d1b3bd0..bbb43d7 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1709,6 +1709,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) { checkMockPermissionsSafe(); + long identity = Binder.clearCallingIdentity(); synchronized (mLock) { MockProvider provider = new MockProvider(name, this, requiresNetwork, requiresSatellite, @@ -1731,6 +1732,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run mLastKnownLocation.put(name, null); updateProvidersLocked(); } + Binder.restoreCallingIdentity(identity); } public void removeTestProvider(String provider) { @@ -1740,6 +1742,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); removeProvider(mProvidersByName.get(provider)); mMockProviders.remove(mockProvider); // reinstall real provider if we were mocking GPS or network provider @@ -1752,6 +1755,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run } mLastKnownLocation.put(provider, null); updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } @@ -1787,6 +1791,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); if (enabled) { mockProvider.enable(); mEnabledProviders.add(provider); @@ -1797,6 +1802,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run mDisabledProviders.add(provider); } updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } @@ -1807,9 +1813,11 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); mEnabledProviders.remove(provider); mDisabledProviders.remove(provider); updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } |
