Cleanup: use Java17 switch statements.

AndroidStudio code cleanup.
This commit is contained in:
Dennis Guse
2023-04-13 14:52:20 +02:00
parent 3a8e547e10
commit efddb31391
30 changed files with 355 additions and 640 deletions
@@ -68,18 +68,10 @@ public class DefaultsSettingsFragment extends PreferenceFragmentCompat implement
ListPreference statsRatePreferences = findPreference(getString(R.string.stats_rate_key));
int entriesId;
switch (unitSystem) {
case METRIC:
entriesId = R.array.stats_rate_metric_options;
break;
case IMPERIAL:
case NAUTICAL_IMPERIAL:
entriesId = R.array.stats_rate_imperial_options;
break;
default:
throw new RuntimeException("Not implemented");
}
int entriesId = switch (unitSystem) {
case METRIC -> R.array.stats_rate_metric_options;
case IMPERIAL, NAUTICAL_IMPERIAL -> R.array.stats_rate_imperial_options;
};
String[] entries = getResources().getStringArray(entriesId);
statsRatePreferences.setEntries(entries);
@@ -32,14 +32,9 @@ class PreferencesOpenHelper {
PreferencesUtils.setInt(R.string.prefs_last_version_key, version);
for (int i = 1; i <= version; i++) {
switch (i) {
case 1:
upgradeFrom0to1();
break;
case 2:
upgradeFrom1to2();
break;
default:
throw new RuntimeException("Not implemented: upgrade to " + version);
case 1 -> upgradeFrom0to1();
case 2 -> upgradeFrom1to2();
default -> throw new RuntimeException("Not implemented: upgrade to " + version);
}
}
}
@@ -448,23 +448,21 @@ public class PreferencesUtils {
String displayValue = formatter.formatDistance(distance);
switch (unitSystem) {
case METRIC:
case METRIC -> {
if (value == recordingDistanceIntervalDefault) {
entries[i] = resources.getString(R.string.value_integer_meter_recommended, value);
} else {
entries[i] = displayValue;
}
break;
case IMPERIAL:
case NAUTICAL_IMPERIAL:
}
case IMPERIAL, NAUTICAL_IMPERIAL -> {
if (value == recordingDistanceIntervalDefault) {
entries[i] = resources.getString(R.string.value_integer_feet_recommended, (int) distance.toFT());
} else {
entries[i] = displayValue;
}
break;
default:
throw new RuntimeException("Not implemented");
}
default -> throw new RuntimeException("Not implemented");
}
}
@@ -494,23 +492,21 @@ public class PreferencesUtils {
String displayValue = formatter.formatDistance(distance);
switch (unitSystem) {
case METRIC:
case METRIC -> {
if (value == maxRecordingDistanceDefault) {
entries[i] = resources.getString(R.string.value_integer_meter_recommended, value);
} else {
entries[i] = displayValue;
}
break;
case IMPERIAL:
case NAUTICAL_IMPERIAL:
}
case IMPERIAL, NAUTICAL_IMPERIAL -> {
if (value == maxRecordingDistanceDefault) {
entries[i] = resources.getString(R.string.value_integer_feet_recommended, (int) distance.toFT());
} else {
entries[i] = displayValue;
}
break;
default:
throw new RuntimeException("Not implemented");
}
default -> throw new RuntimeException("Not implemented");
}
}
@@ -569,7 +565,7 @@ public class PreferencesUtils {
String displayValue = formatter.formatDistance(distance);
switch (unitSystem) {
case METRIC:
case METRIC -> {
if (value == recordingGPSAccuracyDefault) {
entries[i] = resources.getString(R.string.value_integer_meter_recommended, value);
} else if (value == recordingGPSAccuracyExcellent) {
@@ -579,9 +575,8 @@ public class PreferencesUtils {
} else {
entries[i] = displayValue;
}
break;
case IMPERIAL:
case NAUTICAL_IMPERIAL:
}
case IMPERIAL, NAUTICAL_IMPERIAL -> {
if (value == recordingGPSAccuracyDefault) {
entries[i] = resources.getString(R.string.value_integer_feet_recommended, (int) distance.toFT());
} else if (value == recordingGPSAccuracyExcellent) {
@@ -589,9 +584,8 @@ public class PreferencesUtils {
} else {
entries[i] = displayValue;
}
break;
default:
throw new RuntimeException("Not implemented");
}
default -> throw new RuntimeException("Not implemented");
}
}
@@ -617,32 +611,30 @@ public class PreferencesUtils {
float value = Float.parseFloat(entryValues[i]);
switch (unitSystem) {
case METRIC:
case METRIC -> {
if (value == idleSpeedDefault) {
entries[i] = resources.getString(R.string.value_float_kilometer_hour_recommended, value);
} else {
entries[i] = resources.getString(R.string.value_float_kilometer_hour, value);
}
break;
case IMPERIAL:
}
case IMPERIAL -> {
double valueMPH = Speed.ofKMH(value).toMPH();
if (value == idleSpeedDefault) {
entries[i] = resources.getString(R.string.value_float_mile_hour_recommended, valueMPH);
} else {
entries[i] = resources.getString(R.string.value_float_mile_hour, valueMPH);
}
break;
case NAUTICAL_IMPERIAL:
}
case NAUTICAL_IMPERIAL -> {
double valueKnots = Speed.ofKMH(value).toKnots();
if (value == idleSpeedDefault) {
entries[i] = resources.getString(R.string.value_float_knots_recommended, valueKnots);
} else {
entries[i] = resources.getString(R.string.value_float_knots, valueKnots);
}
break;
default:
throw new RuntimeException("Not implemented");
}
default -> throw new RuntimeException("Not implemented");
}
}
@@ -96,8 +96,7 @@ public class BluetoothLeAdapter extends BaseAdapter {
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Device)) return false;
Device device = (Device) o;
if (!(o instanceof Device device)) return false;
return address.equals(device.address);
}