am 86328a99: LocationManagerService: clear calling identity in mock provider calls.
Merge commit '86328a99bd55532e318441d48ee9eb96cdc42403' into eclair-mr2 * commit '86328a99bd55532e318441d48ee9eb96cdc42403': LocationManagerService: clear calling identity in mock provider calls.
This commit is contained in:
@@ -1709,6 +1709,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) {
|
boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) {
|
||||||
checkMockPermissionsSafe();
|
checkMockPermissionsSafe();
|
||||||
|
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
MockProvider provider = new MockProvider(name, this,
|
MockProvider provider = new MockProvider(name, this,
|
||||||
requiresNetwork, requiresSatellite,
|
requiresNetwork, requiresSatellite,
|
||||||
@@ -1731,6 +1732,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
mLastKnownLocation.put(name, null);
|
mLastKnownLocation.put(name, null);
|
||||||
updateProvidersLocked();
|
updateProvidersLocked();
|
||||||
}
|
}
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeTestProvider(String provider) {
|
public void removeTestProvider(String provider) {
|
||||||
@@ -1740,6 +1742,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
if (mockProvider == null) {
|
if (mockProvider == null) {
|
||||||
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
||||||
}
|
}
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
removeProvider(mProvidersByName.get(provider));
|
removeProvider(mProvidersByName.get(provider));
|
||||||
mMockProviders.remove(mockProvider);
|
mMockProviders.remove(mockProvider);
|
||||||
// reinstall real provider if we were mocking GPS or network provider
|
// 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);
|
mLastKnownLocation.put(provider, null);
|
||||||
updateProvidersLocked();
|
updateProvidersLocked();
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1787,6 +1791,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
if (mockProvider == null) {
|
if (mockProvider == null) {
|
||||||
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
||||||
}
|
}
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
mockProvider.enable();
|
mockProvider.enable();
|
||||||
mEnabledProviders.add(provider);
|
mEnabledProviders.add(provider);
|
||||||
@@ -1797,6 +1802,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
mDisabledProviders.add(provider);
|
mDisabledProviders.add(provider);
|
||||||
}
|
}
|
||||||
updateProvidersLocked();
|
updateProvidersLocked();
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1807,9 +1813,11 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
if (mockProvider == null) {
|
if (mockProvider == null) {
|
||||||
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");
|
||||||
}
|
}
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
mEnabledProviders.remove(provider);
|
mEnabledProviders.remove(provider);
|
||||||
mDisabledProviders.remove(provider);
|
mDisabledProviders.remove(provider);
|
||||||
updateProvidersLocked();
|
updateProvidersLocked();
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user