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
@@ -77,8 +77,8 @@ public class ActivityTypePreference extends DialogPreference {
final Context context = getActivity();
textView = view.findViewById(R.id.activity_type_preference_text_view);
String category = PreferencesUtils.getDefaultActivityTypeLocalized();
textView.setText(category);
String activityTypeLocalized = PreferencesUtils.getDefaultActivityTypeLocalized();
textView.setText(activityTypeLocalized);
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_dropdown_item_1line, ActivityType.getLocalizedStrings(context));
textView.setAdapter(adapter);
textView.setOnItemClickListener((parent, v, position, id) -> {
@@ -97,12 +97,12 @@ public class ActivityTypePreference extends DialogPreference {
iconView = view.findViewById(R.id.activity_type_preference_spinner);
iconView.setOnClickListener((it) -> showIconSelectDialog());
updateIcon(ActivityType.findByLocalizedString(context, category));
updateIcon(ActivityType.findByLocalizedString(context, activityTypeLocalized));
}
private void showIconSelectDialog() {
String category = PreferencesUtils.getDefaultActivityTypeLocalized();
ChooseActivityTypeDialogFragment.showDialog(getActivity().getSupportFragmentManager(), category);
ChooseActivityTypeDialogFragment.showDialog(getActivity().getSupportFragmentManager(), getContext(), category);
}
@Override
@@ -118,7 +118,7 @@ public class ActivityTypePreference extends DialogPreference {
public void updateUI(ActivityType activityType) {
updateIcon(activityType);
textView.setText(getActivity().getString(activityType.getFirstLocalizedStringId()));
textView.setText(getActivity().getString(activityType.getLocalizedStringId()));
textView.clearFocus();
}
@@ -46,6 +46,7 @@ import de.dennisguse.opentracks.data.models.DistanceFormatter;
import de.dennisguse.opentracks.data.models.HeartRate;
import de.dennisguse.opentracks.data.models.HeartRateZones;
import de.dennisguse.opentracks.data.models.Speed;
import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.io.file.TrackFileFormat;
import de.dennisguse.opentracks.io.file.TrackFilenameGenerator;
import de.dennisguse.opentracks.ui.customRecordingLayout.CsvLayoutUtils;
@@ -233,17 +234,21 @@ public class PreferencesUtils {
}
}
public static boolean isReportSpeed(String category) {
public static boolean isReportSpeed(String activityTypeLocalized) {
final String STATS_RATE_DEFAULT = resources.getString(R.string.stats_rate_default);
String currentStatsRate = getString(R.string.stats_rate_key, STATS_RATE_DEFAULT);
if (currentStatsRate.equals(getString(R.string.stats_rate_speed_or_pace_default, STATS_RATE_DEFAULT))) {
return ActivityType.findByLocalizedString(resources, category)
return ActivityType.findByLocalizedString(resources, activityTypeLocalized)
.isShowSpeedPreferred();
}
return currentStatsRate.equals(resources.getString(R.string.stats_rate_speed));
}
public static boolean isReportSpeed(Track track) {
return isReportSpeed(track.getActivityTypeLocalized());
}
private static String getBluetoothSensorAddressNone() {
return resources.getString(R.string.sensor_type_value_none);
}