Commit Graph
14312 Commits
Author SHA1 Message Date
Me7c7 c45374fd12 Huawei: code cleanup and refactoring 2025-08-15 11:51:04 +03:00
Thomas KuehneandJosé Rebelo 78b78de8e6 delete export files when deleting a device (#5216) 2025-08-14 23:08:14 +02:00
José Rebelo 17dcb95963 Backup and restore file modification times 2025-08-14 21:38:15 +01:00
José Rebelo c1554762f7 Fetch weather from singleton instance
As a follow-up to #5239, avoid moving around a huge amount of data
through intents.
2025-08-14 18:25:12 +01:00
Me7c7andJosé Rebelo 3db92e7711 Charts: additional sleep chart with sleep stages 2025-08-14 18:57:51 +02:00
Thomas Kuehne 3b5ea9bf7f weather: try to reduce risk of TransactionTooLargeException 2025-08-14 09:49:32 +02:00
Thomas Kuehne 21a272cd74 weather: add compressed WeatherGz support to ACTION_GENERIC_WEATHER (#5239)
When receiving the broad cast action `nodomain.freeyourgadget.gadgetbridge.ACTION_GENERIC_WEATHER`

Try to decode bundle extra `WeatherGz` (ByteArray containing GZiped UTF-8 encoded JSON array of weather specifications) first.
If not present fall back to bundle extras `WeatherJson`  (String containing one JSON weather specification) and optional `WeatherSecondaryJson` (String containing JSON array of weather specifications).
2025-08-14 08:35:03 +02:00
José Rebelo 7fe1066be1 Improve clarity on zip export/import error 2025-08-13 23:26:44 +01:00
José Rebelo 4b2fab61a8 Fix OOM crash when exporting large database (#5238) 2025-08-13 22:52:12 +01:00
José Rebelo 263c9137a7 Amazfit Active: Fix firmware recognition 2025-08-12 22:02:00 +01:00
Thomas Kuehne 32204ce606 debug: enable sharing an existing log file even if file logging is currently disabled (#4659) 2025-08-12 21:12:36 +02:00
Me7c7 3f538f15f8 Huawei: fix emphemeris uploading 2025-08-12 18:11:52 +03:00
José Rebelo a44c9036b2 Fix settings activities padding 2025-08-12 14:53:06 +01:00
José Rebelo 71606f1430 Use File.separator to build paths 2025-08-12 12:17:53 +01:00
José Rebelo 2339242c33 Garmin: Fix activity fetch getting stuck on error
If fetch unknown files was enabled, an INDEX_UNKNOWN might sometimes be
received for some of the files, which would make the activity fetch get
stuck as we do not check the isDownloading() state anymore.
2025-08-12 11:01:32 +01:00
Thomas Kuehne 00d3e9b23d implement getAllDeviceDao to enable device specific database exports (#5230) 2025-08-12 11:43:07 +02:00
José Rebelo 2c362412ea Garmin: Ignore empty monitor samples 2025-08-11 21:58:49 +01:00
José Rebelo 3edbb30a0c Garmin: Fix copy of manually imported files 2025-08-11 21:57:00 +01:00
José Rebelo 3d88f0322c Fix training load support on charts 2025-08-11 21:32:08 +01:00
José RebeloandJosé Rebelo 7f20bf698b Garmin: New sync protocol (experimental) 2025-08-11 22:06:05 +02:00
Thomas KuehneandJosé Rebelo 111b705963 add missing @Override annotations 2025-08-11 21:41:25 +02:00
José Rebelo a4fe2bbd4d Polar H9: Initial support 2025-08-11 19:22:14 +01:00
José Rebelo 28fb5732a6 Remove redundant "Activity" group in activity details 2025-08-11 19:12:16 +01:00
José Rebelo 221add17f1 Garmin: Relabel total ascent / descent 2025-08-11 19:11:37 +01:00
Daniele Gobbetti cfaedb1eba Garmin: fix usage of spurious static variable 2025-08-11 15:04:35 +02:00
José Rebelo eef224ca4e Garmin: Set alarms from phone 2025-08-10 23:16:09 +01:00
jrthomas270andJosé Rebelo d6daab8d0d Even Realites G1: Support Notifications and improve disconnections
This change helps improve the connection experience when GadgetBridge is
working as a background task. The glasses must be send a heartbeat
packet every 32 seconds, otherwise they will disconnect. When
GadgetBridge is running in the background there is a 15-20 second delay
between the background handler waking up. This means that when the wake
up time is sceduled for 30 seconds, it often won't be woken up for 45-50
seconds leading to almost immediate disconnect after the user turns off
the screen. The official app gets around this by using a 5 second delay
leading to ~25 seconds of delay in sleep mode, but this over sends when
the phone is awake. Instead of doing that, I maintain the 28 second
delay but I change the background thread to a higher priority so that it
more consistently wakes up within th 32 second BLE limit.

Also added support for Notifications being sent to the glasses.
2025-08-10 22:34:56 +02:00
José RebeloandJosé Rebelo 67613a321c Garmin: Fix activity samples off by 1 minute 2025-08-10 21:11:40 +02:00
José Rebelo 2672295dfc Add ProtobufExtensions 2025-08-10 20:10:28 +01:00
Thomas Kuehne bb710bae92 fix: BatteryInfoProfile complaining about unexpected characteristics 2025-08-10 18:16:58 +02:00
José Rebelo 1bce5ce6cf Revert com.android.tools.build:gradle to v8.11.1
AGP 8.12.0 does not work on F-Droid build servers, as per
https://gitlab.com/fdroid/admin/-/issues/593

This reverts commit cf56c7b9aa.
2025-08-10 12:31:39 +01:00
José Rebelo 12b9b8a1c0 Shokz: Multipoint pairing 2025-08-10 00:22:24 +01:00
Me7c7andJosé Rebelo a85c895adf Huawei: Some code cleanups and fixes 2025-08-09 18:13:37 +02:00
Thomas Kuehne 6966f80f3d ble: use UUID version of TransactionBuilder.read/write/notify (#5222)
Using the UUID version instead of BluetoothGattCharacteristic version ensures that, if a characteristic is missing on the gadget GB actually logs what characteristic is missing.
2025-08-09 18:05:22 +02:00
Me7c7 f497c59744 Huawei: Annotate @NotNull acording to latest refactoring 2025-08-09 17:39:18 +03:00
Thomas Kuehne 5fa2372fce DeviceCoordinator: add missing device argument and @NonNull annotation for all supports[...] methods (#5214) 2025-08-09 11:17:10 +02:00
Me7c7 d932697b24 Huawei: fix spo2 type according to latest refactoring. 2025-08-08 12:45:40 +03:00
Me7c7 40082f2212 Huawei: fix start timestamp for sleep sync 2025-08-08 10:51:29 +03:00
José Rebelo 1677b31f45 Amazfit Active 2 Square: Update device sources 2025-08-07 22:55:48 +01:00
ad0z 097874f321 Blood oxygen: fragment refactor 2025-08-07 23:01:14 +02:00
José Rebelo 573134a7cd Garmin: Persist SpO2 measurement type 2025-08-07 19:07:01 +01:00
Me7c7 f0b6d874bc Huawei: emotion enable/disable support 2025-08-07 14:04:08 +03:00
José Rebelo dd8e6533ea Colmi P80: Initial support 2025-08-06 21:39:15 +01:00
José Rebelo 912c0f1299 Blackview R60: Initial support 2025-08-06 21:36:15 +01:00
Me7c7andJosé Rebelo c6f8701ba6 icons: Replace some png icons with svg 2025-08-06 19:19:23 +02:00
José Rebelo ff42c5568c Improve logging when connecting to scannable or unknown devices 2025-08-06 18:17:55 +01:00
Thomas Kuehne 696a7c73a5 ble: improve error logging in TransactionBuilder.notify(UUID, boolean) 2025-08-06 05:10:50 +02:00
Thomas Kuehne 3ba16cb38e icons: refresh further icons from the "Material Symbols" set 2025-08-05 22:21:19 +02:00
Thomas KuehneandJosé Rebelo 5d9d547250 icons: add icons for Settings / Automations 2025-08-05 21:44:29 +02:00
Thomas KuehneandJosé Rebelo 6634302353 implement getAllDeviceDao to delete device specific data when deleting the device 2025-08-05 21:40:21 +02:00