From b0edefcb4b4c78f50b60141923c229b4b451735c Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Tue, 14 Mar 2023 18:30:25 -0700 Subject: [PATCH] checkpoint --- .../java/org/y20k/trackbook/TrackerService.kt | 124 +++++++++--------- app/src/main/res/values-da/strings.xml | 2 - app/src/main/res/values-de/strings.xml | 2 - app/src/main/res/values-es/strings.xml | 2 - app/src/main/res/values-fr/strings.xml | 2 - app/src/main/res/values-hr/strings.xml | 2 - app/src/main/res/values-id/strings.xml | 2 - app/src/main/res/values-it/strings.xml | 2 - app/src/main/res/values-ja/strings.xml | 2 - app/src/main/res/values-nb-rNO/strings.xml | 2 - app/src/main/res/values-nl/strings.xml | 2 - app/src/main/res/values-pl/strings.xml | 2 - app/src/main/res/values-pt-rBR/strings.xml | 2 - app/src/main/res/values-ru/strings.xml | 2 - app/src/main/res/values-sv/strings.xml | 2 - app/src/main/res/values-tr/strings.xml | 2 - app/src/main/res/values-zh-rCN/strings.xml | 2 - app/src/main/res/values/strings.xml | 14 +- 18 files changed, 65 insertions(+), 105 deletions(-) diff --git a/app/src/main/java/org/y20k/trackbook/TrackerService.kt b/app/src/main/java/org/y20k/trackbook/TrackerService.kt index 3a3b1a5..0b276c0 100644 --- a/app/src/main/java/org/y20k/trackbook/TrackerService.kt +++ b/app/src/main/java/org/y20k/trackbook/TrackerService.kt @@ -142,44 +142,80 @@ class TrackerService: Service() private fun createLocationListener(): LocationListener { - return object : LocationListener { + return object : LocationListener + { override fun onLocationChanged(location: Location) { + Log.i("VOUSSOIR", "Processing point ${location.latitude}, ${location.longitude} ${location.time}.") + if (! isBetterLocation(location, currentBestLocation)) { + Log.i("VOUSSOIR", "Not better than previous.") return } + currentBestLocation = location + if (trackingState != Keys.STATE_TRACKING_ACTIVE) { return } - Log.i("VOUSSOIR", "Processing point ${location.latitude}, ${location.longitude} ${location.time}.") - if (should_keep_point((location))) + + displayNotification() + + if(! trackbook.database.ready) { - val now: Long = location.time - // val now: Date = GregorianCalendar.getInstance().time - val trkpt = Trkpt(location=location) - trackbook.database.insert_trkpt(device_id, trkpt) - recent_trkpts.add(trkpt) - while (recent_trkpts.size > RECENT_TRKPT_COUNT) + Log.i("VOUSSOIR", "Omitting due to database not ready.") + return + } + if (location.latitude == 0.0 || location.longitude == 0.0) + { + Log.i("VOUSSOIR", "Omitting due to 0,0 location.") + return + } + if (! isRecentEnough(location)) + { + Log.i("VOUSSOIR", "Omitting due to not recent enough.") + return + } + if (! isAccurateEnough(location, Keys.DEFAULT_THRESHOLD_LOCATION_ACCURACY)) + { + Log.i("VOUSSOIR", "Omitting due to not accurate enough.") + return + } + for (homepoint in trackbook.homepoints) + { + if (homepoint.location.distanceTo(location) < homepoint.radius) { - recent_trkpts.removeFirst() - } - - recent_displacement_trkpts.add(trkpt) - while (recent_displacement_trkpts.size > 5) - { - recent_displacement_trkpts.removeFirst() - } - - if (now - lastCommit > Keys.COMMIT_INTERVAL) - { - trackbook.database.commit() - lastCommit = now + Log.i("VOUSSOIR", "Omitting due to homepoint ${homepoint.name}.") + return } } - displayNotification() + if (! (recent_displacement_trkpts.isEmpty() || isDifferentEnough(recent_displacement_trkpts.first().toLocation(), location, omitRests))) + { + Log.i("VOUSSOIR", "Omitting due to too close to previous.") + return + } + + val trkpt = Trkpt(location=location) + trackbook.database.insert_trkpt(device_id, trkpt) + recent_trkpts.add(trkpt) + while (recent_trkpts.size > RECENT_TRKPT_COUNT) + { + recent_trkpts.removeFirst() + } + + recent_displacement_trkpts.add(trkpt) + while (recent_displacement_trkpts.size > 5) + { + recent_displacement_trkpts.removeFirst() + } + + if (location.time - lastCommit > Keys.COMMIT_INTERVAL) + { + trackbook.database.commit() + lastCommit = location.time + } } override fun onProviderEnabled(provider: String) { @@ -414,46 +450,4 @@ class TrackerService: Service() /* * End of inner class */ - - fun should_keep_point(location: Location): Boolean - { - if(! trackbook.database.ready) - { - Log.i("VOUSSOIR", "Omitting due to database not ready.") - return false - } - if (location.latitude == 0.0 || location.longitude == 0.0) - { - Log.i("VOUSSOIR", "Omitting due to 0,0 location.") - return false - } - if (! isRecentEnough(location)) - { - Log.i("VOUSSOIR", "Omitting due to not recent enough.") - return false - } - if (! isAccurateEnough(location, Keys.DEFAULT_THRESHOLD_LOCATION_ACCURACY)) - { - Log.i("VOUSSOIR", "Omitting due to not accurate enough.") - return false - } - for (homepoint in trackbook.homepoints) - { - if (homepoint.location.distanceTo(location) < homepoint.radius) - { - Log.i("VOUSSOIR", "Omitting due to homepoint ${homepoint.name}.") - return false - } - } - if (recent_displacement_trkpts.isEmpty()) - { - return true - } - if (! isDifferentEnough(recent_displacement_trkpts.first().toLocation(), location, omitRests)) - { - Log.i("VOUSSOIR", "Omitting due to too close to previous.") - return false - } - return true - } } diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index c0f8642..935cbda 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -20,8 +20,6 @@ Gem Del GPX fil med - Trackbook har ingen rutepunkter endnu. - Fortsæt optagelse Tip: nøjagtigheden af højde målingerne afhænger af din enhed. Op ad og nedadgående højder på hele ruten måles. Kan ikke gemme. Installer venligst en filhåndteringsprogram først. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 409971b..3308cc2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -20,8 +20,6 @@ Speichern GPX-Datei teilen mit - Trackbook hat noch keine Wegpunkte aufgenommen. - Aufnahme fortsetzen In die Zwischenablage kopiert. Hinweis: Die Genauigkeit der Höhenmeter-Werte ist geräteabhängig. Gemessen werden Steigungen und Gefälle der Gesamtstrecke. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 1e87a38..6fc8594 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -29,7 +29,6 @@ Guardar OK Mostrar detalles - Trackbook no registró ningún punto de referencia hasta el momento. Introduce un nombre nuevo Compartir el archivo GPX con Si @@ -38,7 +37,6 @@ ¿Eliminar esta grabación\? Copiado al portapapeles. No se puede guardar. Primero instala un administrador de archivos. - Continuar grabación Se agregó un marcador de punto de interés. Se elimino un marcador de punto de interés. Guardando grabacion como GPX. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f215c4b..af7b298 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -19,8 +19,6 @@ Supprimer Sauvegarder - Reprendre l\'enregistrement - Trackbook n\'a enregistré aucun point de parcours jusqu\'à présent. Partager le fichier GPX avec Astuce : La précision des données d\'altitude dépend de votre appareil. La dénivellation globale du parcours est mesurée. diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 413a4f9..2c93869 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -50,7 +50,6 @@ Savjet: Točnost podataka o visinskoj razlici ovisi o tvom uređaju. Mjeri se visinska razlika cijele rute. Trackbook Ukupna udaljenost: - Trackbook do sada još nije snimio niti jednu točku rute. Počni snimati s Preimenuj @@ -76,7 +75,6 @@ Ukupno trajanje: Snimljene točke rute: Ikona programa Trackbook - Nastavi snimati Održavanje Izbriši … će se ovdje prikazati. diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index bc332f0..67dfe48 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -174,8 +174,6 @@ Bagikan file GPX dengan Masukkan nama baru Ubah nama - Lanjutkan Perekaman - Trackbook tidak merekam titik arah sejauh ini. Tampilkan detil Oke Batalkan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0ee801d..93d9615 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -25,8 +25,6 @@ Annulla OK Dettagli - Trackbook non ha registrato nessuna tappa intermedia finora. - Riprendi la registrazione Rinomina Inserisci un nuovo nome Condividi il file GPX con diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 8188d3b..2fe153a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -20,8 +20,6 @@ 保存してクリア GPX ファイルを共有... - トラックブックはこれまでウェイポイントを記録していません。 - 記録を再開 ヒント: 標高データの精度は、お使いのデバイスによって異なります。ルート全体の上り坂と下り坂の標高を測定します。 先にファイルマネージャか GPX トレースビューアーをインストールしてください。 diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 51f5964..ba47656 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -20,8 +20,6 @@ Lagre og tøm Del GPX-fil med - Trackbook har ikke registrert noen veipunkter så langt. - Gjenoppta opptak Hint: Høydedataens nøyaktighet avhenger av enheten din. Opp og ned-stigningen for hele ruten måles. Klarte ikke å lagre. Installer en filbehandler først. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 88bdb3a..2aefbbb 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -20,8 +20,6 @@ Opslaan GPX-bestand delen met - Trackbook heeft nog geen routepunten vastgelegd. - Opnemen hervatten Tip: De nauwkeurigheid van de hoogtemeter hangt af van uw toestel. De stijging en daling van de hele afstand wordt gemeten. Kan niet opslaan. Installeer eerst een bestandsbeheerder. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 914b9e7..7e9bfe5 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -43,7 +43,6 @@ Czas Nie udzielono zezwolenia na lokalizację. Trackbook nie będzie działać. Wpisz nową nazwę - Zapis życiorysu Wskazówka: Dokładność danych dotyczących wysokości zależy od urządzenia użytkownika. Mierzone jest wzniesienie i zejście całej trasy. Nie można zapisać. Proszę najpierw zainstalować menedżera plików. Podjęte kroki: @@ -91,6 +90,5 @@ Skopiowane do schowka. Udostępnianie pliku GPX Tak - Trackbook nie zarejestrował dotychczas żadnych waypointów. Trackbook \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b4f9450..f269164 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -25,8 +25,6 @@ Cancelar OK Mostrar detalhes - Trackbook não registrou nenhum ponto de passagem até agora. - Retomar gravação Renomear Insira um novo nome Compartilhar arquivo GPX com diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5ccdcb4..ea4e4ad 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -28,8 +28,6 @@ Поделиться файлом GPX через Введите новое имя Переименовать - Возобновить запись - В Trackbook пока что не записаны путевые точки. Показать подробности ОЕ Отмена diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 4c2c8a1..9b39213 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -21,8 +21,6 @@ Spara Dela GPX-fil med - Trackbook spelade inte in några vägpunkter så här långt. - Återuppta inspelning diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 776d9da..8b06bb2 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -43,7 +43,6 @@ Trackbook Uygulama Simgesi Kaydı Durdur Kaydı Başlat - Kaydı Devam Ettir Kayıt Ortalama hız: Yükseklik (yokuş aşağı): @@ -74,7 +73,6 @@ GPX dosyasını paylaş Yeni bir ad girin Yeniden adlandır - Trackbook şu ana kadar herhangi bir ara nokta kaydetmedi. Ayrıntıları göster Tamam İptal diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 10627ae..1949bfd 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -29,8 +29,6 @@ 取消 确定 显示详情 - Trackbook 目前未记录任何航点。 - 恢复记录 重命名 请输入一个新名称 分享 GPX 文件到 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c6e47d6..14ebfd0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -30,8 +30,6 @@ Cancel OK Show details - Unable to save. Trackbook did not record any waypoints so far. - Resume Recording Rename Enter a new name Share GPX file with @@ -55,13 +53,13 @@ Total distance: Steps taken: pedometer not available - Recorded waypoints: + Recorded trackpoints: Total duration: Recording paused: Recording started: Recording stopped: - Highest waypoint: - Lowest waypoint: + Highest trackpoint: + Lowest trackpoint: Elevation (uphill): Elevation (downhill): Average velocity: @@ -82,7 +80,7 @@ App Version Discard location fixes with an accuracy larger than (meters): Accuracy Threshold - Number of waypoints used to smooth the elevation curve. + Number of trackpoints used to smooth the elevation curve. Altitude Smoothing Automatically export GPX file after this many hours. A unique ID to distinguish tracks recorded across multiple devices: @@ -104,8 +102,8 @@ Currently using metric units (Kilometer, Meter). Currently using imperial units (Miles, Feet). Use Imperial Measurements - Waypoints will not be recorded if they are too close to the previous waypoint. - All waypoints will be recorded, even while standing still. + Trackpoints will not be recorded if they are too close to your recent trackpoints. + All trackpoints will be recorded, even while standing still. Omit repeated points Report bugs and suggest improvements on GitHub. Report Issue