Commit Graph
15243 Commits
Author SHA1 Message Date
Daniele Gobbetti 11ca07451a Add Lifecycle observer to GBApplication
Support classes can now react to application being in foreground/background.

Also adds support for sending app status to garmin devices.
2026-01-03 08:56:25 +01:00
José Rebelo 8fcad9f9f8 Garmin Edge 130: Initial support 2026-01-02 20:45:48 +00:00
José Rebelo c85dbf2a68 GloryFit: Fix screen timeout preference 2026-01-01 23:22:59 +00:00
jrthomas270andJosé Rebelo 2fbef85753 Calendar Sync: Add the option to filter events
This change adds filter filters to the calendar sync options:
  1. Declined events
  2. Canceled events
  3. Color Label filtering
  4. Focus Time event filtering
  5. Working Location event filtering
  6. All Day Event filtering

This changes also inverts the menu for teh sync black list so that is
now a white list. The underlying prefs variables have not changed, just
how the interface displays them so existing user settings will carry
over.

The color label filtering is more useful on calendars from Google
Workspace Calendars that actually have named colors. There is no way
that I can find to access the names of the colors to show to the user,
but it can still be useful to tag some events that you don't want synced.

In addition to the color filters, Google Workspace Calendar has extended
parameters called Focus Time and Working Location. Working location
appears as an all day event every day and if you use the Focus Time as a
Calendar block, your calendar may be filled with these events. For my
work calendar these two event types choke out the "real" events, so it
is nice to filter them.
2026-01-02 00:07:07 +01:00
José Rebelo e6ff0aef04 Sony Headphones: Add 500ms connection delay 2026-01-01 23:01:34 +00:00
José Rebelo 43fc2e4727 Add timeout when connecting to GATT server 2026-01-01 22:42:47 +00:00
Me7c7andJosé Rebelo 305f1827e0 Huawei: Research related to GPS routes for workouts. 2026-01-01 21:59:18 +01:00
José Rebelo a27d4f6de2 Zepp OS: Add debug support for more config types
As seen when requesting all config arguments from the Amazfit GTR 4.
2026-01-01 20:55:10 +00:00
José Rebelo dc3ee7f4a0 Zepp OS: Extract config types to standalone classes 2026-01-01 18:30:49 +00:00
José Rebelo 0676d09115 CMF Watch Pro: Fix active score 2026-01-01 17:45:09 +00:00
José Rebelo e47c1f72ce CMF Watch Pro: Rework device settings screen 2026-01-01 17:42:34 +00:00
José Rebelo b173cad550 CMF Watch Pro 2: Improve activity parsing 2 (#4530) 2026-01-01 17:19:50 +00:00
José Rebelo 5ea10473be Delete AbstractHeadphoneSerialDeviceSupport 2026-01-01 16:37:29 +00:00
José Rebelo 731c1717e8 Anker Soundcore Liberty 3 Pro / 4 NC: Switch to BTBR support class, add headphones features 2026-01-01 16:37:19 +00:00
José Rebelo 1dfe8d3f5e Galaxy Buds: Switch to BTBR support class 2026-01-01 16:35:46 +00:00
José Rebelo 9a790f852f Oppo Headphones: Switch to BTBR support class 2026-01-01 16:34:54 +00:00
José Rebelo 81f0c7fa75 Redmi Buds: Switch to BTBR support class, add headphones features 2026-01-01 16:32:20 +00:00
José Rebelo 158c59ce7b Bose QC35: Switch to BTBR support class, add headphones features 2026-01-01 16:28:42 +00:00
José Rebelo ae38e51154 Soundcore AeroFit 2: Switch to BTBR support class, add headphones features 2026-01-01 16:27:51 +00:00
José Rebelo eaba6be2e4 Pixel Buds A: Switch to BTBR support class, add headphones features 2026-01-01 16:27:16 +00:00
José Rebelo 82177b9b77 Soundcore Q30: Switch to BTBR support class, add headphones features 2026-01-01 16:26:32 +00:00
José Rebelo ce208c9809 Moondrop Space Travel: Switch to BTBR support class 2026-01-01 16:25:34 +00:00
José Rebelo 8b18830e9a Soundcore Motion 300: Switch to BTBR support class 2026-01-01 16:25:09 +00:00
José Rebelo e4d0d4f958 1MORE SonoFlow: Switch to BTBR support class 2026-01-01 16:24:05 +00:00
José Rebelo 58f3e2e357 Divoom Pixoo: Switch to BTBR support class 2026-01-01 16:23:14 +00:00
José Rebelo 49bd90d960 Liveview: Switch to BTBR support class 2026-01-01 16:21:58 +00:00
José Rebelo 9330d8f96c Ear Fun: Switch to BTBR support class 2026-01-01 16:21:11 +00:00
José Rebelo 3ece2a20c6 Sony Headphones: Switch to BTBR support class 2026-01-01 16:20:02 +00:00
José Rebelo c4dc75e6f9 Introduce wrappers for SerialDeviceSupport, deprecate old implementation 2026-01-01 15:57:43 +00:00
Philip MagyarandJosé Rebelo c19ed15dfe fix weather CMF Watch 2026-01-01 15:12:16 +01:00
José Rebelo 78068ecd07 CMF Watch Pro: Fix measurement system 2026-01-01 13:52:49 +00:00
Andreas Shimokawa 25cb04c63f Initial support for Garmin Forerunner 920
(Ich just worked after a87ddbb66a)
2026-01-01 12:47:21 +01:00
José Rebelo 28a78a0bde Keep screen on during zip export / import 2026-01-01 10:15:22 +00:00
José Rebelo 4443b94730 Improve Gadgetbridge restart
- Close the database
- Ensure we go back to the start activity
2026-01-01 10:13:06 +00:00
José Rebelo bfc420f7fe AAWireless: Avoid registering command receiver twice 2025-12-31 21:54:25 +00:00
José Rebelo e9c101ade8 Garmin: Refactor HTTP interceptors 2025-12-31 21:16:15 +00:00
José Rebelo d5de4503e9 GloryFit: SOS contact (experimental) 2025-12-31 20:54:58 +00:00
José Rebelo 921e1f8254 GloryFit: Add screen timeout setting 2025-12-31 19:30:44 +00:00
Daniele Gobbetti a87ddbb66a Garmin: add support for devices not sending ConfigurationMessage
Infer capabilities from the incoming FitData message (as test/workaround, we're not sure if the field we're using is the correct one).
Use the CapabilitiesDeviceEvent instead of the hardcoded ConfigurationMessage instanceof check to call completeInitialization() in GarminSupport.
Also centralize the generation of the capabilities-related DeviceEvent in GarminCapability as they are used both in ConfigurationMessage as in FitLocalMessageHandler now.
2025-12-31 19:10:56 +01:00
Daniele Gobbetti 4ab011dd1e fixup! Garmin: implement messages 5007/Filter and 5037/Synchronization
Remove spurious changes
2025-12-31 19:10:26 +01:00
Daniele Gobbetti ab5999a480 Garmin: implement messages 5007/Filter and 5037/Synchronization
This commit does not override the default fetching of activity data, which is still phone-initiated, but adds support for watch-initiated sync as well (typically upon connecting).

Also change the order of the messages exchanged upon connection to mimic logs of official app.
Also remove some status messages where the outgoing message is already a status.
Also send the status "app in foreground" so that the watch can initiate the synchronization.
2025-12-31 18:54:13 +01:00
José Rebelo 5c9ae46e24 D3 (GloryFit): Initial support 2025-12-31 14:38:58 +00:00
José Rebelo 40525532fa Amazfit Active Max: Experimental support 2025-12-31 14:27:58 +00:00
José Rebelo ebbc8467e4 Amazfit Bip / Bip Lite / Cor 2: Restore 3rd party realtime HR setting
Removed in 4fb79ac2b, unclear if on purpose, but it seems to be present
in other Amazfit devices.
2025-12-31 14:23:21 +00:00
Arjan Schrijver 002c0f7e53 Internet helper: Support forwarding POST requests 2025-12-29 23:10:09 +01:00
Jonathan AlbrieuxandJosé Rebelo f4653e58f8 Qecnato S10 (GloryFit): Initial support 2025-12-29 19:48:08 +01:00
José Rebelo 7ff237bdfd Prevent companion device connection with bluetooth off 2025-12-29 18:43:30 +00:00
WAPEETYandJosé Rebelo 45d8240b5c Squashed: implemented italian transliteration 2025-12-28 19:52:33 +01:00
Daniele GobbettiandJosé Rebelo 7205318131 Nothing Ear: switch to AbstractHeadphoneBTBRDeviceSupport support class
Refactor Ear1Support to extend AbstractHeadphoneBTBRDeviceSupport instead of AbstractHeadphoneSerialDeviceSupport.

Encapsulate NothingProtocol as inner class to Ear1Support and remove NothingIOThread.

Rename one preference to allow the usage of Enum for audio mode. Beside of this change most of NothingProtocol remained unchanged.

Also remove (unused) import in PixooIOThread.
2025-12-28 19:52:14 +01:00
Arjan Schrijver 3aac1d5465 Pebble: Download and show app/watchface previews 2025-12-28 16:59:37 +01:00