1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-18 06:37:47 +01:00
Commit Graph

11125 Commits

Author SHA1 Message Date
Arjan Schrijver
eb2b7fef41 Dashboard: Fix Today widget priority of AWAKE_SLEEP and NOT_MEASURED 2024-09-29 22:17:11 +02:00
José Rebelo
19f04e1867 Show notification on crash for debug builds 2024-09-29 13:44:40 +01:00
José Rebelo
d4a451e8c8 CalendarReceiver: Convert to ContentObserver 2024-09-29 11:14:23 +00:00
Me7c7
3fe3f9698a Huawei: Init chain issues for some devices fixed. Timeout increased 2024-09-29 13:08:01 +03:00
Marcel
d182fe58e8 Add support for Sony WF-C700N 2024-09-28 22:12:49 +00:00
Patrick Rudolph
a923766aa5 huawei: Improve user feedback in error cases
Currently the user isn't informed about errors when connecting to
the watch and is left with a working BT connection that isn't used at all.

Add toasts when the HiChainRequest fails or times out and disconnect
the phone. Without a successful HiChain established the connection is
useless anyways and it causes the phone to be not discoverable any more.

In addition add a timeout to the HiChainRequest, one longer for the first
pairing, where the user needs to confirm the pairing request on the watch.
The short delay is used for subsequent HiChainRequests.

The watch might not answer HiChainRequests when it was paired with a
different phone, so the added timeout and toast improves user experience
a lot since it's now clear that there was a problem.

Related to issue #4148
Related to issue #4061
Fixes issue #4062

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2024-09-28 22:05:46 +00:00
José Rebelo
ce387396fd Garmin: Fix monitoring sample timestamp16 handling 2024-09-28 22:05:20 +00:00
José Rebelo
5730e82380 Bangle.js: Refactor activity details 2024-09-28 22:03:26 +00:00
José Rebelo
dc8d295d4a Discovery Activity: Replace long toasts with dialog 2024-09-28 23:02:20 +01:00
José Rebelo
03596ac0fb Discovery Activity: Improve layout on limited space 2024-09-28 22:49:59 +01:00
José Rebelo
56c8901ba1 Only fake sleep intensity if raw value is negative 2024-09-28 18:12:03 +01:00
Me7c7
b87667e78d Huawei: birthdays synchronization fixed 2024-09-28 12:49:27 +00:00
dependency-bot
fd17679149 Update android-emojify to v1.9.4 2024-09-28 12:28:18 +00:00
José Rebelo
f5ad01f2fe Update mockito to 5.14.0, fix tests 2024-09-28 13:20:07 +01:00
José Rebelo
e65d847835 Fix CalendarEvent constructor due to rebase 2024-09-27 23:51:58 +01:00
Me7c7
f3aaeb5216 Huawei: Initial P2P service support, Calendar sync support. 2024-09-27 22:40:30 +00:00
José Rebelo
ae3615a388 Update PAI charts to match new charts design 2024-09-27 23:28:09 +01:00
José Rebelo
8348c5349e Colmi: Use standard fake sleep sample intensity 2024-09-27 20:54:17 +01:00
José Rebelo
05c707bdfb Standardize and hide fake sleep movement intensity 2024-09-27 20:32:47 +01:00
José Rebelo
8ae8898a89 Sync birthdays with calendar events 2024-09-27 17:37:06 +00:00
José Rebelo
f612f685bf Tweak margins and paddings 2024-09-27 18:33:09 +01:00
a0z
9f3ab8c810 Redesign of activity pages and workout page 2024-09-27 18:33:02 +01:00
Linos Giannopoulos
ae02bbc9c3 Refactor the way the changelog is displayed
As described in #1065, once the changelog was selected from the
navigation menu, and the user rotated the device, the changelog was
disappearing.

Using a DialogFragment seems to be the more idiomatic way on displaying
the changelog, and it also takes care of recreating it when the device
changes orientation.

Partially fixes #1065

