Compare commits

...

5 Commits

Author SHA1 Message Date
Dennis Guse a7398d43e3 Release: v4.0.5 2022-07-29 17:58:32 +02:00
Dennis Guse 59b016a4a3 PlayStore: use an inverted icon (app launcher only).
Part of #1329.
2022-07-29 17:56:28 +02:00
Dennis Guse 78aa5d51c6 Intervals: if gain/loss is not available show "-" instead of null.
Fixes #1338.
2022-07-26 22:30:08 +02:00
Quang Trung 95f584b554 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (501 of 501 strings)

Translation: OpenTracks/opentracks.src-main-res-values-strings-xml--main
Translate-URL: https://weblate.bubu1.eu/projects/OpenTracks/opentracks/vi/
2022-07-21 15:04:36 +02:00
Dennis Guse cf759d526d README_TESTED_SENSORS.md: we now store sensor data without movement.
Part of #1088.
2022-07-18 07:35:46 +02:00
10 changed files with 77 additions and 9 deletions
-4
View File
@@ -38,10 +38,6 @@ However, often only one value is provided.
We only support _Instantaneous Power_.
_WARNING_: we only support physically movements with valid GPS coordinates.
Using a device indoors (no GPS available) will only show the current power values, but won't store anything.
Also the distance is not computed.
For cycling:
* Assioma Duo Powermeter
* Elite drivo II
+3 -2
View File
@@ -59,8 +59,8 @@ android {
defaultConfig {
applicationId "de.dennisguse.opentracks"
versionCode 4981
versionName "v4.0.4"
versionCode 4986
versionName "v4.0.5"
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
@@ -100,6 +100,7 @@ android {
releasePlayStore {
applicationIdSuffix ".playstore"
versionNameSuffix "-PlayStore"
signingConfig signingConfigs.debug
}
}
@@ -0,0 +1,8 @@
v4.0.5: OpenTracks
Changes:
- PlayStore relase get's another logo
Bugfix:
- Interval list shows "-" if gain/loss is not present
@@ -13,6 +13,14 @@ public class Distance {
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) {
return of(Float.parseFloat(distance_m));
}
@@ -42,12 +42,13 @@ public class DistanceFormatter {
*/
public Pair<String, String> getDistanceParts(Distance distance) {
if (distance.isInvalid()) {
String valueUnknown = resources.getString(R.string.value_unknown);
switch (unitSystem) {
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 NAUTICAL_IMPERIAL:
return new Pair<>(null, resources.getString(R.string.unit_feet));
return new Pair<>(valueUnknown, resources.getString(R.string.unit_feet));
default:
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}
*/
//TODO altitude_m should be double or a value object
public static Pair<String, String> getAltitudeParts(Context context, Float altitude_m, UnitSystem unitSystem) {
DistanceFormatter formatter = DistanceFormatter.Builder()
.setDecimalCount(1)
.setUnit(unitSystem)
.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);
}
+32
View File
@@ -559,4 +559,36 @@ limitations under the License.
<string name="settings_public_api_dashboard_enabled_summary_on">Một ứng dụng bắt đầu ghi hình cũng có thể truy cập vào dữ liệu ghi lại.</string>
<string name="settings_public_api_dashboard_enabled_summary_off">Ghi lại dữ liệu sẽ không được miễn phí tự động với các ứng dụng khác.</string>
<string name="settings_public_api_dashboard_enabled_title">Chuyển dữ liệu tự động</string>
<string name="settings_export_filename_title">Định dạng tên tệp</string>
<string name="show_on_dashboard_not_installed">Không có ứng dụng hỗ trợ API OpenTracks Dashboard nào được cài đặt.</string>
<string name="description_pace_nautical">Nhịp độ (phút/dặm hải lý)</string>
<string name="image_discard">Bỏ</string>
<string name="settings_announcements_average_heart_rate">Nhịp tim trung bình</string>
<string name="settings_announcements_lap_heart_rate">Nhịp tim vòng</string>
<string name="settings_announcements_average_speed_pace">Tốc độ trung bình/nhịp độ</string>
<string name="settings_stats_units_nautical">Hải lý (dặm hải lý, ft)</string>
<string name="settings_public_api_package_title">Tên gói cho API công khai</string>
<plurals name="voiceDistanceNauticalMiles">
<item quantity="other">%1$.2f dặm hải lý</item>
</plurals>
<string name="select_show_on_map_behavior">Chọn hành vi \"hiện trên bản đồ\"</string>
<string name="settings_announcements_lap_speed_pace">Tốc độ vòng/nhịp độ</string>
<string name="track_discarding">Đang bỏ đoạn đường</string>
<plurals name="voiceSpeedMKnots">
<item quantity="other">%1$.1f nút</item>
</plurals>
<string name="voice_per_nautical_mile">trên dặm hải lý</string>
<string name="description_speed_nautical">Tốc độ (nút)</string>
<string name="unit_nautical_mile">Dặm hải lý</string>
<string name="unit_knots">nút</string>
<string name="unit_minute_per_nautical_mile">phút/dặm hải lý</string>
<string name="value_integer_knots">%1$d nút</string>
<string name="value_float_knots">%1$.1f nút</string>
<string name="value_float_knots_recommended">%1$.1f nút (khuyên dùng)</string>
<string name="error_crash_title">%1$s đã dừng đột ngột</string>
<string name="share_crash_report">Chia sẻ báo cáo dừng đột ngột</string>
<string name="report_bug">Báo cáo lỗi</string>
<string name="show_on_map_format_ask">Hỏi</string>
<string name="show_on_dashboard">API OpenTracks Dashboard</string>
<string name="always">Luôn luôn</string>
</resources>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background" />
<foreground>
<inset
android:inset="20dp"
android:drawable="@drawable/ic_logo_24dp" />
</foreground>
<monochrome>
<inset
android:inset="20dp"
android:drawable="@drawable/ic_logo_24dp" />
</monochrome>
</adaptive-icon>
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_logo_24dp" />
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#FFFF6D00</color>
</resources>