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.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.gain.setText(StringUtils.formatAltitude(context, interval.getGain_m(), metricUnits));
|
||||||
viewHolder.loss.setText(interval.hasLoss() ? StringUtils.formatDistance(context, Distance.of(interval.getLoss_m()), metricUnits) : context.getString(R.string.value_unknown));
|
viewHolder.loss.setText(StringUtils.formatAltitude(context, interval.getLoss_m(), metricUnits));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -247,11 +247,11 @@ public class StatisticsRecordedFragment extends Fragment {
|
|||||||
|
|
||||||
Pair<String, String> parts;
|
Pair<String, String> parts;
|
||||||
|
|
||||||
parts = StringUtils.formatAltitude(getContext(), altitudeGain_m, preferenceMetricUnits);
|
parts = StringUtils.getAltitudeParts(getContext(), altitudeGain_m, preferenceMetricUnits);
|
||||||
viewBinding.statsAltitudeGainValue.setText(parts.first);
|
viewBinding.statsAltitudeGainValue.setText(parts.first);
|
||||||
viewBinding.statsAltitudeGainUnit.setText(parts.second);
|
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.statsAltitudeLossValue.setText(parts.first);
|
||||||
viewBinding.statsAltitudeLossUnit.setText(parts.second);
|
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.statsAltitudeGainValue.setText(parts.first);
|
||||||
viewBinding.statsAltitudeGainUnit.setText(parts.second);
|
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.statsAltitudeLossValue.setText(parts.first);
|
||||||
viewBinding.statsAltitudeLossUnit.setText(parts.second);
|
viewBinding.statsAltitudeLossUnit.setText(parts.second);
|
||||||
}
|
}
|
||||||
@@ -283,7 +283,7 @@ public class StatisticsRecordingFragment extends Fragment {
|
|||||||
labelId = latestTrackPoint.getAltitude().getLabelId();
|
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.statsAltitudeCurrentValue.setText(parts.first);
|
||||||
viewBinding.statsAltitudeCurrentUnit.setText(parts.second);
|
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}
|
* @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) {
|
public static Pair<String, String> getAltitudeParts(Context context, Float altitude_m, boolean metricUnits) {
|
||||||
String value = context.getString(R.string.value_unknown);
|
String formattedValue = context.getString(R.string.value_unknown);
|
||||||
String unit = context.getString(metricUnits ? R.string.unit_meter : R.string.unit_feet);
|
String unit = context.getString(metricUnits ? R.string.unit_meter : R.string.unit_feet);
|
||||||
|
|
||||||
if (altitude_m != null) {
|
if (altitude_m != null) {
|
||||||
if (!metricUnits) {
|
double value = Distance.of(altitude_m).toM_FT(metricUnits);
|
||||||
altitude_m *= (float) UnitConversions.M_TO_FT;
|
formattedValue = StringUtils.formatDecimal(value, 0);
|
||||||
}
|
|
||||||
value = StringUtils.formatDecimal(altitude_m, 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) {
|
public static String valueInParentheses(String text) {
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ public class IntervalStatistics {
|
|||||||
return gain_m != null;
|
return gain_m != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getGain_m() {
|
public Float getGain_m() {
|
||||||
return gain_m;
|
return gain_m;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ public class IntervalStatistics {
|
|||||||
return loss_m != null;
|
return loss_m != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getLoss_m() {
|
public Float getLoss_m() {
|
||||||
return loss_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 -->
|
<!-- 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="distance_with_unit" translatable="false">%1$s %2$s</string>
|
||||||
<string name="speed_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>
|
<string name="time" translatable="false">%1$d:%2$02d</string>
|
||||||
|
|
||||||
<!-- List here all used libraries (will be shown in the about activity -->
|
<!-- List here all used libraries (will be shown in the about activity -->
|
||||||
|
|||||||
Reference in New Issue
Block a user