diff --git a/src/main/java/de/dennisguse/opentracks/TrackRecordingActivity.java b/src/main/java/de/dennisguse/opentracks/TrackRecordingActivity.java
index b2310fb11..35e6bbe69 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackRecordingActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackRecordingActivity.java
@@ -390,6 +390,10 @@ public class TrackRecordingActivity extends AbstractActivity implements ChooseAc
return;
}
+ if (!PreferencesUtils.shouldShowGpsDisabledWarning()) {
+ return;
+ }
+
snackbar = Snackbar
.make(viewBinding.trackRecordingCoordinatorLayout,
getString(R.string.gps_recording_status, getString(gpsStatusValue.message), getString(R.string.gps_recording_without_signal)),
diff --git a/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java b/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java
index af3f002c2..7777d2fdb 100644
--- a/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java
+++ b/src/main/java/de/dennisguse/opentracks/settings/PreferencesUtils.java
@@ -318,6 +318,11 @@ public class PreferencesUtils {
return getBoolean(R.string.stats_fullscreen_while_recording_key, DEFAULT);
}
+ public static boolean shouldShowGpsDisabledWarning() {
+ final boolean DEFAULT = resources.getBoolean(R.bool.stats_show_gps_disabled_warnings_default);
+ return getBoolean(R.string.stats_show_gps_disabled_warnings_key, DEFAULT);
+ }
+
public static boolean shouldShowElevation() {
final boolean DEFAULT = resources.getBoolean(R.bool.chart_display_elevation_default);
return getBoolean(R.string.chart_display_elevation_key, DEFAULT);
diff --git a/src/main/res/values/settings.xml b/src/main/res/values/settings.xml
index db5faac93..1bdd2cd62 100644
--- a/src/main/res/values/settings.xml
+++ b/src/main/res/values/settings.xml
@@ -286,6 +286,9 @@
trackdetail_fullscreen_while_recording
false
+ trackdetail_show_gps_disabled_warnings
+ true
+
chart_display_elevation
true
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index baf41380f..351b3f1c3 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -362,6 +362,8 @@ limitations under the License.
While recording, keep the screen on.
Fullscreen
While recording, present in fullscreen.
+ GPS disabled warning
+ While recording, show a warning if GPS is disabled.
Default activity type
%1$s between location checks
A new segment is created if the distance between two locations is greater than %1$s
diff --git a/src/main/res/xml/settings_user_interface.xml b/src/main/res/xml/settings_user_interface.xml
index 9596502f6..a037f0c0e 100644
--- a/src/main/res/xml/settings_user_interface.xml
+++ b/src/main/res/xml/settings_user_interface.xml
@@ -56,6 +56,12 @@
android:key="@string/stats_fullscreen_while_recording_key"
android:summary="@string/settings_recording_fullscreen_on_while_recording_summary"
android:title="@string/settings_recording_fullscreen_on_while_recording_title" />
+
+