Commit Graph
13885 Commits
Author SHA1 Message Date
José Rebelo c9812aac54 Enable Kotlin support 2025-07-06 21:16:45 +01:00
Daniele Gobbettianddaniele 23f4488852 Printer: add upscale switch and print size in preview 2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 6196be1f3f Printer: unregister BroadcastReceiver on dispose
Also register it when the device is actually initialized
2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 99aec7bd48 Printer: Shutdown executor on activty destroy 2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 744d17b45f Printer: Use external library for dithering, cache file and fix image preview
Use a cache file in the cache directory to hold the bitmap, this way we can avoid passing huge byte arrays around for printing.

Also:
allow to open files from the SendToPrinterActivity if it's launched from the device card
fix the encoding of rows when RLE is not in use
show the previews in full width in the activity
2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele b785bda9d1 Printer: use device card actions 2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 12dac9d39f Printer: Print notifications (disabled)
Add method to print incoming notifications (commented out / disabled for now)
2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 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 Gobbettianddaniele 0af011c929 Printer: Use theme color for device icon 2025-07-06 18:08:46 +02:00
Daniele Gobbettianddaniele 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-botandJosé 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
yurtpageandJosé 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
QtekfunandJosé Rebelo 30d5bac428 feat: Add initial support for H59 2025-07-05 23:40:35 +02:00
Thomas KuehneandJosé Rebelo 32e1b8a538 setBusyTask - ensure that busy task names are translated (#5043) 2025-07-05 20:21:45 +02:00
Thomas KuehneandJosé 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 KuehneandJosé Rebelo 443594db8c add CompanionDeviceService initiated re-connection (#5023) 2025-07-04 22:17:19 +02:00
Thomas KuehneandJosé Rebelo b30ede77c7 ble: improve exception handling and streamline logged information 2025-07-04 22:03:15 +02:00
Thomas KuehneandJosé 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 KuehneandJosé 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é RebeloandJosé 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é RebeloandJosé 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 KuehneandJosé 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 KuehneandJosé Rebelo 9976d396ec ble: BtLEQueue optimizations for CompanionDevice auto connect (#5019) 2025-07-01 23:30:29 +02:00
Thomas KuehneandJosé 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