1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-09 03:37:03 +01:00
Commit Graph

11688 Commits

Author SHA1 Message Date
Me7c7
e469ecd463 Huawei: Optional tag for watchface params
Related to this crash on Huawei Watch GT:

nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiPacket$MissingTagException: Missing tag: 6
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getBytes(HuaweiTLV.java:219)
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getString(HuaweiTLV.java:239)
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Watchface$WatchfaceParams$Response.parseTlv(Watchface.java:125)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.Request.handleResponse(Request.java:243)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.ResponseManager.handleData(ResponseManager.java:131)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiSupportProvider.onCharacteristicChanged(HuaweiSupportProvider.java:875)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiLESupport.onCharacteristicChanged(HuaweiLESupport.java:80)
	at nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEQueue$InternalGattCallback.onCharacteristicChanged(BtLEQueue.java:679)
	at android.bluetooth.BluetoothGattCallback.onCharacteristicChanged(BluetoothGattCallback.java:194)
	at android.bluetooth.BluetoothGatt$1$8.run(BluetoothGatt.java:581)
	at android.bluetooth.BluetoothGatt.runOrQueueCallback(BluetoothGatt.java:948)
	at android.bluetooth.BluetoothGatt.-$$Nest$mrunOrQueueCallback(Unknown Source:0)
	at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:575)
	at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:329)
	at android.os.Binder.execTransactInternal(Binder.java:1299)
	at android.os.Binder.execTransact(Binder.java:1253)
2024-09-13 10:05:38 +03:00
Vitaliy Tomin
4e7b83bebf huawei: Make more tags optional for app managemnet
* solves this crash on Honmor GS Pro:

09:45:29.115 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.s.b.BtBRQueue - Received 26 bytes: 5A0015002A068110820E0301260404000000030503322E302B86
09:45:29.118 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 81 - Value: 820E0301260404000000030503322E30}
09:45:29.120 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.s.d.h.ResponseManager - Service: 2a, command: 6, handled by: class nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.GetAppInfoParams
09:45:29.122 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 82 - Value: 0301260404000000030503322E30}
09:45:29.124 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 3 - Value: 26} - {tag: 4 - Value: 00000003} - {tag: 5 - Value: 322E30}
09:45:29.126 [Read Thread for HONOR Watch GS Pro-BD1] ERROR n.f.g.s.d.h.r.Request - Parse TLV exception
nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiPacket$MissingTagException: Missing tag: 6
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getBytes(HuaweiTLV.java:219)
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getString(HuaweiTLV.java:239)
	at nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.App$AppInfoParams$Response.parseTlv(App.java:129)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.Request.handleResponse(Request.java:243)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.ResponseManager.handleData(ResponseManager.java:131)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiSupportProvider.onSocketRead(HuaweiSupportProvider.java:880)
	at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiBRSupport.onSocketRead(HuaweiBRSupport.java:74)
	at nodomain.freeyourgadget.gadgetbridge.service.btbr.BtBRQueue$1.run(BtBRQueue.java:87)
