summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/location/LocationManagerService.java10
-rw-r--r--services/core/java/com/android/server/location/provider/LocationProviderManager.java13
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/location/provider/LocationProviderManagerTest.java4
3 files changed, 14 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java
index 45d9822205ec..fac510651878 100644
--- a/services/core/java/com/android/server/location/LocationManagerService.java
+++ b/services/core/java/com/android/server/location/LocationManagerService.java
@@ -1127,7 +1127,7 @@ public class LocationManagerService extends ILocationManager.Stub implements
if (provider != null && !provider.equals(manager.getName())) {
continue;
}
- CallerIdentity identity = manager.getIdentity();
+ CallerIdentity identity = manager.getProviderIdentity();
if (identity == null) {
continue;
}
@@ -1149,7 +1149,7 @@ public class LocationManagerService extends ILocationManager.Stub implements
return Collections.emptyList();
}
- CallerIdentity identity = manager.getIdentity();
+ CallerIdentity identity = manager.getProviderIdentity();
if (identity == null) {
return Collections.emptyList();
}
@@ -1536,7 +1536,7 @@ public class LocationManagerService extends ILocationManager.Stub implements
if (!enabled) {
PackageTagsList.Builder builder = new PackageTagsList.Builder();
for (LocationProviderManager manager : mProviderManagers) {
- CallerIdentity identity = manager.getIdentity();
+ CallerIdentity identity = manager.getProviderIdentity();
if (identity != null) {
builder.add(identity.getPackageName(), identity.getAttributionTag());
}
@@ -1624,7 +1624,7 @@ public class LocationManagerService extends ILocationManager.Stub implements
if (provider != null && !provider.equals(manager.getName())) {
continue;
}
- if (identity.equals(manager.getIdentity())) {
+ if (identity.equals(manager.getProviderIdentity())) {
return true;
}
}
@@ -1665,7 +1665,7 @@ public class LocationManagerService extends ILocationManager.Stub implements
if (listener != null) {
ArraySet<Integer> uids = new ArraySet<>(mProviderManagers.size());
for (LocationProviderManager manager : mProviderManagers) {
- CallerIdentity identity = manager.getIdentity();
+ CallerIdentity identity = manager.getProviderIdentity();
if (identity != null) {
uids.add(identity.getUid());
}
diff --git a/services/core/java/com/android/server/location/provider/LocationProviderManager.java b/services/core/java/com/android/server/location/provider/LocationProviderManager.java
index 0b8f94c574c6..acbee11f3b72 100644
--- a/services/core/java/com/android/server/location/provider/LocationProviderManager.java
+++ b/services/core/java/com/android/server/location/provider/LocationProviderManager.java
@@ -1468,7 +1468,7 @@ public class LocationProviderManager extends
return mProvider.getState();
}
- public @Nullable CallerIdentity getIdentity() {
+ public @Nullable CallerIdentity getProviderIdentity() {
return mProvider.getState().identity;
}
@@ -1607,7 +1607,7 @@ public class LocationProviderManager extends
public @Nullable Location getLastLocation(LastLocationRequest request,
CallerIdentity identity, @PermissionLevel int permissionLevel) {
- request = calculateLastLocationRequest(request);
+ request = calculateLastLocationRequest(request, identity);
if (!isActive(request.isBypass(), identity)) {
return null;
@@ -1636,15 +1636,16 @@ public class LocationProviderManager extends
return location;
}
- private LastLocationRequest calculateLastLocationRequest(LastLocationRequest baseRequest) {
+ private LastLocationRequest calculateLastLocationRequest(LastLocationRequest baseRequest,
+ CallerIdentity identity) {
LastLocationRequest.Builder builder = new LastLocationRequest.Builder(baseRequest);
boolean locationSettingsIgnored = baseRequest.isLocationSettingsIgnored();
if (locationSettingsIgnored) {
// if we are not currently allowed use location settings ignored, disable it
if (!mSettingsHelper.getIgnoreSettingsAllowlist().contains(
- getIdentity().getPackageName(), getIdentity().getAttributionTag())
- && !mLocationManagerInternal.isProvider(null, getIdentity())) {
+ identity.getPackageName(), identity.getAttributionTag())
+ && !mLocationManagerInternal.isProvider(null, identity)) {
locationSettingsIgnored = false;
}
@@ -1658,7 +1659,7 @@ public class LocationProviderManager extends
Log.e(TAG, "adas gnss bypass request received in non-gps provider");
adasGnssBypass = false;
} else if (!mLocationSettings.getUserSettings(
- getIdentity().getUserId()).isAdasGnssLocationEnabled()) {
+ identity.getUserId()).isAdasGnssLocationEnabled()) {
adasGnssBypass = false;
}
diff --git a/services/tests/mockingservicestests/src/com/android/server/location/provider/LocationProviderManagerTest.java b/services/tests/mockingservicestests/src/com/android/server/location/provider/LocationProviderManagerTest.java
index 4e4854c6688d..d8f409dfce66 100644
--- a/services/tests/mockingservicestests/src/com/android/server/location/provider/LocationProviderManagerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/location/provider/LocationProviderManagerTest.java
@@ -213,7 +213,7 @@ public class LocationProviderManagerTest {
public void testProperties() {
assertThat(mManager.getName()).isEqualTo(NAME);
assertThat(mManager.getProperties()).isEqualTo(PROPERTIES);
- assertThat(mManager.getIdentity()).isEqualTo(IDENTITY);
+ assertThat(mManager.getProviderIdentity()).isEqualTo(IDENTITY);
assertThat(mManager.hasProvider()).isTrue();
ProviderProperties newProperties = new ProviderProperties.Builder()
@@ -230,7 +230,7 @@ public class LocationProviderManagerTest {
CallerIdentity newIdentity = CallerIdentity.forTest(OTHER_USER, 1, "otherpackage",
"otherattribution");
mProvider.setIdentity(newIdentity);
- assertThat(mManager.getIdentity()).isEqualTo(newIdentity);
+ assertThat(mManager.getProviderIdentity()).isEqualTo(newIdentity);
mManager.setRealProvider(null);
assertThat(mManager.hasProvider()).isFalse();