summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mohammed Khider <gomo@google.com> 2017-12-16 04:19:23 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-12-16 04:19:23 +0000
commit759d8529c931cc3fb8cc4bf283da2413966c9968 (patch)
tree28bfa6a691fdd176f73cbd9c578bb03209589108
parent58a6cf6afe21d7e068ae736135634e15cb138b52 (diff)
parent300b24041e3a59ef886f1197fd7efa542bf2a26a (diff)
Merge "Allow interval updating when no GPS fix & scheduling not supported."
-rw-r--r--services/core/java/com/android/server/location/GnssLocationProvider.java8
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());