1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-14 05:59:26 +01:00
Commit Graph

9285 Commits

Author SHA1 Message Date
MrYoranimo
561dc16b28 DeviceCommunicationService: catch uncaught exceptions from handleActions
Exceptions raised while handling actions in the device's support class
may result in the DeviceCommunicationService crashing as a whole and not
being started again until the user forces GB to make a connection by
pressing the device from the list.

This change is made, because Xiaomi devices make use of proto2 messages,
where optional fields cannot be set to null values as that will make it
throw NPEs.
2023-12-05 20:19:12 +01:00
José Rebelo
7f7834c620 Xiaomi: Fix reconnect if characteristics are null
If a service was found, but characteristics are null, maybe we're just
connecting too early - set the device to reconnect.
2023-12-05 18:30:33 +00:00
José Rebelo
4de7cb3591 Xiaomi: Improve service auto-detection
Some watches have the encrypted service, even though they're plaintext,
but are missing the characteristics.
2023-12-05 18:28:39 +00:00
José Rebelo
1c68252255 Xiaomi: Fix settings display items code 2023-12-05 18:20:02 +00:00
Andreas Shimokawa
776346d311 Xiaomi: guard against null pointer crash 2023-12-05 18:20:02 +00:00
José Rebelo
9ddbcc0c8a Xiaomi: Use display items labels from watch 2023-12-05 18:20:02 +00:00
José Rebelo
3ab1ac26db Refactor known preference values code to be reusable 2023-12-05 18:20:02 +00:00
José Rebelo
2dacdcface Xiaomi: Log service 2023-12-05 18:17:50 +00:00
José Rebelo
95d3ff81fd Xiaomi: Fetch alarm and reminder slots from watch 2023-12-05 18:16:45 +00:00
MrYoranimo
5f9fda4f07 BtLEQueue: fix typo in onCharacteristicChange 2023-12-04 23:32:23 +01:00
MrYoranimo
b303da4e62 Xiaomi: wrap parsing of activity data in try block
This will prevent uncaught exceptions that occur during the
parsing of activity data from breaking up the activity fetching
chain and causing the task to never get completed.
2023-12-04 23:32:18 +01:00
MrYoranimo
0f83346d65 Xiaomi: check if binary parser result is null
The activity parser may return null pointers in case the version
of the data structure is not supported. Not checking for null here may
result in the activity fetching task may never complete and cause
further communication with the device to grind to a halt.
2023-12-04 22:03:59 +01:00
José Rebelo
376956bbe9 Xiaomi: Improve activity fetch logging 2023-12-04 09:46:49 +00:00
José Rebelo
e6cb15d9eb Mi Watch Color Sport: Experimental support 2023-12-02 11:56:23 +00:00
José Rebelo
ec050d7a4f Xiaomi: Unify encrypted and plaintext logic 2023-12-02 11:25:32 +00:00
José Rebelo
ba0ca1de75 Delegate auth key validation to coordinator 2023-12-02 10:59:34 +00:00
José Rebelo
216dc93986 Mi Band 8: Overlay sleep on activity data 2023-12-02 10:56:36 +00:00
José Rebelo
84692e5432 Mi Band 8: Persist bedtime and wakeup times to database 2023-12-01 21:35:29 +00:00
Andreas Shimokawa
1b2a9ac140 Xiaomi: When sending contacts, use correct command to replace the ones already on the watch 2023-12-01 20:07:32 +01:00
Andreas Shimokawa
81e24e53ed Xiaomi: WIP implementation for sending contacts
This is not useful yet because contacts just get added when sending them, instaed of replacing.
Should be fixed or disabled before the release
2023-12-01 12:40:53 +01:00
Andreas Shimokawa
6e5bedb365 Xiaomi: Implement Screen On on Notification setting
Works on Redmi Watch 3 Active
Does not work on Mi Watch Lite
2023-12-01 07:52:08 +01:00
MrYoranimo
b9b91db06f Xiaomi: implement phonebook service to respond to contact info requests 2023-11-30 22:54:41 +01:00
Gordon Williams
684d976bfc Bangle.js: Ensure SMS messages have src field set to "SMS Message" (it was previously left out) 2023-11-30 09:33:07 +00:00
José Rebelo
5be3543fa3 Xiaomi Smart Band 7 Pro: Experimental support 2023-11-29 21:18:52 +00:00
José Rebelo
0c4e2df075 Xiaomi: Fix crash when opening app manager
Regression introduced by e53c67e8bf
2023-11-29 21:11:54 +00:00
MrYoranimo
dd6d9bd271 Add device icon for Mi Watch, Xiaomi Watch S1 Active 2023-11-29 20:27:44 +01:00
MrYoranimo
20cdef5283 Change some required fields to optional in Xiaomi protobuf specs
The Xiaomi Watch S1 Active does not send some fields that have
been declared as `required`, which results in those messages
not being processed at all.
2023-11-29 20:27:44 +01:00
MrYoranimo
6933b8a793 Add device coordinator for Xiaomi Watch S1 Active 2023-11-29 20:27:36 +01:00
Gordon Williams
8ef80a2565 Bangle.js: ensure GPS speed is reported correctly when the phone is providing it 2023-11-29 10:04:33 +00:00
mormegil
ec73b244ee Improve ASCII transliterator
We should use NFKD instead of NFD since we are flattening to US-ASCII
afterwards anyway. This allows various Unicode characters which would
end up as a question mark to be represented by their compatibility
decomposition. This applies to e.g. ligatures (e.g. U+FB01 LATIN SMALL
LIGATURE FI will now be replaced with plain fi instead of a question
mark), and also the U+00A0 NO-BREAK SPACE [NBSP] to be replaced by
a normal space instead of a question mark.

