summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wyatt Riley <wyattriley@google.com> 2016-10-05 12:03:03 -0700
committer Wyatt Riley <wyattriley@google.com> 2016-10-06 15:35:55 +0000
commit0d6e54e2461efd6574a78b664c42ef72cd2a79ba (patch)
tree239e838d52cf79a788297a2b7405084f4b53913d
parente8ebe112092f2fc37f467bea73147a45a10057a5 (diff)
Removing over-active NTP & XTRA assistance downloads
Restoring pre-Connectivity-Manager intended behavior of only pending-network NTP & XTRA downloads restarting when network connectivity returns Bug: 31864876 Fixes: 31864876 Change-Id: I5b967e75c610277988e8e9cfa1e938c999333edb
-rw-r--r--services/core/java/com/android/server/location/GnssLocationProvider.java17
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;