Commit Graph
15635 Commits
Author SHA1 Message Date
diskaczandHosted Weblate a2092bb264 Translated using Weblate (Polish)
Currently translated at 100.0% (4551 of 4551 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2026-03-16 23:49:22 +00:00
apemayandHosted Weblate 27e540d8cd Translated using Weblate (Spanish)
Currently translated at 100.0% (4551 of 4551 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2026-03-16 23:49:21 +00:00
FjuroandHosted Weblate bd5a91e79b Translated using Weblate (Czech)
Currently translated at 100.0% (4551 of 4551 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-03-16 23:49:20 +00:00
summoner001andHosted Weblate 05fdaf8462 Translated using Weblate (Hungarian)
Currently translated at 100.0% (4551 of 4551 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-03-16 23:49:19 +00:00
summoner001andHosted Weblate fbd35ba6bf Translated using Weblate (Hungarian)
Currently translated at 100.0% (4549 of 4549 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-03-16 23:49:18 +00:00
summoner001andHosted Weblate 3c6a73072a Translated using Weblate (Hungarian)
Currently translated at 100.0% (4547 of 4547 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-03-16 23:49:18 +00:00
neriandHosted Weblate 52ca7a3f38 Translated using Weblate (Italian)
Currently translated at 85.3% (3881 of 4547 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/it/
2026-03-16 23:49:17 +00:00
José Rebelo a76cc5d26e Update changelog 2026-03-16 23:48:51 +00:00
José Rebelo 3230965013 Honor Magic Watch: Initial support 2026-03-16 23:28:26 +00:00
José Rebelo 7777d70eea Xiaomi-protobuf: Improve activity parsing 2026-03-16 23:23:22 +00:00
José Rebelo 66d1cd34f8 Y6 (GloryFit): Initial support 2026-03-16 23:12:44 +00:00
Thomas KuehneandJosé Rebelo fde8563b4a backport upstream BouncyCastle fixes
aligned with bcgit/bc-java@7b094ad188
2026-03-17 00:00:31 +01:00
dependency-botandJosé Rebelo 3e48a41aae Update dependency gradle to v9.4.0 2026-03-16 23:51:05 +01:00
dependency-botandJosé Rebelo 80d080e6a4 Update dependency androidx.core:core-ktx to v1.18.0 2026-03-16 23:50:41 +01:00
dependency-botandJosé Rebelo e2b259eda4 Update dependency org.mockito:mockito-core to v5.23.0 2026-03-16 23:50:29 +01:00
dependency-botandJosé Rebelo 96a66b8cfa Update dependency androidx.activity:activity-ktx to v1.13.0 2026-03-16 23:50:20 +01:00
Thomas KuehneandJosé Rebelo e6bdac82d4 Garmin: GpxRouteFileConverter add depth, temperature, speed and tests 2026-03-16 23:31:39 +01:00
José RebeloandJosé Rebelo ca9c02e686 Garmin: Use builders for GpxRouteFileConverter 2026-03-16 23:31:39 +01:00
Ritvik BanakarandJosé Rebelo 22c8a8f897 Add PAI dashboard widget 2026-03-16 23:27:04 +01:00
José Rebelo 302d79342e Xiaomi: Fix first HC sync for SpO2 data 2026-03-16 21:50:25 +00:00
José Rebelo eee47b717c Xiaomi: Fix first HC sync for SpO2 data 2026-03-15 21:28:21 +00:00
José Rebelo 546dd7a9cf Garmin/CMF: Fix activity over-counting on timezone change 2026-03-15 00:05:30 +00:00
Thomas Kuehne d985e0ab7e strings: clean-up British vs US spellings and GPS 2026-03-14 19:39:59 +01:00
Thomas Kuehne 4ebb31f255 add missing @Override annotations 2026-03-14 11:02:58 +01:00
José Rebelo 5dfe8d835f Garmin Forerunner 935: Initial support 2026-03-13 21:31:39 +00:00
José Rebelo fb6e605389 Garmin Venu 4: Fix bluetooth name 2026-03-13 21:29:02 +00:00
Gideon Zenz 7096e11dcf Fix: Hide only all-day HR interval and activity monitoring for devices without display 2026-03-12 23:22:15 +01:00
Gideon Zenz b5e6fa82a6 Remove dead supportsActivityTracking guards and unused methods from RecordedWorkoutSyncer
RecordedWorkoutSyncer is only invoked for devices where supportsActivityTracks() is true,
and all such devices also support activity tracking — so the !supportsActivityTracking
guards were always false, making addHeartRateRecord and addStepsRecord unreachable.
HR and steps are already synced by HeartRateSyncer and StepsSyncer at activity level.
2026-03-12 21:46:41 +01:00
Gideon Zenz f9d1f3874c Health Connect: Fix duplicate and truncated sleep records across slice boundaries
SleepSyncer was inserting the same sleep session in multiple slices when
the session spanned a slice boundary. The 1-day look-back caused the
session to be re-discovered in adjacent slices, and the overlap check
allowed it to be synced in each one.
Assign each session to the slice where its start time falls
([sliceStart, sliceEnd)). This ownership rule ensures each session is
synced exactly once regardless of how many slices it overlaps with.
Add a 12-hour look-forward to the DB query for SLEEP so that sessions
starting near the slice end are fetched with their full data, preventing
truncation at the slice boundary.
Fixes: https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/5873
2026-03-12 18:30:52 +01:00
Gideon Zenz f07779f249 Health Connect: Fix duplicate records from workout syncer overlapping ACTIVITY sync
RecordedWorkoutSyncer was writing heart rate, steps, and calorie records
that overlap with the per-minute data already synced by HeartRateSyncer,
StepsSyncer, and ActiveCaloriesSyncer in the ACTIVITY data type sync.
The supportsActiveCalories guard from 8c575535b only covered
processDetailedWorkout but not processAggregateWorkout, which is the
code path hit when no track file is available. No guards existed for
heart rate or steps in either path.

Skip workout-level aggregate HR and steps when supportsActivityTracking
(covered by ACTIVITY sync), and skip workout-level calories when
supportsActiveCalories (covered by ActiveCaloriesSyncer). Per-second HR
from detailed workout track data is always synced as it is more granular
than the per-minute activity HR.
2026-03-12 18:30:52 +01:00
Thomas KuehneandJosé Rebelo cb5634dcfe Garmin: add Recovery Heart Rate and Rate of Perceived Exertion to activity summary
RPE / rate of perceived exertion
https://support.garmin.com/en-US/?faq=8nISJXqSZVAI3Td4IWRqsA

recovery heart rate
https://support.garmin.com/en-US/?faq=3HTTUrSoRF51m8vGUtMhY9
2026-03-11 22:13:16 +01:00
Thomas Riedler 6b9650f675 Zepp OS: fix notification pictures 2026-03-10 21:44:10 +01:00
José Rebelo 3739a2935e Attempt to fix TinyWeatherForecastGermanyReceiver on some devices 2026-03-10 19:47:14 +00:00
José Rebelo 50338052b6 Zepp OS: Add setting to disable calendar event reminders 2026-03-09 22:46:06 +00:00
José Rebelo 63d94b3121 Garmin Instinct 2S Surf: Initial support 2026-03-09 21:44:50 +00:00
José Rebelo 6f6047363e Huawei Band 11: Initial support 2026-03-09 21:42:58 +00:00
José Rebelo 6f0b8b368e Dashboard: Add week day 2026-03-09 21:39:23 +00:00
Thomas KuehneandJosé Rebelo 07b1e593b3 nQuant: backport Gadgetbridge fixups 2026-03-09 22:28:03 +01:00
Thomas KuehneandJosé Rebelo c8da8b4717 nQuant: refresh to mcychan/nQuant.android@12822f15c9 2026-03-09 22:28:03 +01:00
Thomas KuehneandJosé Rebelo 26cf09d700 Garmin: move test FIT data into files 2026-03-09 22:15:35 +01:00
José Rebelo 680026d7a4 Restrict jitpack dependencies to com.github.* 2026-03-08 22:43:13 +00:00
Thomas Kuehne 98fe5caaa4 Garmin: FIT file type 57 is SPORTS_BACKUP 2026-03-08 08:30:55 +01:00
Thomas KuehneandJosé Rebelo 7dc6044138 BleNamesResolver: add more standard services and characteristics 2026-03-07 21:28:35 +01:00
José Rebelo d0993353cf Garmin: Improve activity fetch logging 2026-03-07 13:06:58 +00:00
Arjan Schrijver 422cb0eced Garmin Forerunner 245 Music: Remove experimental flag 2026-03-03 12:30:49 +01:00
Arjan Schrijver 700b39674e Webview: Firewall is not used when direct internet access is available 2026-03-03 10:55:30 +01:00
Arjan Schrijver 8e02231d66 Pebble: Fix app configuration when internet helper is available but disallowed 2026-03-03 10:48:55 +01:00
Gideon ZenzandMerow 92f0a7d802 Add data export for HC sync verification tooling as debug function 2026-03-02 20:24:53 +01:00
Gideon Zenz b5b0b585cc Fix #5797: Advance HC sync cursor by last-written record timestamp
The sync state cursor was advancing to the slice end timestamp
unconditionally, even when no records were written. Late-arriving data
(sleep, workouts, VO2Max, etc.) that arrives after the cursor has
already advanced past it would be permanently skipped.
Each syncer now reports the latest timestamp of records actually
inserted into Health Connect. The sync cursor advances to
max(currentPersisted, latestRecordTimestamp) instead of
sliceEndTimestamp. If no records were written for a slice, the cursor
stays put. This handles all late-arriving data generically without
needing per-data-type special-casing.
2026-03-02 20:19:02 +01:00
WilsontheWolfandJosé Rebelo 1b314c41b1 fix: battery and time sync 2026-03-02 20:14:59 +01:00