diff --git a/android/app/src/main/java/app/organicmaps/MwmActivity.java b/android/app/src/main/java/app/organicmaps/MwmActivity.java index 06f8608a6f..c82452abf3 100644 --- a/android/app/src/main/java/app/organicmaps/MwmActivity.java +++ b/android/app/src/main/java/app/organicmaps/MwmActivity.java @@ -1986,6 +1986,12 @@ public class MwmActivity extends BaseMwmFragmentActivity return; } + if (LocationState.nativeGetMode() == LocationState.NOT_FOLLOW_NO_POSITION) + { + Logger.d(LOCATION_TAG, "Don't show 'location timeout' error dialog in NOT_FOLLOW_NO_POSITION mode"); + return; + } + Logger.d(LOCATION_TAG, "services = " + LocationUtils.areLocationServicesTurnedOn(this)); // diff --git a/drape_frontend/my_position_controller.cpp b/drape_frontend/my_position_controller.cpp index 2e7d31c6ee..4472d19a39 100644 --- a/drape_frontend/my_position_controller.cpp +++ b/drape_frontend/my_position_controller.cpp @@ -640,7 +640,7 @@ void MyPositionController::ChangeMode(location::EMyPositionMode newMode) m_pendingTimer.Reset(); m_pendingStarted = true; } - else if (newMode != location::NotFollowNoPosition) + else { m_pendingStarted = false; } @@ -900,7 +900,7 @@ void MyPositionController::DeactivateRouting() void MyPositionController::CheckIsWaitingForLocation() { - if (IsWaitingForLocation() || m_mode == location::NotFollowNoPosition) + if (IsWaitingForLocation()) { CHECK_ON_TIMEOUT(m_locationWaitingNotifyId, kMaxPendingLocationTimeSec, CheckIsWaitingForLocation); if (m_pendingStarted && m_pendingTimer.ElapsedSeconds() >= kMaxPendingLocationTimeSec)