Thomas Kuehne
b1ba12923c
Wena3: switch to automatically generated sample providers
2026-05-29 20:32:58 +00:00
Thomas Kuehne
2a9966e203
Ultrahuman: switch to automatically generated sample providers
2026-05-29 20:32:55 +00:00
Thomas Kuehne
577a1fe918
QHybrid: switch to automatically generated sample provider
2026-05-29 20:32:50 +00:00
Thomas Kuehne
ae125f1763
Moyoung: switch to automatically generated sample providers
2026-05-29 20:32:48 +00:00
Thomas Kuehne
481477e5a8
MiScale: switch to automatically generated sample provider
2026-05-29 20:32:46 +00:00
Thomas Kuehne
08732d3013
Mijia Lywsd: switch to automatically generated sample provider
2026-05-29 20:32:44 +00:00
Thomas Kuehne
6f51e3a764
Huawei: switch to automatically generated sample providers
2026-05-29 20:32:42 +00:00
Thomas Kuehne
3bab9b8620
Huami: switch to automatically generated sample providers
2026-05-29 20:32:40 +00:00
Thomas Kuehne
129ecb0c8c
Glory Fit: switch to automatically generated sample provider
2026-05-29 20:32:37 +00:00
Thomas Kuehne
caad9b0af4
Garmin: switch to automatically generated sample providers
2026-05-29 20:32:35 +00:00
Thomas Kuehne
43c92e0317
Cycling Sensor: switch to automatically generated sample provider
2026-05-29 20:32:33 +00:00
Thomas Kuehne
54fa5f3b01
CMF Watch Pro: switch to automatically generated sample providers
2026-05-29 20:32:30 +00:00
Thomas Kuehne
55d3511105
Blood Pressure: switch to automatically generated sample provider
2026-05-29 20:32:24 +00:00
José Rebelo
cc66210457
Fix build after Keep Health rebase
2026-05-29 21:13:58 +01:00
José Rebelo
aab44cc60c
Merge pull request 'Garmin: Replace SLF4J 2.0 fluent API call with 1.x-compatible logging' ( #6209 )
...
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6209
2026-05-29 22:00:46 +02:00
LiJu09 and José Rebelo
637ca0069c
add support for keephealth devices ( #5634 )
...
Add support for devices using Keephealth app [https://play.google.com/store/apps/details?id=com.keephealthpro.android&hl=en-US ](https://play.google.com/store/apps/details?id=com.keephealthpro.android&hl=en-US )
Currently tested with this "LIGE" smartband [https://www.aliexpress.com/item/1005005057986140.html ](https://www.aliexpress.com/item/1005005057986140.html )
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5634
2026-05-29 21:49:26 +02:00
José Rebelo
9154fe7f7f
Merge pull request 'introduce PersistanceProvider interface' ( #6205 )
...
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6205
2026-05-29 21:15:40 +02:00
Gideon Zenz
67c71ef325
Garmin: Replace SLF4J 2.0 fluent API call with 1.x-compatible logging
...
LOG.atLevel(logLevel).log(...) in NativeFITMessage.getFieldDefinition
uses the SLF4J 2.0 fluent API, which logback-android 3.0.0 does not
implement. This throws AbstractMethodError at runtime, crashing the
FitAsyncProcessor thread and aborting the entire Garmin device sync
when a .FIT file triggers the type/size mismatch path.
Replace with a switch dispatching to LOG.debug/info/warn.
2026-05-29 21:07:16 +02:00
José Rebelo
650ffc0fed
Fix DBHelper.getDevice calls
...
device is never mutated
2026-05-29 19:18:34 +01:00
José Rebelo
b96ee55982
Fix export of database BLOB columns
2026-05-29 19:12:11 +01:00
José Rebelo
88aaf8d34a
Merge pull request 'DBHelper: improve JavaDoc' ( #6204 )
...
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6204
2026-05-29 19:57:16 +02:00
Thomas Kuehne
3e9c10c0d7
persistence: replace calls to persistForDevice with persistSamples
2026-05-29 01:31:10 +00:00
Thomas Kuehne
1569e05acb
Garmin: use harmonised persistSamples methods
2026-05-29 01:31:05 +00:00
Thomas Kuehne
57e493fa86
persistence: add SampleProvider support
2026-05-29 01:30:58 +00:00
Thomas Kuehne
e7b86faf7a
persistence: add AbstractTimeSample support
2026-05-29 01:20:59 +00:00
Thomas Kuehne
79b5abe85e
persistence: add BatteryLevel support
2026-05-29 01:20:37 +00:00
Thomas Kuehne
eac3c94a0b
persistence: add BaseActivitySummary support
2026-05-29 01:20:14 +00:00
Thomas Kuehne
422047de19
DBHelper: improve JavaDoc
2026-05-29 01:18:34 +00:00
Thomas Kuehne
38e43a32b6
GB.toast: improve JavaDoc
2026-05-28 23:26:38 +00:00
Gideon Zenz
7832f8a4a8
Health Connect: Sanitise GPS route to prevent ExerciseRoute crash
...
ExerciseRoute requires strictly increasing timestamps; duplicate-second
points from device GPS parsers (e.g. Xiaomi Smart Band 9 Pro outdoor
cycling) caused IllegalArgumentException at construction time, aborting
the workout sync entirely.
Extract route construction into buildSanitisedRoute, which:
- drops points outside the workout time window
- drops points with non-finite or out-of-range lat/lng (HC's Location
constructor enforces lat in [-90, 90], lng in [-180, 180])
- drops points with non-finite or negative hdop/vdop accuracy (HC
rejects negative accuracy)
- deduplicates points by Instant
- returns null if fewer than two usable points remain
- catches IllegalArgumentException as a safety net so future HC
invariants degrade gracefully (workout saves without route rather
than the whole sync aborting)
Logs dropped points with the [HC_SYNC] prefix so users can grep.
2026-05-27 10:20:07 +02:00
José Rebelo
35d926ce4e
Merge pull request 'add missing @Override annotations' ( #6187 )
...
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6187
2026-05-26 01:11:48 +02:00
José Rebelo
d9a3495d09
Merge pull request 'annotations: prefer androidx.annotation over org.jetbrains.annotations' ( #6184 )
...
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6184
2026-05-26 01:10:24 +02:00
Thomas Kuehne
2f2bb33ddf
add missing @Override annotations
2026-05-25 17:24:58 +00:00
Thomas Kuehne
dd2b864461
DeviceCoordinator: explicitly specify @Nullable for some returns
2026-05-25 16:01:16 +00:00
Thomas Kuehne
04c7f9e9e6
DeviceCoordinator: explicitly specify @NonNull for arguments
2026-05-25 16:00:49 +00:00
Thomas Kuehne
f58130ba8d
annotations: prefer androidx.annotation over org.jetbrains.annotations
...
The Androidx annotations are frequently used whereas Jetbrains annotations are infrequently used.
Where possible, use Androidx instead of Jetbrains annotations.
2026-05-24 18:17:04 +00:00
Thomas Kuehne
5cb0e6b70d
Garmin: add more ANT+ gadget IDs
2026-05-24 13:31:49 +00:00
Dominik Riebeling
d659225e7b
CMF Buds 2 Plus: Enable touch configuration
...
- Enable touch options
- Add missing Play/Pause option to list
2026-05-24 09:32:36 +02:00
Dominik Riebeling
8acad7a853
CMF Buds: Enable spatial audio for more models
...
- Buds 2
Supported according to the product specs page.
2026-05-24 09:32:36 +02:00
Dominik Riebeling
f32111a8b4
CMF Buds: Update EQ presets
...
Add preset list for
- Buds 2
- Buds 2 Pro
Lists taken from Nothing support pages.
2026-05-24 09:32:36 +02:00
Dominik Riebeling
f66dc7d724
CMF Buds: Enable Low Latency on more devices
...
- ear(a): according to #3994
2026-05-24 09:32:36 +02:00
Dominik Riebeling
f02937c321
CMF Buds: Enable Ultra Bass for more devices
...
Ultra Bass is supported by
- Buds Pro 2: according to #3924
- Buds 2: according to #5579
Needs verification.
2026-05-24 09:32:36 +02:00
Dominik Riebeling
9b00c3edaa
CMF Buds 2 Plus: Add spatial mode
...
- Add support for spatial mode
- Enable for Buds 2 Plus
2026-05-24 09:32:36 +02:00
dependency-bot and José Rebelo
eaebdc8278
Update dependency org.json:json to v20260522
2026-05-23 23:50:41 +02:00
José Rebelo
db550db8f1
Update changelog
2026-05-23 21:34:51 +01:00
wighawag and José Rebelo
a1f710081e
xplora xmove
2026-05-23 22:11:54 +02:00
José Rebelo
defd82c01d
Sony WF-1000XM5: Enable further capabilities ( #3341 )
2026-05-23 20:21:48 +01:00
José Rebelo
12af319b9b
Sony WF-1000XM5: Enable further capabilities ( #3341 )
2026-05-23 20:21:13 +01:00
José Rebelo
86d42bab78
GPX: Fix parsing of timestamps without timezone
...
Although these are non-conforming, there are a lot of gpx files online
that do not contain a timezone and fail to be parsed.
2026-05-23 18:42:49 +01:00
José Rebelo
89e495c6b1
Garmin: Fix empty caller when unknown
2026-05-23 15:15:58 +01:00