José Rebelo
106f1fcdd6
Amazfit Active / GTR 3 Pro: Add new device sources
2024-09-14 13:24:39 +01:00
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
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
Johannes Krude
80fea5b916
move some device specific preferences from GBPrefs to DevicePrefs
...
addresses https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4049#issuecomment-2270266
2024-08-30 22:03:34 +00:00
Johannes Krude
b64841b48e
GBReminderListAdapter gets remindersHaveTime through constructor
...
addresses https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4049#issuecomment-2270261
2024-08-30 22:03:34 +00:00
Johannes Krude
e0741d4a13
Casio2C2D: Reminders have no hour or minute
2024-08-30 22:03:34 +00:00
Johannes Krude
e92baf69d1
Casio GW-B5600: Reminders
2024-08-30 22:03:34 +00:00
Johannes Krude
ec0a38c7c0
Casio2C2DSupport: refactor DeviceSetting for better reusability
2024-08-30 22:03:34 +00:00
Johannes Krude
e5438a856e
fix reserved Reminder slots for non-Huami Devices
2024-08-30 22:03:34 +00:00
José Rebelo
21aff699a7
Limit logcat tags to 80 characters
...
Avoids them being sometimes not properly recognized in Android Studio
logcat.
2024-08-30 22:38:22 +01:00
Me7c7
1c19283192
Huawei: Improved error handling for bin file parsing.
2024-08-30 19:26:12 +00:00
Me7c7
2aafad46eb
Huawei: Check TLVs before access. Not present in some watches
2024-08-30 19:26:12 +00:00
Me7c7
4989334ff4
Huawei: Instalattion of apps fixed. Correct bin files support
2024-08-30 19:26:12 +00:00
Me7c7
74b9298a6b
Huawei: added measurement units for altitude #4044
2024-08-30 21:40:31 +03:00
Me7c7
f983060cb2
Huawei: Fixed min and max attitude values in workouts #4044
2024-08-30 18:59:40 +03:00
José Rebelo
95fdee3cbe
Use MediaController for media buttons
2024-08-30 11:03:20 +00:00
José Rebelo
c7bb47d6bd
Data Management: Fix keyboard focus on search
2024-08-29 22:02:29 +01:00
José Rebelo
d033c5e33e
Data Management: Add basic search to file manager
2024-08-29 22:00:18 +01:00
José Rebelo
c9e4379346
Soundcore Liberty: Unify support classes
2024-08-29 20:40:26 +01:00
flipsa
648212bdc1
Initial support for Anker Soundcore Liberty 4 NC earbuds
2024-08-29 19:39:38 +00:00
José Rebelo
227f0a9d80
Mi Composition Scale: Add alternative bluetooth name
2024-08-29 15:17:19 +00:00
José Rebelo
7579ba11b1
Mi Composition Scale: Persist weight samples
2024-08-29 15:17:19 +00:00
José Rebelo
f746ef42f3
Dashboard: Prevent crash on draw after onSaveInstanceState ( #4007 )
2024-08-29 16:09:13 +01:00
José Rebelo
bfde77fb3a
Prevent crash on unknown activity charts tab
2024-08-29 16:09:13 +01:00
José Rebelo
f76180c4bd
Dashboard: Add new widgets, make them clickable
...
Add 3 new widget types:
- Body energy
- Stress (simple, segmented, breakdown)
- HRV
Make widgets clickable, opening the corresponding charts page.
2024-08-29 16:09:13 +01:00
Daniele Gobbetti
d4df00ccbf
Garmin: send blocks that are smaller than MaxPacketSize
...
Fixes 4047
2024-08-29 16:52:50 +02:00
Me7c7
e54fd95a8b
Huawei: Basic support for the installation of the applications
2024-08-29 17:23:42 +03:00
José Rebelo
d75ae6b54d
Bangle.js: Fix calendar sync setting
2024-08-29 12:07:02 +01:00
José Rebelo
7eb1fcdb52
DeviceInfoProfile/BtLEQueue: Improve logging and fix warnings
2024-08-29 11:46:42 +01:00
José Rebelo
49ef8c9f40
Garmin: View and share gpx files
2024-08-28 19:18:08 +01:00
José Rebelo
12ecfa0c4e
Garmin: Parse strength training workout sets
2024-08-28 13:43:12 +01:00
Me7c7
9321e470d7
Huawei: Use proper file type for sleep files
2024-08-27 22:06:01 +00:00
a0z
88c8629ec0
Steps/Sleep activties: update lines and offsets
2024-08-27 22:03:04 +00:00
José Rebelo
39707a52da
Huami: Migrate all device settings to sub-screens
2024-08-27 22:48:00 +01:00
José Rebelo
63a6f07de0
Garmin: Do not generate fake samples into the future
2024-08-27 19:38:23 +01:00
José Rebelo
8e3f010629
Add daily steps progress chart
2024-08-27 19:38:10 +01:00
José Rebelo
f487bc7876
Garmin: Re-parse workout summary when opening details page
...
Ensures that new fields and other fixes get displayed properly.
2024-08-26 10:46:46 +01:00
José Rebelo
ae1cc16a12
Garmin Fenix 5X Plus: Experimental support
2024-08-26 08:49:31 +01:00
José Rebelo
f4551e7cba
Fix step analysis for some devices
2024-08-25 23:49:52 +01:00
José Rebelo
a1170e7333
Dashboard: Fix awake sleep color
2024-08-25 23:02:12 +01:00
José Rebelo
42dfb6ad4a
Garmin: Parse workout physiological metrics
2024-08-25 22:49:47 +01:00
a0z
21de228204
Garmin: Awake time
2024-08-25 21:19:00 +00:00
José Rebelo
b6e2ce1d9c
Garmin: Awake time (WIP)
2024-08-25 21:19:00 +00:00
pacjo
cae6f5d73e
Fix crash when nearby devices (BLUETOOTH_SCAN) permission is missing
2024-08-25 21:05:34 +00:00
Severin von Wnuck-Lipinski
6bfd3dcd06
Add weight chart
2024-08-25 20:46:52 +00:00
José Rebelo
249c2bc237
Improve preference migration error logging
2024-08-25 21:29:56 +01:00
José Rebelo
2db88c63db
Reduce stutters on device changes / data fetch
2024-08-25 20:21:45 +00:00
Daniele Gobbetti
7d9f8704c9
Remove device_specific_settings category from main preferences
...
All devices are now handled by their device specific preferences
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
e74f9c2a3d
Pebble: migrate legacy global preferences to all pebble devices
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
bea6c6a00c
Pebble: enforce numeric input for mtu_limit preference
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
6b38d5b283
Pebble: split the pebble device specific settings in the existing root screens
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
13be343392
Pebble: remove last global settings
...
In order to add an emulated device it is sufficient to use the "Add test device" functionality choosing pebble as device and entering IP:PORT in the mac address field.
The pebble setting to force BLE is moved to discovery_pairing_preferences.xml
Also delete the pebble_preferences file and update general preferences.
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
8e876c8a92
Remove preference pebble_reconnect_attempts
...
Its usage was removed with
c2db30274f
2024-08-25 20:20:52 +00:00