From 65bda35001e301baab1ae07fd35ed5185317494a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n?= Date: Mon, 27 Apr 2020 12:44:03 +0200 Subject: [PATCH] Preferred rate settings adapted to new code changes. --- .../de/dennisguse/opentracks/fragments/ChartFragment.java | 5 +++++ .../de/dennisguse/opentracks/fragments/StatsFragment.java | 2 +- .../opentracks/services/tasks/AnnouncementPeriodicTask.java | 6 +++++- .../de/dennisguse/opentracks/util/AnnouncementUtils.java | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/fragments/ChartFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/ChartFragment.java index 74c4534b6..4a54b3382 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/ChartFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/ChartFragment.java @@ -199,6 +199,11 @@ public class ChartFragment extends Fragment implements TrackDataListener { } category = track.getCategory(); + boolean reportSpeed = PreferencesUtils.isReportSpeed(getContext(), category); + if (reportSpeed != chartView.getReportSpeed()) { + chartView.setReportSpeed(reportSpeed); + chartView.applyReportSpeed(); + } startTime = track.getTrackStatistics().getStartTime_ms(); } } diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java index fdd695919..4fd9d7fba 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java @@ -643,7 +643,7 @@ public class StatsFragment extends Fragment implements TrackDataListener { private void setSpeed(double speed) { boolean metricUnits = PreferencesUtils.isMetricUnits(getContext()); - boolean reportSpeed = PreferencesUtils.isReportSpeed(getContext()); + boolean reportSpeed = PreferencesUtils.isReportSpeed(getContext(), category); speedLabel.setText(reportSpeed ? R.string.stats_speed : R.string.stats_pace); diff --git a/src/main/java/de/dennisguse/opentracks/services/tasks/AnnouncementPeriodicTask.java b/src/main/java/de/dennisguse/opentracks/services/tasks/AnnouncementPeriodicTask.java index 10a33c75c..21b8476e5 100644 --- a/src/main/java/de/dennisguse/opentracks/services/tasks/AnnouncementPeriodicTask.java +++ b/src/main/java/de/dennisguse/opentracks/services/tasks/AnnouncementPeriodicTask.java @@ -26,10 +26,12 @@ import android.util.Log; import java.util.Locale; import de.dennisguse.opentracks.R; +import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; import de.dennisguse.opentracks.services.TrackRecordingService; import de.dennisguse.opentracks.stats.TrackStatistics; import de.dennisguse.opentracks.util.AnnouncementUtils; +import de.dennisguse.opentracks.util.PreferencesUtils; /** * This class will periodically announce the user's {@link TrackStatistics}. @@ -162,7 +164,9 @@ public class AnnouncementPeriodicTask implements PeriodicTask { Log.i(TAG, "Speech is not allowed at this time."); return; } - String announcement = AnnouncementUtils.getAnnouncement(context, trackStatistics); + Track track = contentProviderUtils.getTrack(PreferencesUtils.getRecordingTrackId(context)); + String category = track != null ? track.getCategory() : ""; + String announcement = AnnouncementUtils.getAnnouncement(context, trackStatistics, category); speakAnnouncement(announcement); } diff --git a/src/main/java/de/dennisguse/opentracks/util/AnnouncementUtils.java b/src/main/java/de/dennisguse/opentracks/util/AnnouncementUtils.java index 34f7cbe2e..dff5714d3 100644 --- a/src/main/java/de/dennisguse/opentracks/util/AnnouncementUtils.java +++ b/src/main/java/de/dennisguse/opentracks/util/AnnouncementUtils.java @@ -9,9 +9,9 @@ public class AnnouncementUtils { private AnnouncementUtils() {} - public static String getAnnouncement(Context context, TrackStatistics trackStatistics) { + public static String getAnnouncement(Context context, TrackStatistics trackStatistics, String category) { boolean metricUnits = PreferencesUtils.isMetricUnits(context); - boolean reportSpeed = PreferencesUtils.isReportSpeed(context); + boolean reportSpeed = PreferencesUtils.isReportSpeed(context, category); double distance = trackStatistics.getTotalDistance() * UnitConversions.M_TO_KM; double distancePerTime = trackStatistics.getAverageMovingSpeed() * UnitConversions.MS_TO_KMH;