+Add Czech fancy quotes to the Czech transliterator
+Add a unit test for Multitransliterator
2023-11-28 18:24:42 +00:00
José Rebelo
99b3dc3226 Fix crash when pairing current device as companion 2023-11-28 18:12:12 +00:00
José Rebelo
ae75f82a63 Zepp OS: Improve activity fetch logging 2023-11-26 21:14:46 +00:00
José Rebelo
c5757ea478 Mi Band 8: Improve stress charts 2023-11-26 21:01:32 +00:00
José Rebelo
50cdcec846 Xiaomi: Delete device data when deleting device 2023-11-26 21:01:32 +00:00
José Rebelo
636f4adc8d Zepp OS: Delete device data when deleting device 2023-11-26 21:01:32 +00:00
José Rebelo
e53c67e8bf Xiaomi: Fix SpO2 2023-11-26 21:01:32 +00:00
Andreas Shimokawa
6f2876fa66 Mi Watch 3 Lite: Fix firmware update
(not enabled yet)
2023-11-26 00:22:37 +01:00
José Rebelo
096358c76f Fix unit tests 2023-11-25 23:08:02 +00:00
José Rebelo
34039094c1 Fix hungarian transliterator 2023-11-25 23:04:39 +00:00
Kornél Schmidt
58a8484322 added test, added to defaultLanguagesIfEnabled 2023-11-25 23:03:30 +00:00
ssilverr
ee3b4d4aa1 added HungarianTransliterator 2023-11-25 23:03:30 +00:00
José Rebelo
23b2b4247f Revert companion pairing to false by default 2023-11-25 22:53:55 +00:00
foxstidious
deeaf28de4 Limit characters in heading and subheading to 32 (or else casio won't display the notification) 2023-11-25 22:52:26 +00:00
foxstidious
40af20a176 Removed call to start intent if no companion, defaulted companion preference to true, and reordered casio alert preferences to match watch order. 2023-11-25 22:52:26 +00:00
foxstidious
1f115426fc Added preview message in title preference file 2023-11-25 22:52:26 +00:00
foxstidious
264ab14847 Fixed alert logic 2023-11-25 22:52:26 +00:00
foxstidious
be9b83eebf Fixed SMS copy/paste error 2023-11-25 22:52:26 +00:00
foxstidious
85d0722ffe Updates to address findings on PR 2023-11-25 22:52:26 +00:00
foxstidious
4dc10d1d02 Implemented better message preview, added ability to specify high-level alert by category 2023-11-25 22:52:26 +00:00
foxstidious
11bf0acf32 Changed notification timestamp format to be implemented specifically for GBD-200 2023-11-25 22:52:26 +00:00