diff options
| author | 2017-12-16 04:19:23 +0000 | |
|---|---|---|
| committer | 2017-12-16 04:19:23 +0000 | |
| commit | 759d8529c931cc3fb8cc4bf283da2413966c9968 (patch) | |
| tree | 28bfa6a691fdd176f73cbd9c578bb03209589108 | |
| parent | 58a6cf6afe21d7e068ae736135634e15cb138b52 (diff) | |
| parent | 300b24041e3a59ef886f1197fd7efa542bf2a26a (diff) | |
Merge "Allow interval updating when no GPS fix & scheduling not supported."
| -rw-r--r-- | services/core/java/com/android/server/location/GnssLocationProvider.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index b324002e589c..3bd64467bca6 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -1328,6 +1328,14 @@ public class GnssLocationProvider implements LocationProviderInterface { } else if (!mStarted) { // start GPS startNavigating(singleShot); + } else { + // GNSS Engine is already ON, but no GPS_CAPABILITY_SCHEDULING + mAlarmManager.cancel(mTimeoutIntent); + if (mFixInterval >= NO_FIX_TIMEOUT) { + // set timer to give up if we do not receive a fix within NO_FIX_TIMEOUT + // and our fix interval is not short + mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, + SystemClock.elapsedRealtime() + NO_FIX_TIMEOUT, mTimeoutIntent); } } } else { updateClientUids(new WorkSource()); |