1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-04 09:17:29 +01:00
Commit Graph

1566 Commits

Author SHA1 Message Date
José Rebelo
b8b8b5f681 Huami: Display unknown raw activity kind in the activity summary 2024-03-04 21:07:59 +00:00
Stefan Tomanek
e86912e681 Use TypeName for identifying non-LE device when pairing LE counterpart.
Previous changes deprecated the numeric Type property, making the
database query fail when pairing the BT-LE part of a Pebble device.
2024-02-27 20:40:54 +01:00
José Rebelo
58d4ebf509 Huami: Refactor activity data fetching
Activity data fetching on Huami devices was filled with duplicated code,
and the handleActivityFetchFinish was called from multiple places where
it did not make sense. This made us signal to the band that activity
fetch was finished when it sometimes was not, causing some race
condititions that would make activity fetch fail or get stuck.

This refactor defines a clear "processBufferedData" that is called
upstream, signaling to the fetch operation that we have received all
data and the buffer can be processed. All handling of metadata and ack
messages is also delegated to the upstream class.
2024-02-25 13:10:25 +00:00
José Rebelo
5e068ee4ca Huami: Extract activity fetch data types to enum 2024-02-25 13:10:25 +00:00
Martin.JM
0eb2bf7dfa Fix bugs, cleanup, test device
Implemented the TestDevice, which showed some bugs.
Solved these bugs and cleaned up a bit in the process.
2024-02-24 09:56:56 +01:00
Martin.JM
71ea39efde [Huawei] Hookup smart wakeup interval and update Coordinators 2024-02-24 09:56:56 +01:00
Martin.JM
51024f7b5e Add smart wakeup interval 2024-02-24 09:56:56 +01:00
Arjan Schrijver
28e0914330 Fossil/Skagen Hybrids: Use steps instead of calories for activity intensity 2024-02-23 20:54:49 +01:00
Martin.JM
9a388ca386 Updated according to review
Thank you José Rebelo!
2024-02-18 20:54:59 +00:00
Martin.JM
c66051f580 Cleanup of Huawei weather implementation 2024-02-18 20:54:59 +00:00
Martin.JM
1c2516186d Small cleanup 2024-02-18 20:54:59 +00:00
Martin.JM
5ebfe9b39f Add weather settings to forecast 2024-02-18 20:54:59 +00:00
Martin.JM
b231104a88 Add moon phase support 2024-02-18 20:54:59 +00:00
Martin.JM
242f3c6dbc Add unit support and some cleanup 2024-02-18 20:54:59 +00:00
Martin.JM
4b70f3fcdb Hookup Huawei GPS values 2024-02-18 20:54:59 +00:00
Vitaliy Tomin
d379b11535 Add HuaweiTLV put for double 2024-02-18 20:54:59 +00:00
Martin.JM
65aa5faec5 Implement Huawei weather icons 2024-02-18 20:54:59 +00:00
Martin.JM
f970b7482b Set wind values 2024-02-18 20:54:59 +00:00
Vitaliy Tomin
287b720350 Send gps and time before forecast 2024-02-18 20:54:59 +00:00
Martin.JM
14eaba858c Weather fix 2024-02-18 20:54:59 +00:00
Martin.JM
0b64408b33 Add outgoing parsing 2024-02-18 20:54:59 +00:00
Martin.JM
2b1c5b5819 Add weather forecast 2024-02-18 20:54:59 +00:00
Martin.JM
b2b176b65c Add weather support for Huawei 2024-02-18 20:54:59 +00:00
Martin.JM
22e51f841b Add additional smart wakeup functionality in test device
Code by José Rebelo:
https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3583#issuecomment-1571835
2024-02-18 19:01:19 +01:00
Martin.JM
89b6ae9f24 Add more granular smart wakeup support
Specifically:
- Add position to smart wakeup support coordinator function
- Add interface to stop smart alarm checkbox from being changed
2024-02-18 17:24:29 +01:00
JdM
64c024a5ce Added support for xiaomi redmi watch 3 (#3582)
Co-authored-by: JdM <julien@rmbi.ch>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3582
Co-authored-by: JdM <judemont@noreply.codeberg.org>
Co-committed-by: JdM <judemont@noreply.codeberg.org>
2024-02-18 13:55:14 +00:00
Arjan Schrijver
122ff5f7f4 Fossil/Skagen Hybrids: Fix crash on multi-byte unicode characters in menu
The FosslAppWriter was writing string length instead of the bytes length
into the wapp file, causing a crash when reading the file.

Fixes #3577
2024-02-17 21:25:25 +01:00
José Rebelo
a3bd7a297a Test Device: Add fake features and data 2024-02-16 22:56:27 +00:00
Damien 'Psolyca' Gaignon
6a576202a9
[Huawei] Add Huawei Watch Fit gadget 2024-02-13 14:12:23 +01:00
Arjan Schrijver
d637b9263c Fix linter errors 2024-02-13 10:54:12 +01:00
Damien 'Psolyca' Gaignon
874bb1a14e
[Huawei] Fix test 2024-02-13 00:18:48 +01:00
Andreas Shimokawa
8b9462f521 fix tests 2024-02-12 18:31:48 +01:00
José Rebelo
983b7352cb Galaxy Buds2 Pro: Fix recognition of some versions
Not all earbuds use "Galaxy" in the name, apparently.

Fixes #3569
2024-02-10 12:46:55 +00:00
Damien 'Psolyca' Gaignon
88f3cc4fd0
[Huawei] Fix regression introduced with HiChainLite 2024-02-09 22:22:33 +01:00
Damien 'Psolyca' Gaignon
510b8096ed
[Huawei] Fix transactions encryption 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
d5cecc4a84
[Huawei] GT2 transaction crypted 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
bb5fe00643
[Huawei] Change bond request behaviour 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
05c11cbd14
[Huawei] Add HiChainLite firstKey handling 2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
270212a771
[Huawei] Rename authMode to deviceSupportType 2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
2880297c51
[Huawei] Fix pin code encoding 2024-02-09 12:02:53 +01:00
José Rebelo
145c2b8c6c Zepp OS: Recognize devices with a dash before mac address suffix 2024-02-02 20:58:00 +00:00
José Rebelo
944e0d92a7 Zepp OS: Fix AGPS uploads
Regression introduced by 34fd18885a - UIHH upload is needed for AGPS
updates on older devices.
2024-02-02 20:51:06 +00:00
Damien 'Psolyca' Gaignon
2a377ba5ab
[Huawei] Change bonding style for all BR gadgets 2024-02-01 22:14:45 +01:00
José Rebelo
aa4a7912ef Zepp OS: Match devices by exact bluetooth name
This attemts to reduce false positives, especially for devices that
present as two bluetooth devices such as the GTR 4.
2024-02-01 18:47:36 +00:00
José Rebelo
34fd18885a Zepp OS: Refactor firmware uploads
Zepp OS 3 firmware upgrades are big (200MB+). Gadgetbridge was crashing,
since the entire firmware file would be pulled into memory.

This commit unifies all the logic for Zepp OS firmware handling.

However, since the needed refactor was big, this commit duplicates some
of the code from Huami classes, namely:
- ZeppOsFirmwareUpdateOperation clones UpdateFirmwareOperation2020
- ZeppOsFwInstallHandler clones AbstractMiBandFWInstallHandler

This avoids changes to older device logic and introducing regressions.

Lost functionality:
- Repackaging firmwares as UIHH (does not seem to be needed, and was not
  used anyway). Code can be recovered from this commit if needed in the
  future
- Whitelisted firmwares by checksum (we do not have a lot of them at
  this point anyway)

Other misc changes:
- Rename ZipFile to GBZipFile not to clash with the java class

Tested by updating the Amazfit GTR 4 to Zepp OS 3.
2024-02-01 18:47:28 +00:00
Martin.JM
4b38a67a58 Fix Huawei exceptions related to early packets
Also adds more robust tag checks for Huawei packets
2024-01-30 12:15:46 +01:00
José Rebelo
773132c4e1 Make all Zepp OS classes explicit
There are still some actual "Huami 2021" classes that are used in
non-ZeppOS devices, but this refactor improves the distinction.
2024-01-29 23:30:28 +00:00
Damien 'Psolyca' Gaignon
86461ada1a
[Huawei] Add new Crypto and authMode 2024-01-29 21:51:45 +01:00
José Rebelo
c472f0ab9a Redmi Watch 2: Experimental support 2024-01-29 18:14:34 +00:00
Damien 'Psolyca' Gaignon
b860ab116f
Add uncrypted transactions for TalkBand 6 2024-01-28 20:46:47 +01:00