Don't hold wakelocks for passive requests am: eca0b750e7 am: 97e1cd37d5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16265552

Change-Id: Iaeed7edd6629c7e1616947499851d1cb64912fb2
This commit is contained in:
Soonil Nagarkar
2021-11-16 00:55:09 +00:00
committed by Automerger Merge Worker

View File

@@ -911,18 +911,21 @@ public class LocationProviderManager extends
@Override
public void onPreExecute() {
mUseWakeLock = false;
final int size = locationResult.size();
for (int i = 0; i < size; ++i) {
if (!locationResult.get(i).isMock()) {
mUseWakeLock = true;
break;
// don't acquire a wakelock for passive requests or for mock locations
if (getRequest().getIntervalMillis() != LocationRequest.PASSIVE_INTERVAL) {
final int size = locationResult.size();
for (int i = 0; i < size; ++i) {
if (!locationResult.get(i).isMock()) {
mUseWakeLock = true;
break;
}
}
}
// update last delivered location
setLastDeliveredLocation(locationResult.getLastLocation());
// don't acquire a wakelock for mock locations to prevent abuse
if (mUseWakeLock) {
mWakeLock.acquire(WAKELOCK_TIMEOUT_MS);
}