Merge "Add a wakelock timeout when downloading xtra data for GNSS." into oc-dev

This commit is contained in:
TreeHugger Robot
2017-04-19 19:00:54 +00:00
committed by Android (Google) Code Review

View File

@@ -288,6 +288,9 @@ public class GnssLocationProvider implements LocationProviderInterface {
// current setting - 4 hours
private static final long MAX_RETRY_INTERVAL = 4*60*60*1000;
// Timeout when holding wakelocks for downloading XTRA data.
private static final long DOWNLOAD_XTRA_DATA_TIMEOUT_MS = 60 * 1000;
private BackOff mNtpBackOff = new BackOff(RETRY_INTERVAL, MAX_RETRY_INTERVAL);
private BackOff mXtraBackOff = new BackOff(RETRY_INTERVAL, MAX_RETRY_INTERVAL);
@@ -986,7 +989,7 @@ public class GnssLocationProvider implements LocationProviderInterface {
mDownloadXtraDataPending = STATE_DOWNLOADING;
// hold wake lock while task runs
mWakeLock.acquire();
mWakeLock.acquire(DOWNLOAD_XTRA_DATA_TIMEOUT_MS);
Log.i(TAG, "WakeLock acquired by handleDownloadXtraData()");
AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
@Override
@@ -1009,7 +1012,11 @@ public class GnssLocationProvider implements LocationProviderInterface {
}
// release wake lock held by task
mWakeLock.release();
if (mWakeLock.isHeld()) {
mWakeLock.release();
} else {
Log.e(TAG, "WakeLock expired before release in handleDownloadXtraData()");
}
Log.i(TAG, "WakeLock released by handleDownloadXtraData()");
}
});