Cleanup: split ActivityType and ActivityIcon.

Part of #1608.
This commit is contained in:
Dennis Guse
2023-06-26 23:56:41 +02:00
parent 425ea0f216
commit 477819d730
18 changed files with 224 additions and 124 deletions
@@ -25,7 +25,7 @@ public class AggregatedStatistics {
dataList.addAll(dataMap.values());
dataList.sort((o1, o2) -> {
if (o1.getCountTracks() == o2.getCountTracks()) {
return o1.getActivityType().compareTo(o2.getActivityType());
return o1.getActivityTypeLocalized().compareTo(o2.getActivityTypeLocalized());
}
return (o1.getCountTracks() < o2.getCountTracks() ? 1 : -1);
});
@@ -33,11 +33,11 @@ public class AggregatedStatistics {
@VisibleForTesting
public void aggregate(@NonNull Track track) {
String activityType = track.getActivityTypeLocalized();
if (dataMap.containsKey(activityType)) {
dataMap.get(activityType).add(track.getTrackStatistics());
String activityTypeLocalized = track.getActivityTypeLocalized();
if (dataMap.containsKey(activityTypeLocalized)) {
dataMap.get(activityTypeLocalized).add(track.getTrackStatistics());
} else {
dataMap.put(activityType, new AggregatedStatistic(activityType, track.getTrackStatistics()));
dataMap.put(activityTypeLocalized, new AggregatedStatistic(activityTypeLocalized, track.getTrackStatistics()));
}
}
@@ -54,17 +54,17 @@ public class AggregatedStatistics {
}
public static class AggregatedStatistic {
private final String activityType;
private final String activityTypeLocalized;
private final TrackStatistics trackStatistics;
private int countTracks = 1;
public AggregatedStatistic(String activityType, TrackStatistics trackStatistics) {
this.activityType = activityType;
public AggregatedStatistic(String activityTypeLocalized, TrackStatistics trackStatistics) {
this.activityTypeLocalized = activityTypeLocalized;
this.trackStatistics = trackStatistics;
}
public String getActivityType() {
return activityType;
public String getActivityTypeLocalized() {
return activityTypeLocalized;
}
public TrackStatistics getTrackStatistics() {
@@ -64,7 +64,7 @@ public class AggregatedStatisticsAdapter extends BaseAdapter {
}
Resources resources = context.getResources();
String localizedActivityType = aggregatedStatistic.getActivityType();
String localizedActivityType = aggregatedStatistic.getActivityTypeLocalized();
if (ActivityType.findByLocalizedString(resources, localizedActivityType)
.isShowSpeedPreferred()) {
viewHolder.setSpeed(aggregatedStatistic);
@@ -84,7 +84,7 @@ public class AggregatedStatisticsAdapter extends BaseAdapter {
public List<String> getCategories() {
List<String> categories = new ArrayList<>();
for (int i = 0; i < aggregatedStatistics.getCount(); i++) {
categories.add(aggregatedStatistics.getItem(i).getActivityType());
categories.add(aggregatedStatistics.getItem(i).getActivityTypeLocalized());
}
return categories;
}
@@ -163,7 +163,7 @@ public class AggregatedStatisticsAdapter extends BaseAdapter {
//TODO Check preference handling.
private void setCommonValues(AggregatedStatistics.AggregatedStatistic aggregatedStatistic) {
String activityType = aggregatedStatistic.getActivityType();
String activityType = aggregatedStatistic.getActivityTypeLocalized();
reportSpeed = PreferencesUtils.isReportSpeed(activityType);
unitSystem = PreferencesUtils.getUnitSystem();
@@ -182,7 +182,7 @@ public class AggregatedStatisticsAdapter extends BaseAdapter {
}
private int getIcon(AggregatedStatistics.AggregatedStatistic aggregatedStatistic) {
String localizedActivityType = aggregatedStatistic.getActivityType();
String localizedActivityType = aggregatedStatistic.getActivityTypeLocalized();
String iconValue = ActivityType.findByLocalizedString(context, localizedActivityType)
.getIconId();
return ActivityType.findBy(iconValue)
@@ -151,7 +151,7 @@ public class IntervalsFragment extends Fragment {
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(getContext());
Track track = contentProviderUtils.getTrack(trackId);
if (track != null) {
isReportSpeed = PreferencesUtils.isReportSpeed(track.getActivityTypeLocalized());
isReportSpeed = PreferencesUtils.isReportSpeed(track);
}
viewModel = new ViewModelProvider(getActivity()).get(IntervalStatisticsModel.class);