Commit Graph
15408 Commits
Author SHA1 Message Date
Thomas Kuehne 057797c73f DBUpdateScript: add @Nullable / @NonNull annotations 2026-06-01 03:43:27 +00:00
Thomas Kuehne bd829ce33b DBHandler: add @Nullable / @NonNull annotations 2026-06-01 03:43:08 +00:00
José Rebelo 7a986ee5e7 Merge pull request 'MetricsSamples: add experimental UI visualisation paths for TrainingAcuteLoad, TrainingChronicLoad and RestingMetabolicRate' (#6076)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6076
2026-06-01 00:42:44 +02:00
José Rebelo c242102720 BM2 Battery Monitor: Read device info 2026-05-31 22:17:29 +01:00
José Rebelo a3dc90ed92 Matson MA98415: Initial support (#6212)
Protocol source: https://github.com/jakka351/Battery-Monitor-Protocol
2026-05-31 22:16:19 +01:00
José Rebelo fff6857367 Merge pull request 'Yawell: use persistSamples and improve timestamp logging' (#6216)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6216
2026-05-31 19:21:52 +02:00
Thomas Kuehne 081403d83c Yawell: use persistSamples and improve timestamp logging 2026-05-31 17:12:22 +00:00
José Rebelo 7d7a69be38 Merge pull request 'GBDevice: code review' (#6219)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6219
2026-05-31 18:47:07 +02:00
José Rebelo 4a03038d3a Colmi V76: Fix workout parsing 2026-05-31 17:35:52 +01:00
Thomas Kuehne 9cda5525a9 GBDevice: code review 2026-05-31 15:44:31 +00:00
Thomas Kuehne 6be78e2b11 GBDevice: update caller to use multi-battery methods 2026-05-31 15:44:11 +00:00
José Rebelo 92619bb03f Prevent weather updates from starting Gb (#6186) 2026-05-31 08:39:33 +01:00
José Rebelo 622490d83f Merge pull request 'Health Connect: Drop out-of-range sample values to prevent sync abort' (#6195)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6195
2026-05-30 22:00:59 +02:00
Thomas Kuehne b0d4706d15 GloryFitSupport: fix @NonNullable change 2026-05-30 19:28:02 +00:00
José Rebelo d0c742174f Fix tests 2026-05-30 13:36:08 +01:00
Thomas Kuehne f073b360b6 GBDeviceService: code review 2026-05-30 06:19:29 +00:00
José Rebelo ff00649efa BtBRQueue: Fix WAITING_FOR_RECONNECT state leak after dispose
When BT was turned off while a device was mid-connect, BtBRQueue would
end up in WAITING_FOR_RECONNECT even though the queue had been disposed,
causing AutoConnectIntervalReceiver to schedule reconnects even while
bluetooth is already off.
2026-05-30 00:57:39 +01:00
Thomas Kuehne 35d5774c2a Yawell: switch to automatically generated sample providers 2026-05-29 20:33:03 +00:00
Thomas Kuehne a3c7beaf10 Xiaomi: switch to automatically generated sample providers 2026-05-29 20:33:00 +00:00
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
LiJu09andJosé 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
Thomas Kuehne 97281bcb38 MetricsSamples: add experimental UI visualisation paths
- (de-)activate via Settings / Developer Options / Experimental metrics UI
- UI currently uses this only for TrainingAcuteLoad, TrainingChronicLoad and RestingMetabolicRate
- Garmin devices are the only ones that actually record these values in the database
2026-05-29 19:28:32 +00:00
Thomas Kuehne 23cf885c13 MetricsSamples: database infrastructure
- fix: use milliseconds instead of seconds to align with most other samples
- DB upgrade copies existing data from GARMIN_RESTING_METABOLIC_RATE_SAMPLE, GENERIC_TRAINING_LOAD_ACUTE_SAMPLE and GENERIC_TRAINING_LOAD_CHRONIC_SAMPLE to GENERIC_METRIC_SAMPLE
- new data is saved to both the specific table as well as GENERIC_METRIC_SAMPLE
- add GenericMetricSampleProvider with service functions
- add GENERIC_MAXIMUM_OXYGEN_UPTAKE parsing for Garmin
2026-05-29 19:28:26 +00: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