GpsLocationProvider: Be less aggressive about getting fixes in bad conditions if we have a long fix interval.

Change-Id: I68bd884409ca15e584ab70e53cf142d60f318d9c
BUG: 2215714

Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2010-02-24 14:34:50 -05:00
parent 63598a0619
commit b7be5447a0

View File

@@ -761,7 +761,7 @@ public class GpsLocationProvider implements LocationProviderInterface {
positionMode = GPS_POSITION_MODE_STANDALONE;
}
if (!native_start(positionMode, false, mFixInterval)) {
if (!native_start(positionMode, false, 1)) {
mStarted = false;
Log.e(TAG, "native_start failed in startNavigating()");
return;
@@ -872,7 +872,12 @@ public class GpsLocationProvider implements LocationProviderInterface {
}
if (mStarted && mStatus != LocationProvider.AVAILABLE) {
mAlarmManager.cancel(mTimeoutIntent);
// we still want to time out if we do not receive MIN_FIX_COUNT
// within the time out and we are requesting infrequent fixes
if (mFixInterval < NO_FIX_TIMEOUT) {
mAlarmManager.cancel(mTimeoutIntent);
}
// send an intent to notify that the GPS is receiving fixes.
Intent intent = new Intent(GPS_FIX_CHANGE_ACTION);
intent.putExtra(EXTRA_ENABLED, true);