Thomas Kuehne
62cae655dd
ZipBackupCallback: add @Nullable / @NonNull annotations
2026-06-01 03:44:25 +00:00
Thomas Kuehne
737a25b2ea
InstallHandler: add @Nullable / @NonNull annotations
2026-06-01 03:44:07 +00:00
Thomas Kuehne
438576b610
DeviceCardAction: add @Nullable / @NonNull annotations
2026-06-01 03:43:44 +00:00
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
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
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