Commit Graph
15985 Commits
Author SHA1 Message Date
José Rebelo da878deea5 Health Connect: Fix device model 2026-03-27 18:52:28 +00:00
José Rebelo 11711c6b51 Merge pull request 'Redmi Buds 6 Active: Add 'none' option to 'long button mode'' (#5933)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5933
2026-03-25 23:19:17 +01:00
Thomas KuehneandJosé Rebelo 6fcb07ea98 GPX: add support for importing older GPX version 1.0 files
Also takes care of slightly quirky GPX 1.1 files that contain extra spaces, XML comments or use floats instead of integers for cadence and heart rate.
2026-03-25 23:17:42 +01:00
José Rebelo 3bb686a106 CMF Watch Pro: Reassemble chunks larger than mtu 2026-03-25 21:39:46 +00:00
iNeedADoctor d6a4aad588 Redmi Buds 8 Active: Add device support 2026-03-25 21:03:13 +01:00
iNeedADoctor 9deaf1f45e Redmi Buds 6 Active: Add 'none' option to 'long button mode' 2026-03-25 20:46:27 +01:00
José Rebelo b3ae7607fc Fix nautical units 2026-03-25 17:29:44 +00:00
José Rebelo 5b161d7e5e Huawei: Fix tests 2026-03-25 17:22:40 +00:00
José Rebelo 00dd7cb99b Split measurement system units 2026-03-24 22:16:13 +00:00
José Rebelo 8a16ab2f66 Add support for nautical units 2026-03-24 21:49:26 +00:00
Manfred Kroehnert 07fb5704c7 add ic_activity_climbing_indoor.xml and assign it in ActivityKind.java 2026-03-24 22:25:47 +01:00
Martin.JMandJosé Rebelo cefd33b465 [Huawei] Improve workout sync error handling 2026-03-24 19:35:47 +01:00
Martin.JMandJosé Rebelo 4ea8a4b77b [Huawei] Workout sync refactor
I hope it will fix #5523
2026-03-24 19:35:47 +01:00
Martin.JMandJosé Rebelo 9eb3ed9026 [Huawei] Add RequestBuilder 2026-03-24 19:35:47 +01:00
José Rebelo c594afb629 Merge pull request 'Redmi Buds 6 Active: add (almost all) the missing features' (#5833) from iNeedADoctor/Gadgetbridge:RedmiBuds6Active into master
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5833
2026-03-24 19:16:30 +01:00
José Rebelo e3d8530103 SBM67: Persist samples when they are received 2026-03-24 18:12:21 +00:00
José Rebelo 932745187a PebbleContentProvider: Use connected pebble device 2026-03-24 18:05:08 +00:00
Gideon ZenzandJosé Rebelo 539031b4b1 SleepAnalysis: Fix awake duration overflow when gap is not bridged
Only commit gap time to awakeSleepDuration when sleep actually resumes
(bridge confirmed), instead of speculatively counting all non-sleep
time as awake. Fixes total duration exceeding session span.
2026-03-24 18:58:24 +01:00
Gideon ZenzandJosé Rebelo 4c966bf232 SleepAnalysis: Bridge non-sleep gaps with no activity as awake sleep
Fix dead code bug where MAX_WAKE_PHASE_LENGTH could never trigger
because Block A unconditionally nulled sleepStart before Block B
could check it. Non-sleep samples now only break a session if the
user has step activity or the gap exceeds 1 hour. Bridged gaps are
counted as awake sleep duration.

See: #5757
2026-03-24 18:58:24 +01:00
iNeedADoctor 2ac3556310 Redmi Buds 6 Active: add (almost all) the missing features 2026-03-24 00:56:37 +01:00
Edoardo Vacchi 36e23fe08c Xiaomi: Fix RPK install/delete and enable App Manager UI
- Enable supportsInstalledAppManagement() to show the Apps tab in App Manager
- Fix RPK install protocol: include versionCode (field 2 of RpkInfo) in the
  install request; the band silently ignores requests with versionCode=0
- Fix CMD_RPK_INSTALLED (subtype=2): handle band's post-install notification
  to refresh the app list at the right time
- Fix deleteRpk() UUID comparison: use .equals() instead of ==
- Refresh app list after delete (band sends no explicit delete response)
- Read versionCode from RPK manifest.json in XiaomiFWHelper
- Fix various wrong proto field reads (watchface fields used for RPK responses)
2026-03-23 23:20:42 +01:00
Sky233mlandEdoardo Vacchi 21f719851b Xiaomi: Fixed detail of Rpk 2026-03-23 23:20:42 +01:00
Sky233mlandEdoardo Vacchi 6c5f5f992c Xiaomi: Add support for upload with resumePosition 2026-03-23 23:20:42 +01:00
Sky233mlandEdoardo Vacchi 0554fee3b9 Xiaomi: Add support for parse firmware 2026-03-23 23:20:42 +01:00
Sky233mlandEdoardo Vacchi 08d9b6cac8 Xiaomi: Add support for Rpk 2026-03-23 23:20:42 +01:00
Sky233mlandEdoardo Vacchi 74cc172ada Xiaomi: Add Rpk on xiaomi.proto 2026-03-23 23:20:41 +01:00
José Rebelo 03dd47a5c5 Fix gpx filename sanitization 2026-03-23 21:15:58 +00:00
José Rebelo df495d779c Xiaomi-protobuf: Enable awake sleep 2026-03-22 23:46:14 +00:00
Gideon ZenzandJosé Rebelo d7c1022926 Xiaomi: Map sleep stage 5 (awake) to AWAKE_SLEEP
getActivityKindForSample was written before AWAKE_SLEEP existed in
ActivityKind (April 2024 vs August 2024), so decoded stage 5 (awake
during sleep) fell through to UNKNOWN. This caused the sleep overlay
to skip awake periods, which may fragment sleep sessions in
SleepAnalysis and result in missing or truncated Health Connect
sleep records.

See: https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/5920
2026-03-23 00:35:32 +01:00
José Rebelo ed2156c090 Add Intent to change global settings 2026-03-22 23:16:03 +00:00
José Rebelo 27a6396c70 DeviceSettingsReceiver: Only broadcast changed setting to affected device 2026-03-22 23:00:18 +00:00
José Rebelo 7c1324bec9 Zepp OS: Add Floorball activity 2026-03-22 19:21:46 +00:00
José Rebelo dce0534838 Pebble: Fix PebbleKit toggle in content provider 2026-03-22 19:05:25 +00:00
José Rebelo b0c23b82e3 iTECH Active 3: Initial support 2026-03-22 18:24:33 +00:00
Daniele Gobbetti 3d0e3216f3 Pebble: add toggle for PebbleKit support
The device setting was conflated with "third_party_apps_set_settings" in c3d76477ec, but after reviewing PebbleKitSupport class, the allowed PebbleKit actions are not capable of changing settings on the android device as all of them are just piping data to and from the Pebble device.
PebbleKit messages can change settings on a Pebble device, though, this is possibly the source of the original confusion.
2026-03-22 18:38:00 +01:00
José Rebelo 3ccd231a54 Navigation: Add warning about supported devices 2026-03-22 15:19:18 +00:00
Daniele Gobbetti 27cad55c48 SBM67: change the persisting logic
It looks like the 'NOT_CONNECTED' state does not get intercepted, change it to 'CONNECTING' as Gadgetbridge will attempt a reconnection immediately after disconnect
2026-03-22 16:13:37 +01:00
Daniele Gobbetti 1c3c6c8ce9 Blood pressure profile: prevent persisting duplicate samples
Explicitly clear the GregorianCalendar Instance, as calling "set" only does not set the milliseconds and causes duplicate samples.
2026-03-22 16:10:28 +01:00
Daniele Gobbetti cf244cd1b4 Garmin: use COORDINATE base field for Weather coordinate fields (untested)
Use the standard field encoding for coordinates. Untested as my watch does not show the contents of the coordinate fields, but verified that they used to be invalid in the test cases and are now properly populated.

Also update test cases to match.
2026-03-22 13:26:14 +01:00
Daniele Gobbetti 93df9e94e6 Garmin: re-enable FitWeather tests and make the Weather Message reproducible
Change the order of the calls to the various setters in GarminSupport to reproduce the former fields' ordering in definition and data messages.
Update the tests in FitWeather to incorporate the new logic for local messages.
Add a new test that uses the legacy "setFieldByName" methods to ensure the serialization is equal.
2026-03-22 09:55:02 +01:00
José Rebelo d9e024700f Resolve human-readable auto gpx export path 2026-03-21 23:21:16 +00:00
José Rebelo f6455f777c CMF Watch Pro 3: Workout sync 2026-03-21 22:43:17 +00:00
José Rebelo cb435e067a Garmin: Add auto-export to gpx 2026-03-21 21:55:04 +00:00
José Rebelo b9094f4d06 Xiaomi: Fix re-processing of some wrongly written files 2026-03-21 21:55:04 +00:00
José Rebelo 8890aafa44 Make auto gpx export configurable 2026-03-21 21:55:04 +00:00
José Rebelo de01e6ed14 CMF Watch Pro: Add ActivityTrackProvider 2026-03-21 21:55:04 +00:00
José Rebelo 32d5bbc1c6 Huawei: Add ActivityTrackProvider 2026-03-21 21:55:04 +00:00
José Rebelo a7b432c4b0 Xiaomi: Add ActivityTrackProvider 2026-03-21 21:55:04 +00:00
José Rebelo 9ddb4895df Bangle.js: Add ActivityTrackProvider 2026-03-21 21:55:04 +00:00
José Rebelo 4b1abace72 Huami / Zepp OS: Add ActivityTrackProvider 2026-03-21 21:55:04 +00:00