Commit Graph
13066 Commits
Author SHA1 Message Date
Andreas Shimokawa 0c2dad6f89 ATC_TLSR_Paper: Initial support
This is for epaper devices with a TLSR8359 chip, running a fork of openepaperlink that enables BLE

The firmware that has to be flashed is this one:

https://atc1441.github.io/ATC_BLE_OEPL.bin
(there seems to be no source for that)

It also has to be configured already to match your screen, so you should already see the openepaperlink screen on the device before using Gadgetbridge

Works:
- getting screen configuration
- sending images to epaper displays with black/white or black/white/red/yellow

TODO:
- allow configuration of screen type and parameters through Gadgetbridge
- firmware update
2025-06-30 12:25:25 +02:00
José Rebelo 37c4972cb2 Garmin Forerunner 945: Initial support 2025-06-29 18:35:38 +01:00
José Rebelo a844bdc37b Amazfit Helio Strap: Enable HRV 2025-06-29 18:20:51 +01:00
José Rebelo cb1d0c2eb0 Garmin: Split fit files per type / year 2025-06-29 16:48:20 +01:00
José Rebelo 5df1e0b467 Zepp OS: Map some unknown menu items and shortcut cards 2025-06-29 16:32:49 +01:00
José Rebelo cb5e611fbf Zepp OS: Make device info parsing more resilient 2025-06-29 16:23:20 +01:00
José Rebelo ba1c9ddf2f Zepp OS: Request only supported config groups 2025-06-29 16:23:20 +01:00
José Rebelo c619506057 Amazfit Helio Strap: Initial support 2025-06-29 16:23:20 +01:00
Thomas KuehneandJosé Rebelo 071c7529ba use Build.VERSION_CODES instead of magic numbers
The available codes only depend on compileSdk.
minSdk and targetSdk are not relevant.
2025-06-29 16:32:27 +02:00
Thomas KuehneandJosé Rebelo 6728e87393 DeviceCommunicationService - stress test connect/dispose (#5020)
only effective in debug builds:
Test if a DeviceSupport is ready for multiple connect triggers (manual, AutoConnectIntervalReceiver, BluetoothConnectReceiver, GBCompanionDeviceService)

Device specific debugging preferences:
1) optionally call DeviceSupport.dispose() twice
2) optionally call DeviceSupport.connect() multiple times in series or in parallel
2025-06-29 16:31:53 +02:00
José Rebelo 8c91b5dd3f CalendarManager: Close event reminder cursor 2025-06-29 13:31:01 +01:00
Thomas KuehneandJosé Rebelo 4723115356 enable StrictMode with penalty log for debug builds (#5022) 2025-06-29 14:26:32 +02:00
José Rebelo 75b8f7178a Huami: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo 676b861c40 Zepp OS: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo 0e25d9ca81 AAWireless: Fix support class reuse 2025-06-29 13:07:12 +01:00
José Rebelo d97177dea6 Xiaomi: Fix support class reuse 2025-06-29 11:58:19 +01:00
dependency-botandJosé Rebelo b84d282586 Update dependency org.jsoup:jsoup to v1.21.1 2025-06-28 19:43:43 +02:00
Thomas KuehneandJosé Rebelo f732ff582a ble: add ReadPhyAction, SetPreferredPhyAction, onServiceChanged and onReliableWriteCompleted 2025-06-28 19:34:22 +02:00
Thomas KuehneandJosé Rebelo e40608dcf6 ble: enable BtLEQueue to log to-be-written values 2025-06-28 19:28:22 +02:00
Thomas KuehneandJosé Rebelo 95d163e8c3 casio gbx100: distinct transaction names for better debugging (#5008) 2025-06-28 16:40:02 +02:00
José Rebelo c8e34040db Redmi Watch 5: Initial support 2025-06-28 15:36:50 +01:00
dependency-bot 7889c7fd6e Update dependency org.robolectric:robolectric to v4.15.1 2025-06-28 08:03:07 +00:00
José Rebelo 748f3e2b7c Garmin/Zepp OS: Fix HTTP requests on Android < 13
Partially reverts 79a6ee2c9
2025-06-27 21:51:44 +01:00
José RebeloandJosé Rebelo ae32b7b1e4 PebbleIoThread: Fix connection 2025-06-27 15:49:22 +02:00
José Rebelo 533ecb9ee3 CMF Watch Pro: Firmware update
Tested by updating to 11.0.0.57
2025-06-27 00:05:18 +01:00
Arjan SchrijverandArjan Schrijver d0b85358b6 Yawell Ring: Add support for Yawell R10 and R11 2025-06-26 21:24:58 +02:00
Arjan SchrijverandArjan Schrijver 9fce6e1c8d Colmi R0x: Rename to Yawell Ring
As discussed in https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/4872, these rings and the app QRing are actually made by Yawell.
2025-06-26 21:24:58 +02:00
Thomas KuehneandJosé Rebelo 868bc0bd7e BtBR+BtLE: adjust DeviceSupport's isConnected to check the queue's status
DeviceSupport asks BtBRQueue/BtLEQueue for the connectivity status as the queue knows best.
This enables the queue implementation to sidestep multi-threading issues.
2025-06-26 20:42:49 +02:00
José RebeloandJosé Rebelo 43116ade24 BT Classic: Fix connection 2025-06-26 20:26:27 +02:00
José Rebelo 453eaee4c1 Charts: Avoid crash if database fetch fails 2025-06-26 18:08:54 +01:00
Arjan Schrijver a291eb1205 Fossil/Skagen Hybrids: Add calendar sending preferences 2025-06-26 10:00:10 +02:00
Arjan Schrijver 61e31229d2 Fossil/Skagen Hybrids: Add sending calendar items 2025-06-26 10:00:10 +02:00
José Rebelo 73fc8971c8 Generic Headphones: Do not suggest unbind before pair 2025-06-24 18:41:34 +01:00
José Rebelo 94c01a9b95 Amazfit Balance 2: Experimental support 2025-06-24 13:20:23 +01:00
Thomas KuehneandJosé Rebelo 3d2ac05390 ble: fix BtLEQueue reconnection logic
Ensure that handleDisconnected uses a robust reconnection logic.
2025-06-24 14:12:28 +02:00
Thomas KuehneandJosé Rebelo ac56df52ac ble: fix DeviceCommunicationService disposes DeviceSupport
When a device goes out of range and then comes back into range DeviceCommunicationService disposes DeviceSupport while trying to re-establish a connection.
This causes race conditions as there are multiple for path for reconnections that can be executed in parallel.
The DeviceService.ACTION_CONNECT path kills everything abruptly potential leaving the gadget with a broken connection.

partial backport from PR #4916
2025-06-24 09:53:50 +02:00
Thomas KuehneandJosé Rebelo 7fcc879280 ble: fix BondingAction.getCurrentTarget 2025-06-24 00:09:30 +02:00
José Rebelo fa625597ad update changelog, bump version 2025-06-23 22:57:40 +01:00
José Rebelo 038e409d66 User ServiceCompat to start foreground services (#4994) 2025-06-23 22:23:16 +01:00
Arjan Schrijver c3f0a029cd Fossil/Skagen Hybrids: Fix NPE during connection setup 2025-06-23 23:07:05 +02:00
José Rebelo 9d4dca5d5b Bangle.js: Fix stack overflow on initialization
Fix regression introduced by 280f4fc61. We should never call
performInitialized in the initializeDevice function, as that can cause
race conditions or, in this case, a stack overflow due to the recursive
initialization.
2025-06-23 21:59:29 +01:00
José Rebelo a16d7a18fc Garmin Descent Mk3: Initial support 2025-06-23 08:40:53 +01:00
Thomas KuehneandJosé Rebelo 4c94bc5568 G1DeviceSupport: fix setUpdateState 2025-06-22 19:19:14 +02:00
Thomas KuehneandJosé Rebelo 8bf39e62d5 Huawei: fix setUpdateState 2025-06-22 19:19:00 +02:00
Thomas Kuehne 168fec3253 log: set distinct thread names to enhance logging of race conditions 2025-06-22 17:21:32 +02:00
Thomas KuehneandJosé Rebelo 2e8c38d255 miband: fix setUpdateState 2025-06-22 14:54:48 +02:00
Thomas KuehneandJosé Rebelo 161c89cfcf makibeshr3: fix setUpdateState 2025-06-22 14:50:32 +02:00
Thomas KuehneandJosé Rebelo bd48d299f7 qhybrid: fix setUpdateState 2025-06-22 14:50:10 +02:00
Thomas KuehneandJosé Rebelo cc41bcac2a jyou: fix setUpdateState 2025-06-22 14:49:27 +02:00
Thomas KuehneandJosé Rebelo d48bea3003 test: fix setUpdateState 2025-06-22 14:48:50 +02:00