diff options
| author | 2016-10-07 21:05:55 +0000 | |
|---|---|---|
| committer | 2016-10-07 21:05:57 +0000 | |
| commit | d270004959b68abf432a0ff50926f57ffadb15cd (patch) | |
| tree | 1907c9589cc7318cde84dbb254cc49464d968b60 | |
| parent | 35d2d12159c89c7a4eb37a01d517a3cef953c3ac (diff) | |
| parent | 0d6e54e2461efd6574a78b664c42ef72cd2a79ba (diff) | |
Merge "Removing over-active NTP & XTRA assistance downloads" into nyc-mr1-dev
| -rw-r--r-- | services/core/java/com/android/server/location/GnssLocationProvider.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 7580cf4f0111..ae98077c7c2c 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -452,8 +452,12 @@ public class GnssLocationProvider implements LocationProviderInterface { new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { - requestUtcTime(); - xtraDownloadRequest(); + if (mInjectNtpTimePending == STATE_PENDING_NETWORK) { + requestUtcTime(); + } + if (mDownloadXtraDataPending == STATE_PENDING_NETWORK) { + xtraDownloadRequest(); + } } }; @@ -1002,6 +1006,11 @@ public class GnssLocationProvider implements LocationProviderInterface { } private void handleDownloadXtraData() { + if (!mSupportsXtra) { + // native code reports xtra not supported, don't try + Log.d(TAG, "handleDownloadXtraData() called when Xtra not supported"); + return; + } if (mDownloadXtraDataPending == STATE_DOWNLOADING) { // already downloading data return; @@ -2125,9 +2134,7 @@ public class GnssLocationProvider implements LocationProviderInterface { handleInjectNtpTime(); break; case DOWNLOAD_XTRA_DATA: - if (mSupportsXtra) { - handleDownloadXtraData(); - } + handleDownloadXtraData(); break; case INJECT_NTP_TIME_FINISHED: mInjectNtpTimePending = STATE_IDLE; |