1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-14 04:37:49 +01:00
Commit Graph

9109 Commits

Author SHA1 Message Date
Andreas Shimokawa
84cf8efb59 Redmi Watch 3 Lite: Initial support
This is just using mi band 8 code, some feature work
2023-11-25 21:16:53 +00:00
José Rebelo
0dcb316461 Mi Band 8: Basic workout summary parser (wip) 2023-11-25 21:16:53 +00:00
José Rebelo
fa20bf66c6 Mi Band 8: Fix send gps location during workout 2023-11-25 21:16:53 +00:00
José Rebelo
dad97f9e96 Xiaomi: Update weather AQI and warning proto 2023-11-25 21:16:53 +00:00
José Rebelo
516b3dbf1e Mi Band 8: Fix notification icons for long package names 2023-11-25 21:16:53 +00:00
José Rebelo
8192106fc0 Mi Band 8: Fix notification icons mirroring 2023-11-25 21:16:53 +00:00
José Rebelo
3948f95505 Xiaomi: Dismiss notification from phone when dismiss from watch 2023-11-25 21:16:53 +00:00
José Rebelo
ff2a26756f Mi Band 8: Fix weather (set current location) 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
50f086b03a Xiaomi: Implement daily forecast
Works on Mi Watch Lite
2023-11-25 21:16:53 +00:00
Andreas Shimokawa
e2f60b38c9 Xiaomi: fix NPE when no air quality is available 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
0e3e406320 Xiaomi: Send AQI
Todo: map to strings
2023-11-25 21:16:53 +00:00
José Rebelo
047cc71d28 Mi Band 8: Upload custom notification icons 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
9749716c23 Xiaomi: add two more fields to current weather (seen on Mi Band 8) 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
929ea7ae57 Xiaomi: Implement sending current weather
TODO: Support °F, find out about unknown values

