forked from upstream-mirrors/OpenTracks
Merge remote-tracking branch 'origin/main'
This commit is contained in:
+2
-2
@@ -46,8 +46,8 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId 'de.dennisguse.opentracks'
|
applicationId 'de.dennisguse.opentracks'
|
||||||
versionCode 6338
|
versionCode 6353
|
||||||
versionName "v4.23.0"
|
versionName "v4.23.1"
|
||||||
|
|
||||||
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
v4.23.1: OpenTracks
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- New UI component to show elapsed time in the current segment
|
||||||
|
|
||||||
|
Bugfix:
|
||||||
|
- Instant post-workout export crashed (introduced in v4.23.0)
|
||||||
@@ -44,7 +44,7 @@ public class ExportUtils {
|
|||||||
WorkRequest exportRequest = new OneTimeWorkRequest.Builder(ExportWorker.class)
|
WorkRequest exportRequest = new OneTimeWorkRequest.Builder(ExportWorker.class)
|
||||||
.setInputData(new Data.Builder()
|
.setInputData(new Data.Builder()
|
||||||
.putLongArray(ExportWorker.TRACKIDS_KEY, new long[]{trackId.id()})
|
.putLongArray(ExportWorker.TRACKIDS_KEY, new long[]{trackId.id()})
|
||||||
.putString(ExportWorker.DIRECTORY_URI_KEY, directory.toString())
|
.putString(ExportWorker.DIRECTORY_URI_KEY, directory.getUri().toString())
|
||||||
.putString(ExportWorker.TRACKFILEFORMAT_KEY, trackFileFormat.toString())
|
.putString(ExportWorker.TRACKFILEFORMAT_KEY, trackFileFormat.toString())
|
||||||
.putString(ExportWorker.FILENAME_KEY, null)
|
.putString(ExportWorker.FILENAME_KEY, null)
|
||||||
.build())
|
.build())
|
||||||
|
|||||||
@@ -829,7 +829,8 @@ public class PreferencesUtils {
|
|||||||
R.array.stats_custom_layout_fields_default_value_16,
|
R.array.stats_custom_layout_fields_default_value_16,
|
||||||
R.array.stats_custom_layout_fields_default_value_17,
|
R.array.stats_custom_layout_fields_default_value_17,
|
||||||
R.array.stats_custom_layout_fields_default_value_18,
|
R.array.stats_custom_layout_fields_default_value_18,
|
||||||
R.array.stats_custom_layout_fields_default_value_19
|
R.array.stats_custom_layout_fields_default_value_19,
|
||||||
|
R.array.stats_custom_layout_fields_default_value_20
|
||||||
).map(id -> resources.obtainTypedArray(id))
|
).map(id -> resources.obtainTypedArray(id))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -216,6 +216,17 @@ public abstract class GenericStatisticsViewHolder extends StatisticViewHolder<St
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class ElapsedSegmentTime extends GenericStatisticsViewHolder {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChanged(UnitSystem unitSystem, RecordingData data) {
|
||||||
|
String value = StringUtils.formatElapsedTime(data.getStatisticsCurrentSegment().getTotalTime());
|
||||||
|
|
||||||
|
getBinding().statsValue.setText(value);
|
||||||
|
getBinding().statsDescriptionMain.setText(getContext().getString(R.string.stats_elapsed_segment_time));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static class FastestPace extends GenericStatisticsViewHolder {
|
public static class FastestPace extends GenericStatisticsViewHolder {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ public class Mapping {
|
|||||||
m.put(context.getString(R.string.stats_custom_layout_average_moving_pace_key), GenericStatisticsViewHolder.AverageMovingPace::new);
|
m.put(context.getString(R.string.stats_custom_layout_average_moving_pace_key), GenericStatisticsViewHolder.AverageMovingPace::new);
|
||||||
m.put(context.getString(R.string.stats_custom_layout_average_pace_key), GenericStatisticsViewHolder.AveragePace::new);
|
m.put(context.getString(R.string.stats_custom_layout_average_pace_key), GenericStatisticsViewHolder.AveragePace::new);
|
||||||
m.put(context.getString(R.string.stats_custom_layout_average_segment_pace_key), GenericStatisticsViewHolder.AverageSegmentPace::new);
|
m.put(context.getString(R.string.stats_custom_layout_average_segment_pace_key), GenericStatisticsViewHolder.AverageSegmentPace::new);
|
||||||
|
m.put(context.getString(R.string.stats_custom_layout_elapsed_segment_time_key), GenericStatisticsViewHolder.ElapsedSegmentTime::new);
|
||||||
m.put(context.getString(R.string.stats_custom_layout_fastest_pace_key), GenericStatisticsViewHolder.FastestPace::new);
|
m.put(context.getString(R.string.stats_custom_layout_fastest_pace_key), GenericStatisticsViewHolder.FastestPace::new);
|
||||||
|
|
||||||
m.put(context.getString(R.string.stats_custom_layout_altitude_key), GenericStatisticsViewHolder.Altitude::new);
|
m.put(context.getString(R.string.stats_custom_layout_altitude_key), GenericStatisticsViewHolder.Altitude::new);
|
||||||
|
|||||||
@@ -356,6 +356,7 @@
|
|||||||
<string name="stats_custom_layout_average_moving_pace_key" translatable="false">average_moving_pace</string>
|
<string name="stats_custom_layout_average_moving_pace_key" translatable="false">average_moving_pace</string>
|
||||||
<string name="stats_custom_layout_average_pace_key" translatable="false">average_pace</string>
|
<string name="stats_custom_layout_average_pace_key" translatable="false">average_pace</string>
|
||||||
<string name="stats_custom_layout_average_segment_pace_key" translatable="false">average_segment_pace</string>
|
<string name="stats_custom_layout_average_segment_pace_key" translatable="false">average_segment_pace</string>
|
||||||
|
<string name="stats_custom_layout_elapsed_segment_time_key" translatable="false">elapsed_segment_time</string>
|
||||||
<string name="stats_custom_layout_fastest_pace_key" translatable="false">fastest_pace</string>
|
<string name="stats_custom_layout_fastest_pace_key" translatable="false">fastest_pace</string>
|
||||||
<string name="stats_custom_layout_coordinates_key" translatable="false">coordinates</string>
|
<string name="stats_custom_layout_coordinates_key" translatable="false">coordinates</string>
|
||||||
<string name="stats_custom_layout_heart_rate_key" translatable="false">heart_rate</string>
|
<string name="stats_custom_layout_heart_rate_key" translatable="false">heart_rate</string>
|
||||||
@@ -427,26 +428,30 @@
|
|||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_14">
|
<string-array name="stats_custom_layout_fields_default_value_14">
|
||||||
<item>@string/stats_custom_layout_fastest_pace_key</item>
|
<item>@string/stats_custom_layout_elapsed_segment_time_key</item>
|
||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_15">
|
<string-array name="stats_custom_layout_fields_default_value_15">
|
||||||
|
<item>@string/stats_custom_layout_fastest_pace_key</item>
|
||||||
|
<item>0,0,0</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="stats_custom_layout_fields_default_value_16">
|
||||||
<item>@string/stats_custom_layout_coordinates_key</item>
|
<item>@string/stats_custom_layout_coordinates_key</item>
|
||||||
<item>0,0,1</item>
|
<item>0,0,1</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_16">
|
<string-array name="stats_custom_layout_fields_default_value_17">
|
||||||
<item>@string/stats_custom_layout_heart_rate_key</item>
|
<item>@string/stats_custom_layout_heart_rate_key</item>
|
||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_17">
|
<string-array name="stats_custom_layout_fields_default_value_18">
|
||||||
<item>@string/stats_custom_layout_cadence_key</item>
|
<item>@string/stats_custom_layout_cadence_key</item>
|
||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_18">
|
<string-array name="stats_custom_layout_fields_default_value_19">
|
||||||
<item>@string/stats_custom_layout_power_key</item>
|
<item>@string/stats_custom_layout_power_key</item>
|
||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="stats_custom_layout_fields_default_value_19">
|
<string-array name="stats_custom_layout_fields_default_value_20">
|
||||||
<item>@string/stats_custom_layout_clock_key</item>
|
<item>@string/stats_custom_layout_clock_key</item>
|
||||||
<item>0,0,0</item>
|
<item>0,0,0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|||||||
@@ -455,6 +455,7 @@ limitations under the License.
|
|||||||
<string name="stats_average_moving_speed">Avg moving speed</string>
|
<string name="stats_average_moving_speed">Avg moving speed</string>
|
||||||
<string name="stats_average_pace">Avg pace</string>
|
<string name="stats_average_pace">Avg pace</string>
|
||||||
<string name="stats_average_segment_pace">Avg Segment pace</string>
|
<string name="stats_average_segment_pace">Avg Segment pace</string>
|
||||||
|
<string name="stats_elapsed_segment_time">Elapsed Segment time</string>
|
||||||
<string name="stats_average_speed">Avg speed</string>
|
<string name="stats_average_speed">Avg speed</string>
|
||||||
<string name="stats_altitude">Elevation</string>
|
<string name="stats_altitude">Elevation</string>
|
||||||
<string name="stats_fastest_pace">Fastest pace</string>
|
<string name="stats_fastest_pace">Fastest pace</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user