Commit Graph
15819 Commits
Author SHA1 Message Date
Benjamin TempleandJosé Rebelo c595e69ef2 Pebble: Unify Pebble hardware definitions into PebbleHardware class
Create PebbleHardware.java as the single source of truth for all
Pebble hardware definitions and for determining what model and features
a watch has. The goal of this commit is to better unify the pebble watch
model definitions into a single source of truth to make adding new
models easier, as well as to bring all the relevant model specific logic
about what a watch is capable of, or which watch model to use into a
single file versus being spread out among multiple files making it
easier to fail to fix logic bugs.

The PebbleHardware class now has all the definitions for the following
information in one place:
- Platform enum with capabilities (BLE-only, hasHealth, hasHRM)
- Hardware revision registry mapping hardware IDs to codenames
- BLE-only device detection methods
- Platform name lookup for watchface installation

This cleans up PebbleUtils to only contain non-hardware utilities.
(maybe should move into the pebble directory away from the utils folder
in another commit?)
2026-04-07 00:22:44 +02:00
Thomas KuehneandJosé Rebelo fc6dcc793b Garmin: export FIT laps as GPX track segments 2026-04-07 00:14:44 +02:00
Thomas KuehneandJosé Rebelo 68aa74bc39 GPX: fix redirecting URLs in xsi:schemaLocation
Some XML parsers don't support HTTP redirection for schemaLocation so encode the actual URLs.
2026-04-07 00:14:06 +02:00
Gideon Zenz 68475a07fd Health Connect: Use separate start/end offsets for workout records
Resolve ZoneOffset independently for workout start and end instants,
so workouts spanning a DST transition get correct offset metadata on
both ends.
2026-04-05 23:40:57 +02:00
Gideon Zenz 746bc16bfa Health Connect: Use per-timestamp timezone offset for DST correctness
Replace single sync-time ZoneOffset with ZoneId, resolving the correct
offset per record timestamp via ZoneId.rules.getOffset(instant). Fixes
wrong offset metadata on records crossing DST boundaries (e.g. sleep
sessions starting in CET and ending in CEST).

Also fixes leading space in device model name after manufacturer prefix
strip.
2026-04-05 23:40:57 +02:00
Me7c7andMartin.JM bc63bfa588 Huawei: fix for watchfaces installation for some devices 2026-04-05 18:09:10 +02:00
Arjan SchrijverandArjan Schrijver 7420876a88 Fossil Q: Move notifications configuration to dedicated top-level device preference 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 7735b2d795 Fossil Q: Add button function to ring phone 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver a03bfee348 Fossil Q: Add/fix button actions for music and volume control 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 5ceef900de Fossil Q: Support for find device 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 66f2c26c53 Fossil Q: Migrate existing button preferences automatically 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver aa37f7bdce Fossil Q: Move button config to device preferences 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 5015e3a7b7 Fossil Q: Improve time picker visuals 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver b6b9781f0b Fossil Q: Fix commands being sent to all connected Fossil watches 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver f161d129f5 Fossil Q: Fix spelling in code and logging 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver efd2c626a5 Fossil Q: Move time offsets to device preferences 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 30aa847fa1 Fossil Q: Vibrate watch on incoming call 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 4083d181a6 Fossil Q: Fix steps detection during increased activity 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 79363b0cbb Fossil Q: Support calibration of physical hands 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 9e3e381680 Fossil Q: Extend activity files parser for non-HR watches 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver a149a48e95 Fossil Q: Move subdial notifications to preferences 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 3b437df4ab Fossil Q: Stop misusing app manager button on device card 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 4a7f17599b Fossil Q: Add dev preference for saving raw activity files 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 9093f730a2 Fossil Q: Hide unused authentication key preference 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver a03799fff3 Fossil Q: Limit amount of toasts 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver 65b95a9eeb Fossil Q: Move vibration strength preference into device prefs 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver d243b82761 Fossil Q: Use global step goal preference instead of custom one 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver d997ae6cc8 Fossil Q: Improve device details output 2026-04-05 14:18:10 +02:00
Arjan SchrijverandArjan Schrijver f77b8edb04 Fossil Q: Add button action for showing step goal progress 2026-04-05 14:18:10 +02:00
Thomas Kuehne d65b1fd853 DeviceCoordinator.findInstallHandler: add Bundle parameter
EventHandler.onInstallApp already has a Bundle parameter for passing options to install handlers.
This prepares the infrastructure for PR #5923.
2026-04-03 20:57:30 +00:00
Thomas KuehneandJosé Rebelo 05b229c833 Gpx: export track name
Some Garmin devices only read gpx/trk/name and ignore gpx/metadata/name.
Export the same name to both.
2026-04-03 18:53:54 +02:00
Thomas Kuehne de1c74f223 fix: always use GPSCoordinate.hasAltitude to check if altitude value is valid
Altitude is a floating point value that supports NaN so it is too easy to use the wrong comparison operation.
2026-04-03 16:40:55 +00:00
Thomas Kuehne 3cd5ae847b Garmin: add support for installing .FIT location and segment files
The uploaded location file creates new waypoints on the device by updating the LCTNS.FIT / Location.fit file.
2026-03-30 01:26:02 +02:00
Christian Breiteneder a634fb15a5 BPW4500: Persist samples immediately on receive
Align with GenericBloodPressureSupport (e3d8530103):
remove BroadcastReceiver, use onConnectionStateChange
to signal activity data finish.
2026-03-29 10:00:37 +02:00
Martin.JM 59f140f751 Reduce error toasts for Huawei workout sync 2026-03-28 11:14:45 +01:00
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 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