Tested on Mi Watch Lite
2023-11-25 21:16:53 +00:00
José Rebelo
cab63b2c98 Mi Band 8: Fix watchface upload 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
27fba50283 Xiaomi: move emoji conversion to base class
This works on Mi Watch Lite from FW 4.1.12
2023-11-25 21:16:53 +00:00
Andreas Shimokawa
cef4b62458 Mi Watch Lite: enable install handler
Does not work as is because we do not recognize watchfaces and firmware yet
2023-11-25 21:16:53 +00:00
José Rebelo
29c183b88a Xiaomi: Refactor to install firmware (untested) 2023-11-25 21:16:53 +00:00
José Rebelo
c47e830056 Xiaomi: Watchface upload (wip, does not work) 2023-11-25 21:16:53 +00:00
José Rebelo
82a264cd65 Xiaomi: Improve emoji mapping efficiency 2023-11-25 21:16:53 +00:00
José Rebelo
b0d3fe6a51 Xiaomi: Set device language 2023-11-25 21:16:53 +00:00
José Rebelo
48e149aefe Xiaomi: Refactor XiaomiCharacteristic to improve logging and ordering
Fixes a potential race condition on initialization, since the chunked
commands were being scheduled on a separate transaction builder, which
would be scheduled to be written before the initialization.
2023-11-25 21:16:53 +00:00
José Rebelo
1acd3ac5fd Xiaomi: Remove usage of TransactionBuilders 2023-11-25 21:16:53 +00:00
José Rebelo
e2d7798e36 Xiaomi: Refuse delete of active watchface 2023-11-25 21:16:53 +00:00
José Rebelo
1b645f44d7 Xiaomi: Keep only watchface tab in app management 2023-11-25 21:16:53 +00:00
José Rebelo
a895a6aae7 Xiaomi: Set and delete watchfaces 2023-11-25 21:16:53 +00:00
José Rebelo
7fb81b6e0d Xiaomi: Fix edge cases in chunked math 2023-11-25 21:16:53 +00:00
José Rebelo
fa72820e5a Mi Band 8: Map emoji (inefficient) 2023-11-25 21:16:53 +00:00
José Rebelo
81ca617601 Xiaomi: Prevent NPE when not yet connected 2023-11-25 21:16:53 +00:00
José Rebelo
ce1d095074 Xiaomi: Add encrypted and plaintext coordinators 2023-11-25 21:16:53 +00:00
José Rebelo
4e680cfcce Mi Band 8: List watchface in app management 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
9ea7b48e0c Xiaomi: Add outdoor running subtype to enum. 2023-11-25 21:16:53 +00:00
Andreas Shimokawa
7a3139fce0 Xiaomi: remove call notification if call has been taken on the phone or rejected, ended.
For in-call notification if those exist, it would not work.
2023-11-25 21:16:53 +00:00
José Rebelo
acba91d3c5 Xiaomi: Refactor daily parser slightly 2023-11-25 21:16:53 +00:00
José Rebelo
d3eb69fcf7 Mi Band 8: Send gps to watch (wip) 2023-11-25 21:16:53 +00:00
José Rebelo
0c27772bb5 Xiaomi: Map elliptical workout 2023-11-25 21:16:52 +00:00
José Rebelo
453ce5eedb Mi Band 8: Map some notification icon messages 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
fce2dfa0ca Xiaomi: fix incoming calls on Mi Watch lite (shoud not break Mi Band 8) 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
b09879dd31 Mi Watch Lite: disable some features that do not exist on the watch 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
9e1a6ca76a Xiaomi: change order of enabling notifications 2023-11-25 21:16:52 +00:00
José Rebelo
04434f4a55 Mi Watch Lite: Attempt to fix activity parsing 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
cd2d7d144e Xiaomi: Fix unencrypted support again 2023-11-25 21:16:52 +00:00
José Rebelo
8333b8b8d8 Mi Band 8: Sleep details parser (very very wip) 2023-11-25 21:16:52 +00:00
José Rebelo
aead518e05 Xiaomi: Implement daily activity parsing 2023-11-25 21:16:52 +00:00
José Rebelo
5dd746f2d6 Xiaomi: Ack activity before parsing for now 2023-11-25 21:16:52 +00:00
José Rebelo
afaf0baa79 Xiaomi: Cache firmware version 2023-11-25 21:16:52 +00:00
José Rebelo
db57072dd3 Xiaomi: Make activity file ID types readable 2023-11-25 21:16:52 +00:00
José Rebelo
5316a7dcf8 Xiaomi: Send device update intent on activity fetch start and finish 2023-11-25 21:16:52 +00:00
José Rebelo
e40b703678 Xiaomi: Dump activity data to storage 2023-11-25 21:16:52 +00:00
José Rebelo
bcefc39ad8 Mi Band 8: Restore setting of firmware version before initializing 2023-11-25 21:16:52 +00:00
José Rebelo
1b6bb20890 Xiaomi: Move initialization logic to base class 2023-11-25 21:16:52 +00:00
José Rebelo
d35bcef406 Mi Band 8: Fix activity fetching 2023-11-25 21:16:52 +00:00
José Rebelo
d66de2f94f Xiaomi: Fix activity file id encoding 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
01a552e0f7 Mi Watch Lite: Do not set firmware version to ... during connect 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
7de94432d0 Mi Watch Lite: authenticate via use XiaomiAuthService, handle subtype 5 send user id reply
This makes device info and battery status work since AuthService calls phase2Initialize()
2023-11-25 21:16:52 +00:00
José Rebelo
f3d6be2f96 Xiaomi: Handle chunked nack 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
a19318c5bd Mi Watch Lite: more small fixes for non-encrypted path 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
b103b4f3e4 Mi Watch Lite: fix unencrypted support after refactoring common Xiaomi code 2023-11-25 21:16:52 +00:00
José Rebelo
1920968fba Mi Watch Lite: Attempt to fix plaintext support 2023-11-25 21:16:52 +00:00
José Rebelo
d953fd5b5b Mi Watch Lite: Refactor to use XiaomiCharacteristic 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
84dff5b8df fix initialization 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
cdef620700 Mi Watch Lite: use xiaomi protobuf for sending user id 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
d3fa3e2c05 Xiaomi Protocol: Add userId auth command 2023-11-25 21:16:52 +00:00
Andreas Shimokawa
7803581922 Mi Watch Lite test based on miband 8 branch
very much wip
2023-11-25 21:16:52 +00:00
José Rebelo
b5a1846e49 Mi Band 8: Fix chunked encryption 2023-11-25 21:16:52 +00:00
José Rebelo
544909a970 Mi Band 8: Activity fetching basics 2023-11-25 21:16:52 +00:00
José Rebelo
4662da3b82 Mi Band 8: Fix chunked receive decryption 2023-11-25 21:16:52 +00:00
José Rebelo
57c7a083aa Mi Band 8: Set display items (wip, chunked is broken) 2023-11-25 21:16:52 +00:00
José Rebelo
0ed169c153 Xiaomi: Refactor characteristics (wip, chunked is broken) 2023-11-25 21:16:52 +00:00
José Rebelo
ae0a7bb806 Mi Band 8: Activity fetch base (wip) 2023-11-25 21:16:52 +00:00
José Rebelo
6c710d594d Zepp OS: Attempt to fix repeating fetch operation getting stuck 2023-11-25 21:16:52 +00:00
José Rebelo
7124d337e1 Mi Band 8: Implement reminders 2023-11-25 21:16:52 +00:00
José Rebelo
cca34af13b Mi Band 8: Fix alarms flakyness 2023-11-25 21:16:52 +00:00
José Rebelo
f56a4b9f0c Mi Band 8: Add MTU warn on sendCommand 2023-11-25 21:16:52 +00:00
José Rebelo
a9b481d72d Mi Band 8: Sync calendar events 2023-11-25 21:16:52 +00:00
José Rebelo
905dfc3323 Mi Band 8 proto: Start mapping DataUpload 2023-11-25 21:16:52 +00:00
José Rebelo
809a809082 Mi Band 8: Replace sleep time with sleep mode schedule (fix crash) 2023-11-25 21:16:51 +00:00
José Rebelo
76c2a18af5 Mi Band 8: Add realtime stats failsafe 2023-11-25 21:16:33 +00:00
José Rebelo
fcf680f799 Mi Band 8: Add find watch 2023-11-25 21:16:33 +00:00
José Rebelo
18fc29fae7 Mi Band 8: Save number of pending alarm acks (wip) 2023-11-25 21:16:33 +00:00
José Rebelo
29fe3bc6ae Mi Band 8: Sleep mode schedule 2023-11-25 21:16:33 +00:00
José Rebelo
d9c3a8de90 Mi Band 8: Fix music 2023-11-25 21:16:33 +00:00
José Rebelo
becb10e9f8 Mi Band 8: Handle user info ack 2023-11-25 21:16:33 +00:00
José Rebelo
44be081e86 Mi Band 8: Handle incoming chunked packets 2023-11-25 21:16:33 +00:00
José Rebelo
f0188f3499 Mi Band 8: Refactor cipher to auth service 2023-11-25 21:16:33 +00:00
José Rebelo
e21b35981b Mi Band 8: Weather temperature unit 2023-11-25 21:16:33 +00:00
José Rebelo
f978329711 Mi Band 8: Display items (wip, needs chunked) 2023-11-25 21:16:33 +00:00
José Rebelo
5cc40f554e Mi Band 8: Widgets proto 2023-11-25 21:16:33 +00:00
José Rebelo
f286df9ecf Mi Band 8: Notification and calls (working, but wip) 2023-11-25 21:16:33 +00:00
José Rebelo
94cde94fbc Mi Band 8: Display items more section 2023-11-25 21:16:33 +00:00
José Rebelo
8f89acbb25 Mi Band 8: Fix crash due to preference type mismatch 2023-11-25 21:16:33 +00:00
José Rebelo
eb2a2ca742 Mi Band 8: Display items (wip) 2023-11-25 21:16:33 +00:00
José Rebelo
e8695a5792 Mi Band 8: Fix stress relaxation reminder 2023-11-25 21:16:33 +00:00
José Rebelo
54e31a1521 Mi Band 8: HR, SpO2, Stress settings (untested, wip) 2023-11-25 21:16:33 +00:00
José Rebelo
8a7e6649b7 Mi Band 8: Password (untested) 2023-11-25 21:16:33 +00:00
José Rebelo
8531cfb0a1 Mi Band 8: Start handling config changes 2023-11-25 21:16:33 +00:00
José Rebelo
e68d6dd7b7 Mi Band 8: Canned messages (wip) 2023-11-25 21:16:33 +00:00
José Rebelo
fd76c7b13b Mi Band 8: Find phone 2023-11-25 21:16:33 +00:00
José Rebelo
b27c75c09a Mi Band 8: World clocks (wip) 2023-11-25 21:16:33 +00:00
José Rebelo
28bd9eeed6 Mi Band 8: Fix heart rate one-shot measurements 2023-11-25 21:16:33 +00:00