From b784a47af6bf16f6810376d68e2548fabf44de50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n=20Mart=C3=ADnez?= Date: Fri, 23 Apr 2021 11:40:24 +0200 Subject: [PATCH] Bugfix: track stats always show pace. Fixes #726. --- .../fragments/StatisticsRecordedFragment.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java index 0078d9440..af375ac33 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java @@ -18,6 +18,7 @@ package de.dennisguse.opentracks.fragments; import android.content.SharedPreferences; import android.os.Bundle; +import android.util.Log; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; @@ -54,6 +55,8 @@ import de.dennisguse.opentracks.viewmodels.SensorDataModel; */ public class StatisticsRecordedFragment extends Fragment { + private static final String TAG = StatisticsRecordedFragment.class.getSimpleName(); + private static final String TRACK_ID_KEY = "trackId"; public static StatisticsRecordedFragment newInstance(Track.Id trackId) { @@ -154,13 +157,19 @@ public class StatisticsRecordedFragment extends Fragment { getActivity().runOnUiThread(() -> { if (isResumed()) { Track track = contentProviderUtils.getTrack(trackId); - sensorStatistics = contentProviderUtils.getSensorStats(trackId); - - if ((this.track == null && track != null) || (this.track != null && track != null && !this.track.getCategory().equals(track.getCategory()))) { - sharedPreferenceChangeListener.onSharedPreferenceChanged(sharedPreferences, getString(R.string.stats_rate_key)); + if (track == null) { + Log.e(TAG, "track cannot be null"); + getActivity().finish(); + return; } + sensorStatistics = contentProviderUtils.getSensorStats(trackId); + + boolean prefsChanged = this.track == null || (!this.track.getCategory().equals(track.getCategory())); this.track = track; + if (prefsChanged) { + sharedPreferenceChangeListener.onSharedPreferenceChanged(sharedPreferences, getString(R.string.stats_rate_key)); + } loadTrackDescription(track); updateUI();