From 80a8017a181d24528ef2e9f6f6bf15ff1609aea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n?= Date: Thu, 13 Aug 2020 11:08:55 +0200 Subject: [PATCH] GPS Status: animation icon for ready but not fixed status (GPS bad signal). --- .../opentracks/TrackListActivity.java | 4 ++ .../services/handlers/GpsStatusValue.java | 2 +- .../res/drawable/ic_gps_ready_animation.xml | 37 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/main/res/drawable/ic_gps_ready_animation.xml diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java index a6be36737..5c7e0b185 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java @@ -24,6 +24,7 @@ import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.pm.PackageManager; import android.database.Cursor; +import android.graphics.drawable.AnimatedVectorDrawable; import android.location.LocationManager; import android.os.Bundle; import android.provider.Settings; @@ -467,6 +468,9 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe if (!isRecording) { startGpsMenuItem.setTitle(isGpsStarted ? R.string.menu_stop_gps : R.string.menu_start_gps); startGpsMenuItem.setIcon(isGpsStarted ? gpsStatusValue.icon : R.drawable.ic_gps_off_24dp); + if (startGpsMenuItem.getIcon() instanceof AnimatedVectorDrawable) { + ((AnimatedVectorDrawable) startGpsMenuItem.getIcon()).start(); + } } } } diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusValue.java b/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusValue.java index 53777d11f..db3a5315b 100644 --- a/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusValue.java +++ b/src/main/java/de/dennisguse/opentracks/services/handlers/GpsStatusValue.java @@ -10,7 +10,7 @@ public enum GpsStatusValue { GPS_ENABLED(R.drawable.ic_gps_not_fixed_24dp, R.string.gps_wait_for_signal), GPS_DISABLED(R.drawable.ic_gps_off_24dp, R.string.gps_disabled_msg), GPS_SIGNAL_FIX(R.drawable.ic_gps_fixed_24dp, R.string.gps_fixed_and_ready), - GPS_SIGNAL_BAD(R.drawable.ic_gps_fixed_24dp, R.string.gps_wait_for_better_signal), + GPS_SIGNAL_BAD(R.drawable.ic_gps_ready_animation, R.string.gps_wait_for_better_signal), GPS_SIGNAL_LOST(R.drawable.ic_gps_not_fixed_24dp, R.string.gps_wait_for_signal); public final int icon; diff --git a/src/main/res/drawable/ic_gps_ready_animation.xml b/src/main/res/drawable/ic_gps_ready_animation.xml new file mode 100644 index 000000000..a0cc60b41 --- /dev/null +++ b/src/main/res/drawable/ic_gps_ready_animation.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + +