mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 01:23:06 +02:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c7738b1cb2 | |||
| 713f5c7708 | |||
| b9a36d1b3c | |||
| 34e89ea3f9 | |||
| 50a0e37086 | |||
| 11ac6b7279 | |||
| aadb79bf7d | |||
| da6b26644e | |||
| b264655d75 | |||
| 1ea9c0b216 | |||
| 8040edac7a | |||
| 037c79a1c5 | |||
| bc46f7447e |
@@ -13,7 +13,7 @@ jobs:
|
||||
image: 'ubuntu:android-24.04'
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
image: 'ubuntu:android-24.04'
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
|
||||
+3
-3
@@ -47,8 +47,8 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'de.dennisguse.opentracks'
|
||||
versionCode 6669
|
||||
versionName "v4.27.1"
|
||||
versionCode 6682
|
||||
versionName "v4.27.2"
|
||||
|
||||
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
||||
|
||||
@@ -154,7 +154,7 @@ dependencies {
|
||||
implementation 'androidx.core:core:1.19.0'
|
||||
implementation 'androidx.core:core-splashscreen:1.2.0'
|
||||
implementation 'androidx.mediarouter:mediarouter:1.8.1'
|
||||
implementation 'androidx.core:core-location-altitude:1.0.0-rc01'
|
||||
implementation 'androidx.core:core-location-altitude:1.0.0'
|
||||
implementation 'androidx.work:work-runtime:2.11.2'
|
||||
|
||||
androidTestImplementation 'androidx.test:core:1.7.0'
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
v4.27.2: OpenTracks
|
||||
|
||||
Bugfix:
|
||||
- Not all valid timezone offsets could be set
|
||||
- Fixed race condition for IDLE trackpoints
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -67,7 +67,7 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
|
||||
contentProviderUtils = new ContentProviderUtils(context);
|
||||
}
|
||||
|
||||
Track.Id startNewTrack() {
|
||||
synchronized Track.Id startNewTrack() {
|
||||
TrackPoint segmentStartTrackPoint = trackPointCreator.createSegmentStartManual();
|
||||
|
||||
ZoneOffset zoneOffset = ZoneOffset.systemDefault().getRules().getOffset(segmentStartTrackPoint.getTime());
|
||||
@@ -103,7 +103,7 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
|
||||
/**
|
||||
* @return if the recording could be started.
|
||||
*/
|
||||
boolean resumeExistingTrack(@NonNull Track.Id resumeTrackId) {
|
||||
synchronized boolean resumeExistingTrack(@NonNull Track.Id resumeTrackId) {
|
||||
trackId = resumeTrackId;
|
||||
Track track = contentProviderUtils.getTrack(trackId);
|
||||
if (track == null) {
|
||||
@@ -119,7 +119,7 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
|
||||
return true;
|
||||
}
|
||||
|
||||
void endCurrentTrack() {
|
||||
synchronized void endCurrentTrack() {
|
||||
TrackPoint segmentEnd = trackPointCreator.createSegmentEnd();
|
||||
insertTrackPoint(segmentEnd, true);
|
||||
|
||||
@@ -149,7 +149,7 @@ public class TrackRecordingManager implements SharedPreferences.OnSharedPreferen
|
||||
}
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||
public void onIdle() {
|
||||
public synchronized void onIdle() {
|
||||
Log.d(TAG, "Becoming idle");
|
||||
onNewTrackPoint(trackPointCreator.createIdle());
|
||||
|
||||
|
||||
@@ -7,13 +7,51 @@ import android.widget.ArrayAdapter;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
* <a href="Data source for UTC Offsets">https://en.wikipedia.org/wiki/List_of_UTC_offsets</a>
|
||||
*/
|
||||
public class ZoneOffsetAdapter extends ArrayAdapter<ZoneOffset> {
|
||||
public ZoneOffsetAdapter(@NonNull Context context, int resource) {
|
||||
super(context, resource, IntStream.range(-12, +12)
|
||||
.boxed()
|
||||
.map(ZoneOffset::ofHours)
|
||||
.toList());
|
||||
super(context, resource);
|
||||
|
||||
addAll(
|
||||
ZoneOffset.ofHoursMinutes(-12, 00),
|
||||
ZoneOffset.ofHoursMinutes(-11, 00),
|
||||
ZoneOffset.ofHoursMinutes(-10, 00),
|
||||
ZoneOffset.ofHoursMinutes(-9, -30),
|
||||
ZoneOffset.ofHoursMinutes(-8, 00),
|
||||
ZoneOffset.ofHoursMinutes(-7, 00),
|
||||
ZoneOffset.ofHoursMinutes(-6, 00),
|
||||
ZoneOffset.ofHoursMinutes(-5, 00),
|
||||
ZoneOffset.ofHoursMinutes(-4, 00),
|
||||
ZoneOffset.ofHoursMinutes(-3, -30),
|
||||
ZoneOffset.ofHoursMinutes(-3, 00),
|
||||
ZoneOffset.ofHoursMinutes(-2, 00),
|
||||
ZoneOffset.ofHoursMinutes(-1, 00),
|
||||
ZoneOffset.ofHoursMinutes(0, 00),
|
||||
ZoneOffset.ofHoursMinutes(1, 00),
|
||||
ZoneOffset.ofHoursMinutes(2, 00),
|
||||
ZoneOffset.ofHoursMinutes(3, 00),
|
||||
ZoneOffset.ofHoursMinutes(3, 30),
|
||||
ZoneOffset.ofHoursMinutes(4, 00),
|
||||
ZoneOffset.ofHoursMinutes(4, 30),
|
||||
ZoneOffset.ofHoursMinutes(5, 30),
|
||||
ZoneOffset.ofHoursMinutes(5, 45),
|
||||
ZoneOffset.ofHoursMinutes(6, 00),
|
||||
ZoneOffset.ofHoursMinutes(6, 30),
|
||||
ZoneOffset.ofHoursMinutes(7, 00),
|
||||
ZoneOffset.ofHoursMinutes(8, 00),
|
||||
ZoneOffset.ofHoursMinutes(8, 45),
|
||||
ZoneOffset.ofHoursMinutes(9, 00),
|
||||
ZoneOffset.ofHoursMinutes(9, 30),
|
||||
ZoneOffset.ofHoursMinutes(10, 00),
|
||||
ZoneOffset.ofHoursMinutes(10, 30),
|
||||
ZoneOffset.ofHoursMinutes(11, 00),
|
||||
ZoneOffset.ofHoursMinutes(12, 00),
|
||||
ZoneOffset.ofHoursMinutes(12, 45),
|
||||
ZoneOffset.ofHoursMinutes(13, 00),
|
||||
ZoneOffset.ofHoursMinutes(14, 00)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package de.dennisguse.opentracks.ui.customRecordingLayout;
|
||||
|
||||
public enum CustomLayoutFieldType {
|
||||
GENERIC(1),
|
||||
CLOCK(2);
|
||||
|
||||
private final int value;
|
||||
|
||||
CustomLayoutFieldType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int value() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
@@ -599,4 +599,5 @@ limitations under the License.
|
||||
<string name="description_sensor_temperature">Temperatuur (Celsius)</string>
|
||||
<string name="sensor_state_temperature">Termomeeter</string>
|
||||
<string name="stats_sensors_temperature">Temperatuur</string>
|
||||
<string name="activity_type_gravel_biking">rattasõit kruusateedel</string>
|
||||
</resources>
|
||||
|
||||
@@ -607,4 +607,5 @@ limitations under the License.
|
||||
<string name="stats_sensors_temperature">Temperatura</string>
|
||||
<string name="description_sensor_temperature">Temperatura (Celsius)</string>
|
||||
<string name="sensor_state_temperature">Termómetro</string>
|
||||
<string name="activity_type_gravel_biking">ciclismo por grava</string>
|
||||
</resources>
|
||||
|
||||
@@ -150,7 +150,7 @@ limitations under the License.
|
||||
<string name="menu_aggregated_statistics">集計統計</string>
|
||||
<string name="menu_delete">削除</string>
|
||||
<string name="menu_edit">編集</string>
|
||||
<string name="menu_export_all">すべてエクスポート</string>
|
||||
<string name="menu_export_all">すべてエクスポート(トラックごとに別ファイル)</string>
|
||||
<string name="menu_help">ヘルプ</string>
|
||||
<string name="menu_import_all">すべてインポート</string>
|
||||
<string name="menu_insert_marker">マーカーを追加</string>
|
||||
@@ -313,4 +313,24 @@ limitations under the License.
|
||||
<string name="import_progress_summary_ok_msg">インポート完了</string>
|
||||
<string name="import_progress_summary_exists_msg">既に存在しています</string>
|
||||
<string name="help_track_map_content">小さな地図のアイコンを使います.\n a) (live updates) <a href="https://codeberg.org/OpenTracksApp/OSMDashboard">OSMDashboard</a>をインストールして下さい。 <a href="https://www.openstreetmap.org">OpenStreetMap</a> を利用したオンラインまたはオフラインの地図を使用できるようになります。\n実際、OSMDashbordは (一時的に保存された) 表示するトラッキングデータにだけアクセスする独立したアプリケーションです。\n b) 一般的な地図アプリケーションを使用 (e.g., <a href="http://osmand.net/">OsmAnd</a> and <a href="https://maps.me/">MAPS.ME</a>) 。 KMZフォーマットをサポートしている必要があります (位置及びタイムスタンプのみを含む)。 加えて、 MIME <i>application/vnd.google-earth.kmz</i> の <i>ACTION_VIEW</i> をサポートしている必要もあります。</string>
|
||||
<string name="help_storage_pictures_title">マーカーとして撮影した写真の保存場所</string>
|
||||
<string name="help_storage_pictures_content">アプリケーションの内部ストレージ(つまり、OpenTracks内部からのみアクセス可能な場所)に保存されます。</string>
|
||||
<string name="help_track_export_title">記録したトラックのエクスポート/共有方法</string>
|
||||
<string name="stats_sensors_temperature">温度</string>
|
||||
<string name="settings_announcements_average_heart_rate">平均心拍数</string>
|
||||
<string name="description_speed_source_gps">GPS</string>
|
||||
<string name="export_dir_not_writable">" (書き込み失敗!)"</string>
|
||||
<string name="export_progress_summary_overwrite_msg">上書きされたファイル</string>
|
||||
<string name="export_progress_summary_skip_msg">スキップされたファイル</string>
|
||||
<string name="export_progress_summary_errors_msg">エラー</string>
|
||||
<string name="generic_separator_done_total">/</string>
|
||||
<string name="generic_today">今日</string>
|
||||
<string name="generic_yesterday">昨日</string>
|
||||
<string name="gps_disabled_msg">GPSが無効化されています</string>
|
||||
<string name="import_no_kml_file_found">KMZ中にkmlファイルが見つかりませんでした</string>
|
||||
<string name="import_error_info">%1$s: %2$s</string>
|
||||
<string name="create_marker_error">マーカーを作成することができませんでした。もう一度やり直して下さい。</string>
|
||||
<string name="menu_export_all_one_file">すべてエクスポート(全てのトラックを1つのファイルに)</string>
|
||||
<string name="menu_select_layout">レイアウトを選択</string>
|
||||
<string name="permission_gps_failed">OpenTracksはGPSにアクセスする権限が必要です。</string>
|
||||
</resources>
|
||||
|
||||
@@ -588,4 +588,8 @@ limitations under the License.
|
||||
<string name="stats_sensors_temperature">Temperatur</string>
|
||||
<string name="sensor_state_temperature">Termometer</string>
|
||||
<string name="description_sensor_temperature">Temperatur (Celsius)</string>
|
||||
<string name="activity_type_gravel_biking">gravelsykling</string>
|
||||
<string name="settings_night_mode_option_day_dynamic">Dag (DynamicColor)</string>
|
||||
<string name="settings_night_mode_option_night_dynamic">Natt (DynamicColor)</string>
|
||||
<string name="settings_night_mode_option_night_oled_dynamic">OLED-vennlig (DynamicColor)</string>
|
||||
</resources>
|
||||
|
||||
@@ -603,4 +603,5 @@ limitations under the License.
|
||||
<string name="description_sensor_temperature">Температура (Цельсій)</string>
|
||||
<string name="sensor_state_temperature">Термометр</string>
|
||||
<string name="stats_sensors_temperature">Температура</string>
|
||||
<string name="activity_type_gravel_biking">гравійний велосипед</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,7 +17,7 @@ limitations under the License.
|
||||
<!-- Activity Type -->
|
||||
<string name="activity_type_airplane">坐飞机</string>
|
||||
<string name="activity_type_atv">全地形越野</string>
|
||||
<string name="activity_type_biking">自行车</string>
|
||||
<string name="activity_type_biking">骑行</string>
|
||||
<string name="activity_type_blimp">小型飞艇游览</string>
|
||||
<string name="activity_type_boat">船</string>
|
||||
<string name="activity_type_climbing">攀岩</string>
|
||||
@@ -633,4 +633,5 @@ limitations under the License.
|
||||
<string name="description_sensor_temperature">温度(摄氏度)</string>
|
||||
<string name="sensor_state_temperature">温度计</string>
|
||||
<string name="stats_sensors_temperature">温度</string>
|
||||
<string name="activity_type_gravel_biking">砾石骑行</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user