Daniele Gobbetti and daniele
c03b229563
Printer: Implement flow control
...
Also make the print activity scrollable for dealing with long images.
2025-07-06 18:08:46 +02:00
Daniele Gobbetti and daniele
0af011c929
Printer: Use theme color for device icon
2025-07-06 18:08:46 +02:00
Daniele Gobbetti and daniele
07d0895c06
Initial support for thermal printers
2025-07-06 18:08:46 +02:00
José Rebelo
0996b5d810
BtBRQueue: Fix unit tests
...
Regression in the tests introduced by 891655504
These should be refactored, as they can become quite flaky due to the
mocks.
2025-07-06 15:50:04 +01:00
Thomas Kuehne
a810fa8a36
log: improve logging of Bluetooth adapter changes
2025-07-06 15:05:00 +02:00
José Rebelo
de1e17c3a4
Fix crash when no calendar provider is available
2025-07-06 13:21:40 +01:00
José Rebelo
e9eaee02cb
Garmin Forerunner 165 Music: Initial support
2025-07-06 13:21:15 +01:00
dependency-bot and José Rebelo
3371d9496f
chore(deps): update dependency gradle to v8.14.3
2025-07-06 10:17:00 +02:00
José Rebelo
35935275fa
BTBR: Fix stuck reconnection on null socket
2025-07-06 09:08:10 +01:00
Thomas Kuehne
46d3f461e9
Timers: use fixed delay instead of fixed rate
...
from lint:
Use of scheduleAtFixedRate is strongly discouraged because it can lead to unexpected behaviour when Android processes become cached (tasks may unexpectedly execute hundreds or thousands of times in quick succession when a process changes from cached to uncached).
2025-07-06 09:43:30 +02:00
yurtpage and José Rebelo
63ee2fcf5c
fastlane: full_description.txt add link to Gadgets page
...
Signed-off-by: yurtpage <yurtpage@noreply.codeberg.org >
2025-07-05 23:51:38 +02:00
José Rebelo
0a0d0806e7
Garmin Instinct Tactical: Initial support
2025-07-05 22:46:18 +01:00
Qtekfun and José Rebelo
30d5bac428
feat: Add initial support for H59
2025-07-05 23:40:35 +02:00
Thomas Kuehne and José Rebelo
32e1b8a538
setBusyTask - ensure that busy task names are translated ( #5043 )
2025-07-05 20:21:45 +02:00
Thomas Kuehne and José Rebelo
5d140e167d
replace three dots (...) with ellipses (…)
2025-07-05 19:12:22 +02:00
Thomas Kuehne
42d19dbaed
dispose DeviceSupports if connect() throws an exception ( #5045 )
2025-07-05 18:04:45 +02:00
Andreas Shimokawa
165a78f99c
ATC_BLE_OEPL: Keep aspect ratio when scaling
2025-07-05 15:13:01 +02:00
Thomas Kuehne and José Rebelo
443594db8c
add CompanionDeviceService initiated re-connection ( #5023 )
2025-07-04 22:17:19 +02:00
Thomas Kuehne and José Rebelo
b30ede77c7
ble: improve exception handling and streamline logged information
2025-07-04 22:03:15 +02:00
Thomas Kuehne and José Rebelo
2709446597
casio: introduce BLE legacy writes to fake not-yet-written characteristic values ( #5008 )
2025-07-04 19:55:10 +02:00
Andreas Shimokawa
ed5de171e8
ATC_BLE_OEPL: support newly added HS 260 BWRY JD (needs firmware V105)
2025-07-04 19:18:42 +02:00
José Rebelo
848454c871
Amazfit Active 2 Square: Experimental support
2025-07-04 10:02:03 +01:00
Thomas Kuehne and José Rebelo
83db1c98ff
logging: use Runtime.addShutdownHook to flush the log
...
This should have a better chance to write the last log lines than doing it in UncaughtExceptionHandler.
2025-07-04 10:49:40 +02:00
Andreas Shimokawa
b4277e7bd2
ATC_BLE_OEPL: Support black/white/yellow displays
2025-07-04 02:34:47 +02:00
Andreas Shimokawa
b0bb0f0eb5
Rename ATC_TLSR_Paper to ATC_BLE_OEPL
...
It seems the old github repo is named ATC_TLSR_Paper, but the firmware (without published source) we use now is called ATC_BLE_OEPL
At least the author calls it ATC_BLE_OEPL now
https://www.youtube.com/watch?v=9oKWkHGI-Yk
2025-07-03 23:57:54 +02:00
Andreas Shimokawa
7e7f554045
ATC_TLSR_Paper: support enabling/disabling oepl protocol, fix setting BLE advertising interval
2025-07-03 20:49:57 +02:00
José Rebelo and José Rebelo
8916555044
BT Classic/BTBR: Fix concurrency issues on connection
2025-07-03 19:59:00 +02:00
Andreas Shimokawa
c34885974a
ATC_TLSR_Paper: support getting/setting the ble advertising interval
2025-07-03 15:36:17 +02:00
José Rebelo and José Rebelo
d2981a7ec8
BT Classic/BTBR: Enable periodic reconnection
2025-07-03 15:00:39 +02:00
Andreas Shimokawa
34bde9ce30
bump gradle plugin
2025-07-03 14:56:14 +02:00
Thomas Kuehne and José Rebelo
8820f64d69
concurrency: AtomicBoolean and volatile boolean
...
when multiple threads may be involved
AtomicBoolean: at least once code location tests and then sets the value
volatile boolean: test and set are in different code path
2025-07-03 10:17:33 +02:00
Andreas Shimokawa
b610f7720f
ATC_TSLR_Paper: support HS 154 BWRY JD
...
This sends a full configuration instead of a single id because it is not supported officially by the firmware it seems
Tested with 1.54 inch Hanshow Nebular Pro 154Q-N (200x200 px)
2025-07-02 22:54:42 +02:00
Andreas Shimokawa
cb03fb18bf
ATC_TSLR_Paper: allow setting the display type
...
This will reboot the system and load a preset from the firmware
Some displays still need tweaks which is not supported yet.
2025-07-02 21:31:13 +02:00
Thomas Kuehne and José Rebelo
9976d396ec
ble: BtLEQueue optimizations for CompanionDevice auto connect ( #5019 )
2025-07-01 23:30:29 +02:00
Thomas Kuehne and José Rebelo
d98e51190d
ble: always use the TransactionBuilder provided to createTransactionBuilder
...
The use of initializeDevice's TransactionBuilder was inconsistent:
onServicesDiscovered used the input argument
performInitialized used the return
2025-07-01 23:04:03 +02:00
José Rebelo
cb9db98480
Garmin Venu X1: Experimental support
2025-07-01 20:35:55 +01:00
José Rebelo
52a30561fd
Mi Band 10: Experimental support
2025-07-01 20:34:09 +01:00
Thomas Kuehne
0d4e64ca85
fix: AbstractMethodError CompanionDeviceService.onDeviceDisappeared ( #5028 )
...
In older Android versions this is method is abstract.
2025-07-01 19:27:28 +02:00
Andreas Shimokawa
30ccb07698
ATC_TSLR_Paper: scan also for service, to not interfere with Mijia devices
2025-07-01 18:10:12 +02:00
Andreas Shimokawa
125dd289a3
ATC_TLSR_Paper: Support firmware update
2025-06-30 14:03:50 +02:00
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 Kuehne and José 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 Kuehne and José 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