summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/LocationManagerService.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index e0b49603ac4f..36ec2eb9a192 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -1431,6 +1431,13 @@ public class LocationManagerService extends ILocationManager.Stub {
for (UpdateRecord record : records) {
if (isCurrentProfile(UserHandle.getUserId(record.mReceiver.mUid))) {
LocationRequest locationRequest = record.mRequest;
+
+ // Don't assign battery blame for update records whose
+ // client has no permission to receive location data.
+ if (!providerRequest.locationRequests.contains(locationRequest)) {
+ continue;
+ }
+
if (locationRequest.getInterval() <= thresholdInterval) {
if (record.mReceiver.mWorkSource != null
&& record.mReceiver.mWorkSource.size() > 0