Merge change 1158 into donut
* changes: location: Fix mock provider support
This commit is contained in:
@@ -918,12 +918,9 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (LocationManager.GPS_PROVIDER.equals(provider) ||
|
for (ProximityAlert alert : mProximityAlerts.values()) {
|
||||||
LocationManager.NETWORK_PROVIDER.equals(provider)) {
|
if (alert.mUid == uid) {
|
||||||
for (ProximityAlert alert : mProximityAlerts.values()) {
|
return true;
|
||||||
if (alert.mUid == uid) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -1359,13 +1356,8 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
mProximityListener = new ProximityListener();
|
mProximityListener = new ProximityListener();
|
||||||
mProximityReceiver = new Receiver(mProximityListener);
|
mProximityReceiver = new Receiver(mProximityListener);
|
||||||
|
|
||||||
LocationProviderProxy provider = mProvidersByName.get(LocationManager.GPS_PROVIDER);
|
for (int i = mProviders.size() - 1; i >= 0; i--) {
|
||||||
if (provider != null) {
|
LocationProviderProxy provider = mProviders.get(i);
|
||||||
requestLocationUpdatesLocked(provider.getName(), 1000L, 1.0f, mProximityReceiver);
|
|
||||||
}
|
|
||||||
|
|
||||||
provider = mProvidersByName.get(LocationManager.NETWORK_PROVIDER);
|
|
||||||
if (provider != null) {
|
|
||||||
requestLocationUpdatesLocked(provider.getName(), 1000L, 1.0f, mProximityReceiver);
|
requestLocationUpdatesLocked(provider.getName(), 1000L, 1.0f, mProximityReceiver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1809,9 +1801,13 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
|||||||
if (mProvidersByName.get(name) != null) {
|
if (mProvidersByName.get(name) != null) {
|
||||||
throw new IllegalArgumentException("Provider \"" + name + "\" already exists");
|
throw new IllegalArgumentException("Provider \"" + name + "\" already exists");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clear calling identity so INSTALL_LOCATION_PROVIDER permission is not required
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
addProvider(new LocationProviderProxy(name, provider));
|
addProvider(new LocationProviderProxy(name, provider));
|
||||||
mMockProviders.put(name, provider);
|
mMockProviders.put(name, provider);
|
||||||
updateProvidersLocked();
|
updateProvidersLocked();
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1835,7 +1831,10 @@ 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");
|
||||||
}
|
}
|
||||||
|
// clear calling identity so INSTALL_LOCATION_PROVIDER permission is not required
|
||||||
|
long identity = Binder.clearCallingIdentity();
|
||||||
mockProvider.setLocation(loc);
|
mockProvider.setLocation(loc);
|
||||||
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user