1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-13 21:49:27 +01:00
Commit Graph

2657 Commits

Author SHA1 Message Date
José Rebelo
f9917851ef Xiaomi: Fix NPE when notification lookup fails 2024-03-06 20:47:57 +00:00
Arjan Schrijver
08a8b6a8fd Fossil/Skagen Hybrids: Remove activity fetching toasts and add finished signal 2024-02-27 14:36:28 +01:00
José Rebelo
ab41adbc7f Xiaomi: Fix sleep samples when sleep stages are not found
We can at least show light sleep now.
2024-02-25 22:53:15 +00:00
José Rebelo
dd952e335f Xiaomi: Implement complex activity details header parsing
This should improve activity parsing across all devices, as we now take
the header into account, which indicates what groups are actually
present.

Thanks to @opcode for figuring out the header structure and providing
the ImHex patterns for the activity data.
2024-02-25 22:27:20 +00:00
José Rebelo
0b0aedfb52 Revert Xiaomi steps and stress parsing fixes
- This reverts commit 789292d318.
- This reverts commit 641eb1bee7.

Further changes are required
2024-02-25 21:08:44 +00:00
José Rebelo
3902db5abd Huami: Keep track of last debug logs titmestamp 2024-02-25 13:25:12 +00: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
9b0229cdf0 Huami: Split fetch, init and update operations 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
José Rebelo
789292d318 Xiaomi: Fix stress parsing 2024-02-25 00:04:03 +00:00
José Rebelo
641eb1bee7 Xiaomi: Fix steps and stress parsing for some devices 2024-02-25 00:02:52 +00: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
0383169767 Fossil/Skagen Hybrids: While syncing, mark device busy and show transfer notification 2024-02-23 20:59:01 +01:00
Gordon Williams
dd0dfb23ac Bangle.js: Ensure we request a higher MTU if it's been enabled in settings (otherwise Android just uses the default). Really improves communication speed. 2024-02-22 12:00:33 +00: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
043f839a4d Fix tomorrow appearing twice 2024-02-18 20:54:59 +00:00
Martin.JM
6a2186919c Always initialize weather before sending 2024-02-18 20:54:59 +00:00
Martin.JM
4b70f3fcdb Hookup Huawei GPS values 2024-02-18 20:54:59 +00:00
Martin.JM
ee14b5d821 Small changes 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
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
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
José Rebelo
ad256fade0 Test Device: Fix NPE when using the database 2024-02-16 23:09:46 +00:00
José Rebelo
a3bd7a297a Test Device: Add fake features and data 2024-02-16 22:56:27 +00:00
Andreas Shimokawa
8b9462f521 fix tests 2024-02-12 18:31:48 +01:00
Damien 'Psolyca' Gaignon
fc857b8adb
[Huawei] Fix attribut keyword 2024-02-09 12:03:04 +01:00
Damien 'Psolyca' Gaignon
21b97a9276
[Huawei] Fix BondParamsRequest stopChain 2024-02-09 12:03:03 +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
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
José Rebelo
3e08a754e0 Xiaomi: Fix indoor cycling recognition 2024-02-01 20:02:31 +00:00
Victor Kareh
b647631c07 pinetime: Fix weather forecast write
Fixes a typo in the weather forecast characteristic writer that causes
Gadgetbridge to send the current weather twice rather than sending the
forecast.
2024-02-01 18:59:06 +00:00
José Rebelo
dbfb8e5c38 Zepp OS: Improve logging
- Do not log characteristic changes handled by parent class
- Log discovered service names
- Request and log supported config groups
2024-02-01 18:48:15 +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
Damien 'Psolyca' Gaignon
2b5a49641a
[Huawei] Fix clientNonce for HiChainLite 2024-01-29 21:21:20 +01:00