summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-10-28 10:37:43 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-28 10:37:43 -0700
commit5b9dee8c07ccbb54dde2261c63fe1b15bf11acb1 (patch)
tree83e4f85397c54be8695301077fc26ef8f610aa3f
parent84b0d236a307915d3de8ffeb6fad1d8b89cd8d16 (diff)
parent4dee223c68d98ebac6bb3d91c2d6e47eb2b0a001 (diff)
downloadframeworks_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.java8
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);
}
}