diff options
| -rw-r--r-- | services/core/java/com/android/server/LocationManagerService.java | 7 |
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 |