forked from upstream-mirrors/OpenTracks
Rename IntervalStatistics to IntervalStatisticsUpdater.
This commit is contained in:
+14
-14
@@ -33,9 +33,9 @@ import de.dennisguse.opentracks.data.models.Track;
|
|||||||
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.settings.UnitSystem;
|
import de.dennisguse.opentracks.settings.UnitSystem;
|
||||||
import de.dennisguse.opentracks.stats.SensorStatistics;
|
|
||||||
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
|
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
|
||||||
import de.dennisguse.opentracks.ui.intervals.IntervalStatistics;
|
import de.dennisguse.opentracks.stats.SensorStatistics;
|
||||||
|
import de.dennisguse.opentracks.ui.intervals.IntervalStatisticsUpdater;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class VoiceAnnouncementUtilsTest {
|
public class VoiceAnnouncementUtilsTest {
|
||||||
@@ -163,10 +163,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
@@ -214,10 +214,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
@@ -328,10 +328,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
@@ -379,10 +379,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
@@ -409,10 +409,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
@@ -447,10 +447,10 @@ public class VoiceAnnouncementUtilsTest {
|
|||||||
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
Pair<Track.Id, SegmentStatisticUpdater> trackWithStats = TestDataUtil.buildTrackWithTrackPoints(contentProviderUtils, numberOfPoints);
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater stats = trackWithStats.second;
|
SegmentStatisticUpdater stats = trackWithStats.second;
|
||||||
IntervalStatistics.Interval lastInterval;
|
IntervalStatisticsUpdater.Interval lastInterval;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
assertEquals(numberOfPoints, trackPointIterator.getCount());
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(1000));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(1000));
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
lastInterval = intervalStatistics.getIntervalList().get(intervalStatistics.getIntervalList().size() - 1);
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -25,9 +25,9 @@ import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
|
|||||||
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater;
|
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater;
|
||||||
|
|
||||||
@RunWith(JUnit4.class)
|
@RunWith(JUnit4.class)
|
||||||
public class IntervalStatisticsTest {
|
public class IntervalStatisticsUpdaterTest {
|
||||||
|
|
||||||
private static final String TAG = IntervalStatisticsTest.class.getSimpleName();
|
private static final String TAG = IntervalStatisticsUpdaterTest.class.getSimpleName();
|
||||||
|
|
||||||
private final Context context = ApplicationProvider.getApplicationContext();
|
private final Context context = ApplicationProvider.getApplicationContext();
|
||||||
private ContentProviderUtils contentProviderUtils;
|
private ContentProviderUtils contentProviderUtils;
|
||||||
@@ -148,19 +148,19 @@ public class IntervalStatisticsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void whenAndThen(Pair<Track.Id, SegmentStatisticUpdater> trackWithStats, int numberOfPoints, float distanceInterval) {
|
private void whenAndThen(Pair<Track.Id, SegmentStatisticUpdater> trackWithStats, int numberOfPoints, float distanceInterval) {
|
||||||
IntervalStatistics intervalStatistics = new IntervalStatistics(Distance.of(distanceInterval));
|
IntervalStatisticsUpdater intervalStatistics = new IntervalStatisticsUpdater(Distance.of(distanceInterval));
|
||||||
Track.Id trackId = trackWithStats.first;
|
Track.Id trackId = trackWithStats.first;
|
||||||
SegmentStatisticUpdater trackStatistics = trackWithStats.second;
|
SegmentStatisticUpdater trackStatistics = trackWithStats.second;
|
||||||
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(trackId, null)) {
|
||||||
assertEquals(trackPointIterator.getCount(), numberOfPoints);
|
assertEquals(trackPointIterator.getCount(), numberOfPoints);
|
||||||
intervalStatistics.addTrackPoints(trackPointIterator);
|
intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
}
|
}
|
||||||
List<IntervalStatistics.Interval> intervalList = intervalStatistics.getIntervalList();
|
List<IntervalStatisticsUpdater.Interval> intervalList = intervalStatistics.getIntervalList();
|
||||||
Distance totalDistance = Distance.of(0);
|
Distance totalDistance = Distance.of(0);
|
||||||
float totalTime = 0L;
|
float totalTime = 0L;
|
||||||
Float totalGain = null;
|
Float totalGain = null;
|
||||||
Float totalLoss = null;
|
Float totalLoss = null;
|
||||||
for (IntervalStatistics.Interval i : intervalList) {
|
for (IntervalStatisticsUpdater.Interval i : intervalList) {
|
||||||
totalDistance = totalDistance.plus(i.getDistance());
|
totalDistance = totalDistance.plus(i.getDistance());
|
||||||
totalTime += i.getDistance().toM() / i.getSpeed().toMPS();
|
totalTime += i.getDistance().toM() / i.getSpeed().toMPS();
|
||||||
|
|
||||||
@@ -184,12 +184,12 @@ public class IntervalStatisticsTest {
|
|||||||
if (totalGain != null) {
|
if (totalGain != null) {
|
||||||
assertEquals(totalGain, numberOfPoints * TestDataUtil.ALTITUDE_GAIN, 0.1);
|
assertEquals(totalGain, numberOfPoints * TestDataUtil.ALTITUDE_GAIN, 0.1);
|
||||||
} else {
|
} else {
|
||||||
assertTrue(intervalStatistics.getIntervalList().stream().noneMatch(IntervalStatistics.Interval::hasGain));
|
assertTrue(intervalStatistics.getIntervalList().stream().noneMatch(IntervalStatisticsUpdater.Interval::hasGain));
|
||||||
}
|
}
|
||||||
if (totalLoss != null) {
|
if (totalLoss != null) {
|
||||||
assertEquals(totalLoss, numberOfPoints * TestDataUtil.ALTITUDE_LOSS, 0.1);
|
assertEquals(totalLoss, numberOfPoints * TestDataUtil.ALTITUDE_LOSS, 0.1);
|
||||||
} else {
|
} else {
|
||||||
assertTrue(intervalStatistics.getIntervalList().stream().noneMatch(IntervalStatistics.Interval::hasLoss));
|
assertTrue(intervalStatistics.getIntervalList().stream().noneMatch(IntervalStatisticsUpdater.Interval::hasLoss));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < intervalList.size() - 1; i++) {
|
for (int i = 0; i < intervalList.size() - 1; i++) {
|
||||||
+5
-5
@@ -38,7 +38,7 @@ import de.dennisguse.opentracks.data.models.TrackPoint;
|
|||||||
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.stats.SensorStatistics;
|
import de.dennisguse.opentracks.stats.SensorStatistics;
|
||||||
import de.dennisguse.opentracks.ui.intervals.IntervalStatistics;
|
import de.dennisguse.opentracks.ui.intervals.IntervalStatisticsUpdater;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a periodic task on a time or distance schedule.
|
* Execute a periodic task on a time or distance schedule.
|
||||||
@@ -69,14 +69,14 @@ public class VoiceAnnouncementManager implements SharedPreferences.OnSharedPrefe
|
|||||||
private final ContentProviderUtils contentProviderUtils;
|
private final ContentProviderUtils contentProviderUtils;
|
||||||
private TrackPoint.Id startTrackPointId = null;
|
private TrackPoint.Id startTrackPointId = null;
|
||||||
|
|
||||||
private IntervalStatistics intervalStatistics;
|
private IntervalStatisticsUpdater intervalStatistics;
|
||||||
private Distance intervalDistance;
|
private Distance intervalDistance;
|
||||||
|
|
||||||
public VoiceAnnouncementManager(@NonNull Context context) {
|
public VoiceAnnouncementManager(@NonNull Context context) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
contentProviderUtils = new ContentProviderUtils(context);
|
contentProviderUtils = new ContentProviderUtils(context);
|
||||||
intervalDistance = PreferencesUtils.getVoiceAnnouncementDistance();
|
intervalDistance = PreferencesUtils.getVoiceAnnouncementDistance();
|
||||||
intervalStatistics = new IntervalStatistics(intervalDistance);
|
intervalStatistics = new IntervalStatisticsUpdater(intervalDistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void start(@Nullable Statistics trackStatistics) {
|
public void start(@Nullable Statistics trackStatistics) {
|
||||||
@@ -144,14 +144,14 @@ public class VoiceAnnouncementManager implements SharedPreferences.OnSharedPrefe
|
|||||||
private Spannable createAnnouncement(Track track, SensorDataSet sensorDataSet) {
|
private Spannable createAnnouncement(Track track, SensorDataSet sensorDataSet) {
|
||||||
Distance currentIntervalDistance = PreferencesUtils.getVoiceAnnouncementDistance();
|
Distance currentIntervalDistance = PreferencesUtils.getVoiceAnnouncementDistance();
|
||||||
if (currentIntervalDistance != intervalDistance) {
|
if (currentIntervalDistance != intervalDistance) {
|
||||||
intervalStatistics = new IntervalStatistics(currentIntervalDistance);
|
intervalStatistics = new IntervalStatisticsUpdater(currentIntervalDistance);
|
||||||
intervalDistance = currentIntervalDistance;
|
intervalDistance = currentIntervalDistance;
|
||||||
startTrackPointId = null;
|
startTrackPointId = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
TrackPointIterator trackPointIterator = new TrackPointIterator(contentProviderUtils, track.getId(), startTrackPointId);
|
TrackPointIterator trackPointIterator = new TrackPointIterator(contentProviderUtils, track.getId(), startTrackPointId);
|
||||||
startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
startTrackPointId = intervalStatistics.addTrackPoints(trackPointIterator);
|
||||||
IntervalStatistics.Interval lastInterval = intervalStatistics.getLastInterval();
|
IntervalStatisticsUpdater.Interval lastInterval = intervalStatistics.getLastInterval();
|
||||||
SensorStatistics sensorStatistics = null;
|
SensorStatistics sensorStatistics = null;
|
||||||
if (track.getId() != null) {
|
if (track.getId() != null) {
|
||||||
sensorStatistics = contentProviderUtils.getSensorStats(track.getId());
|
sensorStatistics = contentProviderUtils.getSensorStats(track.getId());
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ import de.dennisguse.opentracks.data.models.Track;
|
|||||||
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
||||||
import de.dennisguse.opentracks.settings.UnitSystem;
|
import de.dennisguse.opentracks.settings.UnitSystem;
|
||||||
import de.dennisguse.opentracks.stats.SensorStatistics;
|
import de.dennisguse.opentracks.stats.SensorStatistics;
|
||||||
import de.dennisguse.opentracks.ui.intervals.IntervalStatistics;
|
import de.dennisguse.opentracks.ui.intervals.IntervalStatisticsUpdater;
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
|
|
||||||
class VoiceAnnouncementUtils {
|
class VoiceAnnouncementUtils {
|
||||||
@@ -51,7 +51,7 @@ class VoiceAnnouncementUtils {
|
|||||||
.append(context.getString(R.string.voiceIdle));
|
.append(context.getString(R.string.voiceIdle));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Spannable createStatistics(Context context, Track track, SensorDataSet sensorDataSet, UnitSystem unitSystem, boolean isReportSpeed, @Nullable IntervalStatistics.Interval currentInterval, @Nullable SensorStatistics sensorStatistics) {
|
static Spannable createStatistics(Context context, Track track, SensorDataSet sensorDataSet, UnitSystem unitSystem, boolean isReportSpeed, @Nullable IntervalStatisticsUpdater.Interval currentInterval, @Nullable SensorStatistics sensorStatistics) {
|
||||||
Statistics trackStatistics = track.getStatistics();
|
Statistics trackStatistics = track.getStatistics();
|
||||||
|
|
||||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import de.dennisguse.opentracks.util.StringUtils;
|
|||||||
|
|
||||||
public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||||
|
|
||||||
private List<IntervalStatistics.Interval> intervalList;
|
private List<IntervalStatisticsUpdater.Interval> intervalList;
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final StackMode stackMode;
|
private final StackMode stackMode;
|
||||||
private UnitSystem unitSystem;
|
private UnitSystem unitSystem;
|
||||||
@@ -43,7 +43,7 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
|
|||||||
int nextPosition = actualPosition + 1;
|
int nextPosition = actualPosition + 1;
|
||||||
boolean isLast = actualPosition == getItemCount() - 1;
|
boolean isLast = actualPosition == getItemCount() - 1;
|
||||||
IntervalStatisticsAdapter.ViewHolder viewHolder = (IntervalStatisticsAdapter.ViewHolder) holder;
|
IntervalStatisticsAdapter.ViewHolder viewHolder = (IntervalStatisticsAdapter.ViewHolder) holder;
|
||||||
IntervalStatistics.Interval interval = intervalList.get(actualPosition);
|
IntervalStatisticsUpdater.Interval interval = intervalList.get(actualPosition);
|
||||||
viewHolder.itemView.setTag(actualPosition);
|
viewHolder.itemView.setTag(actualPosition);
|
||||||
|
|
||||||
Distance sumDistance;
|
Distance sumDistance;
|
||||||
@@ -73,7 +73,7 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
|
|||||||
return intervalList.size();
|
return intervalList.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<IntervalStatistics.Interval> swapData(List<IntervalStatistics.Interval> data, UnitSystem unitSystem, boolean isReportSpeed) {
|
public List<IntervalStatisticsUpdater.Interval> swapData(List<IntervalStatisticsUpdater.Interval> data, UnitSystem unitSystem, boolean isReportSpeed) {
|
||||||
this.unitSystem = unitSystem;
|
this.unitSystem = unitSystem;
|
||||||
this.isReportSpeed = isReportSpeed;
|
this.isReportSpeed = isReportSpeed;
|
||||||
intervalList = data;
|
intervalList = data;
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
|
|
||||||
private static final String TAG = IntervalStatisticsModel.class.getSimpleName();
|
private static final String TAG = IntervalStatisticsModel.class.getSimpleName();
|
||||||
|
|
||||||
private MutableLiveData<List<IntervalStatistics.Interval>> intervalsLiveData;
|
private MutableLiveData<List<IntervalStatisticsUpdater.Interval>> intervalsLiveData;
|
||||||
private IntervalStatistics intervalStatistics;
|
private IntervalStatisticsUpdater intervalStatistics;
|
||||||
private Distance distanceInterval;
|
private Distance distanceInterval;
|
||||||
private final ContentResolver contentResolver;
|
private final ContentResolver contentResolver;
|
||||||
private ContentObserver trackPointsTableObserver;
|
private ContentObserver trackPointsTableObserver;
|
||||||
@@ -65,7 +65,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
handler = null;
|
handler = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MutableLiveData<List<IntervalStatistics.Interval>> getIntervalStats(Track.Id trackId, UnitSystem unitSystem, @Nullable IntervalOption interval) {
|
public MutableLiveData<List<IntervalStatisticsUpdater.Interval>> getIntervalStats(Track.Id trackId, UnitSystem unitSystem, @Nullable IntervalOption interval) {
|
||||||
if (intervalsLiveData == null) {
|
if (intervalsLiveData == null) {
|
||||||
if (interval == null) {
|
if (interval == null) {
|
||||||
interval = IntervalOption.OPTION_1;
|
interval = IntervalOption.OPTION_1;
|
||||||
@@ -73,7 +73,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
|
|
||||||
intervalsLiveData = new MutableLiveData<>();
|
intervalsLiveData = new MutableLiveData<>();
|
||||||
distanceInterval = interval.getDistance(unitSystem);
|
distanceInterval = interval.getDistance(unitSystem);
|
||||||
intervalStatistics = new IntervalStatistics(distanceInterval);
|
intervalStatistics = new IntervalStatisticsUpdater(distanceInterval);
|
||||||
|
|
||||||
loadIntervalStatistics(trackId);
|
loadIntervalStatistics(trackId);
|
||||||
}
|
}
|
||||||
@@ -112,7 +112,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
|
|
||||||
lastTrackPointId = null;
|
lastTrackPointId = null;
|
||||||
distanceInterval = interval.getDistance(unitSystem);
|
distanceInterval = interval.getDistance(unitSystem);
|
||||||
intervalStatistics = new IntervalStatistics(distanceInterval);
|
intervalStatistics = new IntervalStatisticsUpdater(distanceInterval);
|
||||||
loadIntervalStatistics(trackId);
|
loadIntervalStatistics(trackId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -15,7 +15,7 @@ import de.dennisguse.opentracks.data.models.TrackPoint;
|
|||||||
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
|
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
|
||||||
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater;
|
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater;
|
||||||
|
|
||||||
public class IntervalStatistics {
|
public class IntervalStatisticsUpdater {
|
||||||
private TrackStatisticsUpdater trackStatisticsUpdater = new TrackStatisticsUpdater();
|
private TrackStatisticsUpdater trackStatisticsUpdater = new TrackStatisticsUpdater();
|
||||||
private final List<Interval> intervalList;
|
private final List<Interval> intervalList;
|
||||||
private final Distance distanceInterval;
|
private final Distance distanceInterval;
|
||||||
@@ -24,7 +24,7 @@ public class IntervalStatistics {
|
|||||||
/**
|
/**
|
||||||
* @param distanceInterval distance of every interval.
|
* @param distanceInterval distance of every interval.
|
||||||
*/
|
*/
|
||||||
public IntervalStatistics(Distance distanceInterval) {
|
public IntervalStatisticsUpdater(Distance distanceInterval) {
|
||||||
this.distanceInterval = distanceInterval;
|
this.distanceInterval = distanceInterval;
|
||||||
|
|
||||||
interval = new Interval();
|
interval = new Interval();
|
||||||
@@ -192,7 +192,7 @@ public class IntervalsFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewBinding.intervalRate.setText(isReportSpeed ? getString(R.string.stats_speed) : getString(R.string.stats_pace));
|
viewBinding.intervalRate.setText(isReportSpeed ? getString(R.string.stats_speed) : getString(R.string.stats_pace));
|
||||||
LiveData<List<IntervalStatistics.Interval>> liveData = viewModel.getIntervalStats(trackId, unitSystem, selectedInterval);
|
LiveData<List<IntervalStatisticsUpdater.Interval>> liveData = viewModel.getIntervalStats(trackId, unitSystem, selectedInterval);
|
||||||
liveData.observe(getActivity(), intervalList -> adapter.swapData(intervalList, unitSystem, isReportSpeed));
|
liveData.observe(getActivity(), intervalList -> adapter.swapData(intervalList, unitSystem, isReportSpeed));
|
||||||
|
|
||||||
setIntervalsDropdownText();
|
setIntervalsDropdownText();
|
||||||
|
|||||||
Reference in New Issue
Block a user