2024-09-12 22:49:11 +00:00
José Rebelo
183bf8725f Huawei: Re-parse workout details when opening details 2024-09-12 22:47:13 +00:00
José Rebelo
967ae31b7a HuaweiWorkoutGbParser: Use ActivitySummaryData 2024-09-12 22:47:13 +00:00
Vitaliy Tomin
02286d2c2c huawei: Add honor watch gs pro gadget 2024-09-12 12:36:11 +08:00
José Rebelo
9fcd463bfc Fix import of some hashset preference values from xml 2024-09-11 22:28:56 +00:00
José Rebelo
be9cc348d1 Allow full backup/restore from a zip file 2024-09-11 22:28:56 +00:00
Gordon Williams
53144ff220 Bangle.js: ensure we escape char code 16 as it's not 100% foolproof to use 2024-09-11 14:17:39 +01:00
José Rebelo
721b582b87 Fix discovery of connected devices
Devices might be connected at bluetooth-level, but not yet paired in
Gadgetbridge. These devices will not fire discovery events, so
Gadgetbridge would not be able to discover them.
2024-09-10 22:23:57 +01:00
Daniel Dakhno
cde9dfb6a5 BLE Intent API: fixed characteristic read check 2024-09-10 22:59:27 +02:00
José Rebelo
4875b0e1fe Fix charts icon color 2024-09-10 19:51:12 +01:00
Arjan Schrijver
e8c295df51 Colmi R0x: Fix sleep gap at midnight in dashboard today widget 2024-09-09 22:05:02 +02:00
José Rebelo
ea41bbd1a9 Garmin: Fix multiple FitAsyncProcessor running in parallel 2024-09-09 19:37:32 +01:00
José Rebelo
14d76cf59b Huami: Fetch workouts during normal sync 2024-09-09 12:25:05 +01:00
José Rebelo
6843271ac2 Bluetooth Intent API: Add disconnect action (#4090) 2024-09-09 00:33:13 +01:00
José Rebelo
b1c064d9ca BLE Intent API: Fix build after rebase 2024-09-09 00:32:53 +01:00
Daniel Dakhno
aae1d40d54 Core: added first iteration of BLE intent API
Core: added BLE GATT Client

Core: fixed string comparisons

Core: unified intent APIs

Core: fixed notification and publication bugs

Core: extracted BLE Intent API logic

Core: introduced finer BLE API permissions

Core: use device name when adding test device through DiscoveryActivity

Core: avoid reporting same device state multiple times

Core: read firmware version on GATT Client connect connect

Core: use onSendConfiguration instead of direct subscription

Core: I18N for GATT API settings

Core: I18N for GATT API settings

Core: only show BLE API settings for BLE devices

Core: refactored intent handler

Core: extracted ble API to own class

Core: fixed unitialized BLE Api

BLE Intent API: I18N

BLE Intent API: refactoring

BLE Intent API: added back legacy API

BLE Intent API: removed new DEVICE_CHANGED and CONNECT endpoints

BLE Intent API: removed redundant ble api setting
2024-09-08 23:17:07 +00:00
Me7c7
0745a374a5 Huawei: Continuous skin temperature measurement switch 2024-09-08 20:24:15 +00:00
José Rebelo
42def1cefb Update some manufacturers with brand names
Most users will not recognize the actual manufacturers, so let's replace
with the brand names.
2024-09-08 14:17:16 +01:00
Martin.JM
1315931ff8 Huawei: Chain initialize dynamic services requests
Also includes a bit of cleanup.

Thanks to José Rebelo for cleaning my code.
2024-09-08 01:05:16 +02:00
José Rebelo
098ab77cc6 Garmin Forerunner 165: Initial support 2024-09-07 23:26:07 +01:00
José Rebelo
c5c0d2a9d4 Update dependency com.android.tools:desugar_jdk_libs to v2.1.2 2024-09-07 21:41:19 +01:00
José Rebelo
fa9e111b6b Dashboard: Reload preferences on create view
Attempt to mitigate a crash when a device finishes fetching data
while the fragment is still being created.
2024-09-07 21:32:13 +01:00
José Rebelo
2212b244e6 Garmin: Fix NPE on call with privacy mode on 2024-09-07 14:29:55 +00:00
José Rebelo
3a778a9f2a Fix sleep charts for devices without REM sleep 2024-09-07 13:41:30 +01:00
Me7c7
fc450882cb Huawei: Contacts uploading support 2024-09-07 11:31:15 +00:00
dependency-bot
287fdd87d8 Update dependency androidx.fragment:fragment to v1.8.3 2024-09-07 12:29:33 +01:00
dependency-bot
b481860529 Update dependency androidx.activity:activity to v1.9.2 2024-09-07 11:28:55 +00:00
Johannes Krude
0282863573 Casio GW-B5600: bugfix for several watch settings 2024-09-07 08:22:12 +02:00
José Rebelo
42277fceb9 Casio: Truncate notification message to 250 bytes 2024-09-06 21:44:06 +01:00
Me7c7
1f5e9b52b8 Huawei: Quick fix issue with concatenated packets. 2024-09-06 20:12:56 +00:00
Patrick Rudolph
cde10a6dce Huawei: GetHiChainRequest: Add error handling
Parse the error code and throw an exception instead of doing strange
things due to invalid step ID being used.

To investigate issue #4061.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2024-09-06 20:06:34 +00:00
José Rebelo
e51b55a38a Garmin: Infer sleep time for devices that do not send sleep stages
See #4048 for more information
2024-09-05 21:27:29 +01:00
José Rebelo
bd5b54c3b4 Garmin: Fix daily weather missing current day 2024-09-03 23:03:46 +01:00
José Rebelo
c04d3adf7c Casio: Truncate notifications with long messages (#4063) 2024-09-02 23:04:02 +01:00
José Rebelo
168c0e126e Huami: Move device actions to generic preferences section 2024-09-02 22:49:36 +01:00
Arjan Schrijver
b5104dd9ca Dashboard: Fix worn in Today widget when devices measure HR less than every minute 2024-09-02 20:38:49 +02:00
José Rebelo
d4e34c5982 Garmin: Remove music state timer 2024-09-01 15:07:54 +01:00
José Rebelo
4f7fb8117e BtLEQueue: Log MTU changes 2024-09-01 13:41:37 +01:00
José Rebelo
593d6d6b25 Garmin: Map some unknown realtime settings 2024-09-01 12:05:32 +01:00
José Rebelo
834c773dec Fix getLocalDate month off-by-1 2024-08-31 21:33:24 +01:00
José Rebelo
e676f7c6b0 Add safeguard against invalid year of birth values 2024-08-31 21:29:47 +01:00
mormegil
72e8028ad6 Update Nordic DFU library to fix Pinetime firmware upgrade on Android 14
Since we raised `targetSdkVersion` to 34 in fad092b6f8,
attempt to upgrade Pinetime firmware on Android 14+ causes Gadgetbridge
to die with "One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be
specified when a receiver isn't being registered exclusively for system
broadcasts" unhandled java.lang.SecurityException.

This was caused by the Nordic Semi DFU library not supporting A14 until
version 2.3.2 (see https://github.com/NordicSemiconductor/Android-DFU-Library/issues/412
and https://github.com/NordicSemiconductor/Android-DFU-Library/pull/413).

So, upgraded the library to the current release 2.5.0.
2024-08-31 16:52:27 +02:00
José Rebelo
4da02fa851 Add month and day to date of birth 2024-08-31 14:40:39 +01:00
José Rebelo
b59ba76803 Refactor preferences screen 2024-08-31 13:33:25 +00:00
José Rebelo
64887a5adf Prevent dashboard menu from showing on device list 2024-08-31 12:20:40 +01:00
dependency-bot
977ab9d03e Update dependency com.android.tools:desugar_jdk_libs to v2.1.1 2024-08-31 10:50:11 +00:00
dependency-bot
c0c3788490 Update dependency com.android.tools.build:gradle to v8.6.0 2024-08-31 01:08:46 +00:00
Johannes Krude
76fb19a1b9 Reminders without time use UTC and do so also when changing the date 2024-08-30 22:03:34 +00:00
Johannes Krude
8a4aca06e6 DevicePrefs gets the GBDevice since it it device specific 2024-08-30 22:03:34 +00:00