Signed-off-by: Linos Giannopoulos <linosgian00@gmail.com>
2024-09-26 12:31:02 +00:00
Daniele Gobbetti
550e6a86f2 Pebble: fix NPE in getPlatformName
The NPE was triggered by recent changes in the HearthRate Charts (503cd31d91)
Since getModel was also affected by the same NPE, the function is now changed as well.
2024-09-25 15:09:01 +02:00
José Rebelo
2ac7aed8d0 Prevent auto fetch activity data in quick succession (#4165) 2024-09-24 19:05:21 +01:00
Vitaliy Tomin
3c6f1191b5 huawei: Add gadget variant Huawei Watch GT3 SE
* added to GT3Coordinator
2024-09-24 14:06:41 +08:00
José Rebelo
f6d9a87f95 Garmin: Fix gap fill overwriting real samples 2024-09-23 22:18:40 +01:00
José Rebelo
1745c41da8 Garmin: Parse fit monitoring info 2024-09-23 22:18:22 +01:00
José Rebelo
49750e31af Fix gpx hr parsing and unit tests 2024-09-23 22:13:01 +01:00
Martin.JM
8d24dfa7e4 Huawei: Weather improvements
Potential fix for #4071.
2024-09-23 18:47:33 +02:00
Vitaliy Tomin
820a5b9800 huawei: Add non pro version of Watch 4
* it was missing in current watch4pro coordinator
2024-09-23 15:32:24 +00:00
Vitaliy Tomin
ff1d0293fd huawei: Add new gadget Huawei Watch GT5 (Pro) 2024-09-23 15:30:50 +00:00
José Rebelo
71575c8083 Add all languages supported in weblate 2024-09-22 11:16:40 +01:00
José Rebelo
4d912cf252 Garmin: Add total steps, avg and max cadence 2024-09-21 19:22:58 +01:00
José Rebelo
d1426595e6 Fix crash when no activity samples during workout 2024-09-21 19:22:56 +01:00
Me7c7
028ff619b7 Huawei: DeviceReportThreshold command added 2024-09-21 13:07:06 +00:00
Me7c7
ee1b71a240 Huawei: fixed PhoneInfo command 2024-09-21 13:07:06 +00:00
Me7c7
17b530c989 Huawei: simple run pace config added 2024-09-21 13:07:06 +00:00
Me7c7
113f9b87c6 Huawei: SetMediumToStrengthThresholdRequest v2 implemented 2024-09-21 13:07:06 +00:00
dependency-bot
fa99ea5831 Update protobuf to v4.28.2 2024-09-21 10:05:01 +00:00
José Rebelo
dba9f32757 Use HR from track file if available 2024-09-21 10:51:24 +01:00
José Rebelo
060d39d5b0 GpxParser: Parse heart rate 2024-09-21 10:09:57 +01:00
Martin.JM
43262b3f29 Huawei: Fix workout reparsing
Fixes #4138
2024-09-20 21:48:49 +00:00
MrYoranimo
bc814b31e7 Xiaomi: add support for different bitmap pixel formats, fix notification icons 2024-09-20 23:39:34 +02:00
MrYoranimo
47152bfaa2 Redmi Watch 5 Active: add experimental support 2024-09-20 23:39:34 +02:00
MrYoranimo
35c557b62a Xiaomi Smart Band 9: add experimental support 2024-09-20 23:39:34 +02:00
MrYoranimo
cd1f270ccf Xiaomi: add support for daily details version 4 2024-09-20 23:39:34 +02:00
MrYoranimo
cc8b54131d Xiaomi: add support for SPPv2 packet protocol 2024-09-20 23:39:34 +02:00
BrunoWallner
9f566fb7d9 Fix normal activity samples being inserted into workout samples in HuaweiSampleProvider (#4126)
Co-authored-by: BrunoWallner <b.lucab1211@gmail.com>
Co-committed-by: BrunoWallner <b.lucab1211@gmail.com>
2024-09-20 17:45:45 +00:00
José Rebelo
409a296666 Xiaomi-protobuf: Enable install handler for all devices 2024-09-20 18:10:55 +01:00
José Rebelo
00f8d2259f Fix crash on opening activity details for some devices 2024-09-20 14:04:26 +01:00
José Rebelo
af17e55c11 Casio: Signal activity fetch finish 2024-09-20 13:31:16 +01:00
a0z
88c2c159f6 Resolve heartrate missing tab issue 2024-09-20 12:32:39 +02:00
José Rebelo
822836a61c Refactor PAI / vitality score charts 2024-09-19 19:21:50 +01:00
José Rebelo
50d5a532d1 Garmin Forerunner 265S: Initial support 2024-09-19 18:44:12 +01:00
José Rebelo
b40749d53c Identify device in realtime samples 2024-09-19 00:30:17 +01:00
a0z
aaff8db9f4 Update stess linechart timeline 2024-09-18 20:42:51 +00:00
a0z
4a3dc35c19 Add gauge to hrv status fragment page 2024-09-18 22:14:41 +02:00
José Rebelo
d238a321df Remove motorcycling from VO2 Max 2024-09-18 21:10:14 +01:00
José Rebelo
7b76d21254 Zepp OS: Add VO2 Max support 2024-09-18 21:08:50 +01:00
José Rebelo
8ee03d3c08 Garmin: Fix "ANY" VO2 Max query 2024-09-18 20:48:18 +01:00
José Rebelo
1fd426c09d VO2 Max: Cleanup duplicated strings 2024-09-18 20:48:01 +01:00
a0z
f2227bb083 VO2Max: replace GENERAL vo2max with ANY, add widgets 2024-09-18 20:47:25 +01:00
José Rebelo
9f0d426a9f VO2Max: Display latest sample from period 2024-09-18 20:47:25 +01:00
a0z
d440ec1e36 VO2Max: initalize activity 2024-09-18 20:47:24 +01:00
José Rebelo
e2be851097 Garmin: VO2 max samples 2024-09-18 20:45:48 +01:00
José Rebelo
922c8db76f Fix awake sleep color in charts 2024-09-18 08:45:55 +01:00
José Rebelo
05570a3cae Xiaomi: Allow re-parse activity from storage 2024-09-17 22:53:46 +01:00
José Rebelo
d33fa79187 Mi Band 8 Pro: Fix outdoor walking and cycling parsing 2024-09-17 22:30:44 +01:00
Grzegorz Godlewski
a762ca9d6c Add support for Garmin 955 (#4125)
Co-authored-by: Grzegorz Godlewski <gg@gitgis.com>
Co-committed-by: Grzegorz Godlewski <gg@gitgis.com>
2024-09-17 21:12:38 +00:00
Zahnstocher
fd06519cd1 rename BatteryDual_2 to BatteryDual_NoCase and DUAL_2 to DUAL_NO_CASE 2024-09-17 22:35:47 +02:00
a0z
503cd31d91 Heart Rate: initialize activity 2024-09-17 19:56:29 +00:00
José Rebelo
67d46c453e Garmin Enduro 3: Initial support 2024-09-17 20:39:31 +01:00
Zahnstocher
57c8c77305 Add support for Sony WF-C500 2024-09-17 11:37:39 +02:00
~noodlez1232
86460ea7c6 AsteroidOS: Fix the weather service + set-time
The weather service was suffering from an off-by-one error. This is now
fixed. The weather also sends more days in its forecast. There is an
issue open in the AsteroidOS weather app to perhaps add more days to its
forcast so this should cover for it.

There is also a fix for the time not being set upon connection. I'm not
quite sure why this wasn't happening before, but it is happening now. It
might be a bit kludgy, but it is what it is.
2024-09-17 08:03:20 +00:00
BrunoWallner
4f93ac627d Fix activity charts generation (#4114)
Co-authored-by: BrunoWallner <b.lucab1211@gmail.com>
Co-committed-by: BrunoWallner <b.lucab1211@gmail.com>
2024-09-16 22:41:17 +00:00
José Rebelo
c14b41b9c6 Garmin: Handle realtime hrv, respiration, spo2 2024-09-16 19:40:44 +00:00
José Rebelo
5bc114b062 Garmin: Manual HR measurements and realtime HR/steps 2024-09-16 19:40:44 +00:00
José Rebelo
e5b91d3ac3 Garmin Forerunner 245 Music: Initial support 2024-09-16 20:28:00 +01:00
a0z
bbe5dcffb0 Map more activity kinds with existing icons 2024-09-16 10:24:41 +02:00
José Rebelo
edd1a660da Xiaomi: Fix gps track parsing
The crc at the end was not being taken into account to check the file
size.
2024-09-15 18:35:32 +01:00
Daniel Dakhno
e3e5c20a5a Cycling Sensor: added live data view
Cycling Sensor: I18N

Cycling Sensor: honor metric/imperial setting

Cycling Sensor: re-use existing speed strings
2024-09-15 16:40:25 +00:00
José Rebelo
5ebb3b85b0 Zepp OS: Fix reminder slot initialization (#3137, #4098) 2024-09-15 17:22:21 +01:00
José Rebelo
c72966bc6c Update mockito to 5.13.0 2024-09-15 10:19:19 +01:00
José Rebelo
d95d669d97 Update protobuf to v4.28.1 2024-09-15 10:15:15 +01:00
José Rebelo
eb965faacf Update commons-lang3 to 3.17.0 2024-09-15 10:09:02 +01:00
José Rebelo
1e3e03d7e1 Zepp OS 3.5: Add menu items for map, heart rate push, night display 2024-09-14 15:50:53 +01:00
José Rebelo
0b6f36047e FwAppInstallerActivity: Ignore updates from unrelated devices 2024-09-14 13:36:58 +01:00
José Rebelo
1f95258e0e Amazfit T-Rex 3: Experimental support 2024-09-14 13:24:39 +01:00
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
Daniele Gobbetti
54cf421295 Bind sunrise/sunset alarm receiver to specific device support
Only register it for Pebble devices which enable the relative setting.

Also move the preference to device specific.
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
795ffde0e1 Pebble: move a bunch of preferences to device specific settings 2024-08-25 20:20:52 +00:00
Daniele Gobbetti
c3d76477ec Pebble: remove pebble_enable_pebblekit global preference.
Use device specific third_party_apps_set_settings preference instead.
2024-08-25 20:20:52 +00:00
Severin von Wnuck-Lipinski
96a8b9aeae Add support for Mijia XMWSDJ04MMC 2024-08-25 19:43:55 +00:00
Vitaliy Tomin
8ded52a0d1 huawei: Add honor watch gs 3 gadget 2024-08-25 15:34:32 +00:00
José Rebelo
fbfbae808f Charts: Add button to pick date 2024-08-24 22:04:17 +01:00
a0z
b43c109903 Stress fragment redesign 2024-08-24 17:44:18 +02:00
José Rebelo
bb50796d0a Fix HR charts when min is set to 0 2024-08-24 12:15:15 +01:00
Arjan Schrijver
e23caa3ee6 Add support for Colmi R02/R03/R06 smart rings 2024-08-23 23:47:34 +02:00
José Rebelo
d8266b3d6b ZeTime: Migrate global preferences to device-specific 2024-08-23 20:22:20 +01:00
Johannes Krude
141ff623c7 remove no longer needed ConfigureAlarms.createDefaultAlarm 2024-08-23 14:05:11 +00:00