forked from upstream-mirrors/OpenTracks
IntervalStatistics: format gain/loss like on StatisticsRecordingFragment.
This commit is contained in:
@@ -59,8 +59,8 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
|
||||
|
||||
viewHolder.rate.setText(StringUtils.formatSpeed(context, interval.getSpeed(), metricUnits, isReportSpeed));
|
||||
|
||||
viewHolder.gain.setText(interval.hasGain() ? StringUtils.formatDistance(context, Distance.of(interval.getGain_m()), metricUnits) : context.getString(R.string.value_unknown));
|
||||
viewHolder.loss.setText(interval.hasLoss() ? StringUtils.formatDistance(context, Distance.of(interval.getLoss_m()), metricUnits) : context.getString(R.string.value_unknown));
|
||||
viewHolder.gain.setText(StringUtils.formatAltitude(context, interval.getGain_m(), metricUnits));
|
||||
viewHolder.loss.setText(StringUtils.formatAltitude(context, interval.getLoss_m(), metricUnits));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -247,11 +247,11 @@ public class StatisticsRecordedFragment extends Fragment {
|
||||
|
||||
Pair<String, String> parts;
|
||||
|
||||
parts = StringUtils.formatAltitude(getContext(), altitudeGain_m, preferenceMetricUnits);
|
||||
parts = StringUtils.getAltitudeParts(getContext(), altitudeGain_m, preferenceMetricUnits);
|
||||
viewBinding.statsAltitudeGainValue.setText(parts.first);
|
||||
viewBinding.statsAltitudeGainUnit.setText(parts.second);
|
||||
|
||||
parts = StringUtils.formatAltitude(getContext(), altitudeLoss_m, preferenceMetricUnits);
|
||||
parts = StringUtils.getAltitudeParts(getContext(), altitudeLoss_m, preferenceMetricUnits);
|
||||
viewBinding.statsAltitudeLossValue.setText(parts.first);
|
||||
viewBinding.statsAltitudeLossUnit.setText(parts.second);
|
||||
}
|
||||
|
||||
@@ -189,12 +189,12 @@ public class StatisticsRecordingFragment extends Fragment {
|
||||
}
|
||||
|
||||
{
|
||||
Pair<String, String> parts = StringUtils.formatAltitude(getContext(), recordingData.getTrackStatistics().getTotalAltitudeGain(), preferenceMetricUnits);
|
||||
Pair<String, String> parts = StringUtils.getAltitudeParts(getContext(), recordingData.getTrackStatistics().getTotalAltitudeGain(), preferenceMetricUnits);
|
||||
viewBinding.statsAltitudeGainValue.setText(parts.first);
|
||||
viewBinding.statsAltitudeGainUnit.setText(parts.second);
|
||||
}
|
||||
{
|
||||
Pair<String, String> parts = StringUtils.formatAltitude(getContext(), recordingData.getTrackStatistics().getTotalAltitudeLoss(), preferenceMetricUnits);
|
||||
Pair<String, String> parts = StringUtils.getAltitudeParts(getContext(), recordingData.getTrackStatistics().getTotalAltitudeLoss(), preferenceMetricUnits);
|
||||
viewBinding.statsAltitudeLossValue.setText(parts.first);
|
||||
viewBinding.statsAltitudeLossUnit.setText(parts.second);
|
||||
}
|
||||
@@ -283,7 +283,7 @@ public class StatisticsRecordingFragment extends Fragment {
|
||||
labelId = latestTrackPoint.getAltitude().getLabelId();
|
||||
}
|
||||
|
||||
Pair<String, String> parts = StringUtils.formatAltitude(getContext(), altitude, preferenceMetricUnits);
|
||||
Pair<String, String> parts = StringUtils.getAltitudeParts(getContext(), altitude, preferenceMetricUnits);
|
||||
viewBinding.statsAltitudeCurrentValue.setText(parts.first);
|
||||
viewBinding.statsAltitudeCurrentUnit.setText(parts.second);
|
||||
|
||||
|
||||
@@ -278,16 +278,22 @@ public class StringUtils {
|
||||
/**
|
||||
* @return the formatted altitude_m (or null) and it's unit as {@link Pair}
|
||||
*/
|
||||
public static Pair<String, String> formatAltitude(Context context, Float altitude_m, boolean metricUnits) {
|
||||
String value = context.getString(R.string.value_unknown);
|
||||
public static Pair<String, String> getAltitudeParts(Context context, Float altitude_m, boolean metricUnits) {
|
||||
String formattedValue = context.getString(R.string.value_unknown);
|
||||
String unit = context.getString(metricUnits ? R.string.unit_meter : R.string.unit_feet);
|
||||
|
||||
if (altitude_m != null) {
|
||||
if (!metricUnits) {
|
||||
altitude_m *= (float) UnitConversions.M_TO_FT;
|
||||
}
|
||||
value = StringUtils.formatDecimal(altitude_m, 0);
|
||||
double value = Distance.of(altitude_m).toM_FT(metricUnits);
|
||||
formattedValue = StringUtils.formatDecimal(value, 0);
|
||||
}
|
||||
return new Pair<>(value, unit);
|
||||
|
||||
return new Pair<>(formattedValue, unit);
|
||||
}
|
||||
|
||||
public static String formatAltitude(Context context, Float altitude_m, boolean metricUnits) {
|
||||
Pair<String, String> distanceParts = getAltitudeParts(context, altitude_m, metricUnits);
|
||||
|
||||
return context.getString(R.string.altitude_with_unit, distanceParts.first, distanceParts.second);
|
||||
}
|
||||
|
||||
public static String valueInParentheses(String text) {
|
||||
|
||||
@@ -146,7 +146,7 @@ public class IntervalStatistics {
|
||||
return gain_m != null;
|
||||
}
|
||||
|
||||
public float getGain_m() {
|
||||
public Float getGain_m() {
|
||||
return gain_m;
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ public class IntervalStatistics {
|
||||
return loss_m != null;
|
||||
}
|
||||
|
||||
public float getLoss_m() {
|
||||
public Float getLoss_m() {
|
||||
return loss_m;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ limitations under the License.
|
||||
<!-- If the order depends on the language, we might need to make this translatable -->
|
||||
<string name="distance_with_unit" translatable="false">%1$s %2$s</string>
|
||||
<string name="speed_with_unit" translatable="false">%1$s %2$s</string>
|
||||
<string name="altitude_with_unit" translatable="false">%1$s %2$s</string>
|
||||
<string name="time" translatable="false">%1$d:%2$02d</string>
|
||||
|
||||
<!-- List here all used libraries (will be shown in the about activity -->
|
||||
|
||||
Reference in New Issue
Block a user