1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-28 07:50:11 +02:00
Commit Graph

55 Commits

Author SHA1 Message Date
MrYoranimo
b9cbd14ffe Xiaomi: fix logic for ability to select widget workout type 2024-01-17 20:16:38 +00:00
opcode
372aa88e6e Xiaomi: Weather fixes and Implement wind and AQI
Many fields were incorrectly being sent as uint32 instead of sint32. This caused issues with forecast icons.
2024-01-09 17:28:50 +00:00
José Rebelo
1c7289edfa Xiaomi: Fix secondary goal config 2023-12-12 21:27:50 +00:00
José Rebelo
2d89fdf11b Xiaomi: Fix widget set on some devices 2023-12-12 18:45:44 +00:00
José Rebelo
6de7af62e3 Xiaomi: Manage widgets 2023-12-11 22:00:16 +00:00
José Rebelo
fce33329ea Xiaomi: Add class size warning to xiaomi.proto 2023-12-11 11:07:44 +00:00
José Rebelo
095b9e42d3 Xiaomi: Toggle phone silent mode from band 2023-12-11 10:51:10 +00:00
José Rebelo
8f2924c873 Xiaomi: Reject call with SMS reply 2023-12-10 22:12:16 +00:00
José Rebelo
e6aa9d276a Xiaomi: Fix workout types on xiaomi.proto 2023-12-10 20:48:30 +00:00
José Rebelo
5ca3298e5b Xiaomi: Update xiaomi.proto widgets and vibration patterns 2023-12-10 20:24:22 +00:00
José Rebelo
4051c7f7d4 Xiaomi: Add wear mode preference 2023-12-10 18:03:17 +00:00
José Rebelo
18686e98c5 Xiaomi: Delete notification from watch when dismissed from phone 2023-12-10 10:36:14 +00:00
MrYoranimo
435d41aca0 Huami/Xiaomi: centralize handling of device state events
Gadgetbridge can be configured to perform an action when a
Huami device is taken off or the user was detected to fall asleep or
wake up. This functionality was specific to Huami devices, but this
changeset moves this upstream to the AbstractDeviceSupport class in
combination with new GBDeviceEvents.

Now that the ADS has centralized support for this functionality, the
same logic can be used for other devices. In this case, an
implementation is added for supported Xiaomi devices.
2023-12-09 00:20:22 +01:00
José Rebelo
6984572d33 Xiaomi: Allow notification open on phone 2023-12-08 12:12:35 +00:00
José Rebelo
2b8d8c2cb0 Xiaomi: Fix dismiss multiple notifications from watch 2023-12-08 11:49:47 +00:00
MrYoranimo
b902ee96c3 Xiaomi: improve battery level and charger status processing
Because the reporting of battery state is inconsistent between different
models, the device's battery state was not correctly processed in GB.

For at least the firmware on the Xiaomi Watch S1 Active, the charger
state is broadcast through a separate message from the message
containing the battery level. Even though the battery level was
requested by GB upon receiving this broadcast, the charger state got
discarded as it was expected to also be included in the result of the
subsequent request.

This patch changes the name of the `Charger` message to `DeviceState`
and includes more fields that may be presented by some device models.
Furthemore, the broadcast is cached so that the charger state can be
processed from this cache instead of the battery level response message.
2023-12-06 11:56:13 +01:00
José Rebelo
95d3ff81fd Xiaomi: Fetch alarm and reminder slots from watch 2023-12-05 18:16:45 +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
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
Andreas Shimokawa
6f2876fa66 Mi Watch 3 Lite: Fix firmware update
(not enabled yet)
2023-11-26 00:22:37 +01: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
Andreas Shimokawa
50f086b03a Xiaomi: Implement daily forecast
Works on Mi Watch Lite
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
29c183b88a Xiaomi: Refactor to install firmware (untested) 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
4e680cfcce Mi Band 8: List watchface in app management 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
453ce5eedb Mi Band 8: Map some notification icon messages 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
Andreas Shimokawa
d3fa3e2c05 Xiaomi Protocol: Add userId auth command 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
ae0a7bb806 Mi Band 8: Activity fetch base (wip) 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
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
8a7e6649b7 Mi Band 8: Password (untested) 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
f23347c47d Mi Band 8: Add broken notifications 2023-11-25 21:16:33 +00:00
José Rebelo
fda3b53657 Mi Band 8: Initial support (WIP) 2023-11-25 21:16:31 +00:00
Reiner Herrmann
4abde0766d Zepp OS: display swimming-related activity data 2023-10-16 23:35:10 +02:00
mormegil
dccb8ed1c4 Changes suggested in PR
- use `BLETypeConversions`, added the missing functions there (+ unit tests for all)
- change Java package of Protobuf definitions so that they are not discarded by Proguard
-- +add subpackages to the Proguard rules so we can subdivide the classes

+ disable device-specific settings for Vivomove (no settings yet)
2023-07-20 20:30:14 +00:00