forked from upstream-mirrors/OpenTracks
Intervals: if gain/loss is not available show "-" instead of null.
Fixes #1338.
This commit is contained in:
@@ -13,6 +13,14 @@ public class Distance {
|
|||||||
return new Distance(distance_m);
|
return new Distance(distance_m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Distance of(Double distance_m) {
|
||||||
|
if (distance_m == null) {
|
||||||
|
return Distance.of(Double.NaN);
|
||||||
|
} else {
|
||||||
|
return Distance.of((double) distance_m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Distance of(String distance_m) {
|
public static Distance of(String distance_m) {
|
||||||
return of(Float.parseFloat(distance_m));
|
return of(Float.parseFloat(distance_m));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ public class DistanceFormatter {
|
|||||||
*/
|
*/
|
||||||
public Pair<String, String> getDistanceParts(Distance distance) {
|
public Pair<String, String> getDistanceParts(Distance distance) {
|
||||||
if (distance.isInvalid()) {
|
if (distance.isInvalid()) {
|
||||||
|
String valueUnknown = resources.getString(R.string.value_unknown);
|
||||||
switch (unitSystem) {
|
switch (unitSystem) {
|
||||||
case METRIC:
|
case METRIC:
|
||||||
return new Pair<>(null, resources.getString(R.string.unit_meter));
|
return new Pair<>(valueUnknown, resources.getString(R.string.unit_meter));
|
||||||
case IMPERIAL:
|
case IMPERIAL:
|
||||||
case NAUTICAL_IMPERIAL:
|
case NAUTICAL_IMPERIAL:
|
||||||
return new Pair<>(null, resources.getString(R.string.unit_feet));
|
return new Pair<>(valueUnknown, resources.getString(R.string.unit_feet));
|
||||||
default:
|
default:
|
||||||
throw new RuntimeException("Not implemented");
|
throw new RuntimeException("Not implemented");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,13 +254,14 @@ public class StringUtils {
|
|||||||
/**
|
/**
|
||||||
* @return the formatted altitude_m (or null) and it's unit as {@link Pair}
|
* @return the formatted altitude_m (or null) and it's unit as {@link Pair}
|
||||||
*/
|
*/
|
||||||
|
//TODO altitude_m should be double or a value object
|
||||||
public static Pair<String, String> getAltitudeParts(Context context, Float altitude_m, UnitSystem unitSystem) {
|
public static Pair<String, String> getAltitudeParts(Context context, Float altitude_m, UnitSystem unitSystem) {
|
||||||
DistanceFormatter formatter = DistanceFormatter.Builder()
|
DistanceFormatter formatter = DistanceFormatter.Builder()
|
||||||
.setDecimalCount(1)
|
.setDecimalCount(1)
|
||||||
.setUnit(unitSystem)
|
.setUnit(unitSystem)
|
||||||
.build(context);
|
.build(context);
|
||||||
|
|
||||||
Distance distance = altitude_m != null ? Distance.of(altitude_m) : Distance.of(Double.NaN); //TODO Refactor Double.NaN
|
Distance distance = altitude_m != null ? Distance.of(altitude_m) : Distance.of((Double) null);
|
||||||
return formatter.getDistanceParts(distance);
|
return formatter.getDistanceParts(distance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user