Commit Graph
100 Commits
Author SHA1 Message Date
Martin.JM 59f140f751 Reduce error toasts for Huawei workout sync 2026-03-28 11:14:45 +01:00
Martin.JMandJosé Rebelo cefd33b465 [Huawei] Improve workout sync error handling 2026-03-24 19:35:47 +01:00
Martin.JMandJosé Rebelo 4ea8a4b77b [Huawei] Workout sync refactor
I hope it will fix #5523
2026-03-24 19:35:47 +01:00
Martin.JMandJosé Rebelo 9eb3ed9026 [Huawei] Add RequestBuilder 2026-03-24 19:35:47 +01:00
Martin.JM 6d72a43adf Huawei: Use a cache for P2P deduplication queries
An index should probably be added on the HuaweiDictData StartTimestamp.
2025-08-17 11:25:29 +02:00
Martin.JM 5f40d3f532 Huawei: Use single query for P2P timestamp 2025-08-17 11:25:29 +02:00
Martin.JM 2bd5a917bb Huawei: improve speed of P2P sync 2025-08-17 11:25:29 +02:00
Martin.JM a79468f514 Huawei: Batch inserting sleep data to database 2025-08-17 11:25:29 +02:00
Martin.JM 711e896c11 Huawei: Batch inserting step data to database 2025-08-17 11:25:29 +02:00
Martin.JM 7d66385afb HuaweiTLV: Use format strings 2025-08-17 11:25:29 +02:00
Martin.JM 13a26af518 Sync fixes
- Give stress its own sync flag
- Fix inverted logic for isSyncActive
- Add more info to logs
2025-08-15 22:10:03 +02:00
Martin.JM e34f635943 Fix TOCTOU 2025-08-15 22:10:03 +02:00
Martin.JM 18651a08e7 WIP: Huawei: Diving sync fixes 2025-08-15 22:10:03 +02:00
Martin.JM 72d729b9c9 Huawei: Quick fix for workout count mismatch
As suggested by Me7c7 in #4857.
2025-05-28 17:41:56 +02:00
Martin.JM f1daf394bf Huawei: improve database performance 2025-04-12 15:36:14 +02:00
Martin.JMandJosé Rebelo 0508ef08d4 Huawei: Fix workout average pace calculation again
Actually make it a weighted average this time, hopefully.
Fix for #4717 again.
2025-04-10 19:56:34 +00:00
Martin.JMandJosé Rebelo 1769f3e788 Fix for Huawei Freebuds 5i 2025-04-09 19:10:07 +00:00
Martin.JMandJosé Rebelo 3b4ef0b7f6 Huawei: Fix workout average pace calculation
Make it a weighted average.
Fix for #4717.
2025-04-09 19:09:52 +00:00
Martin.JM 600629e7ed Switch from kcal to cal in samples
This allows for higher precision in devices that support it.
2024-12-15 21:10:05 +01:00
Martin.JM d807909b25 Huawei: Add calories support
These devices provide calories instead of kcal, which are rounded
per-sample, resulting in a slight difference from what is shown on the
device itself.
2024-12-15 21:08:49 +01:00
Martin.JMandJosé Rebelo c5714746fb Huawei: Initial Freebuds (5i) support 2024-12-06 23:23:46 +00:00
Martin.JM 55014fd13a Huawei: Fix notifications for Huawei Band 3 pro 2024-11-29 13:37:54 +01:00
Martin.JMandJosé Rebelo 48a6e1aa95 Huawei: Fix for encrypted file downloads
Necessary for the Huawei Band 3 Pro GPS download.
2024-11-26 21:39:14 +00:00
Martin.JMandJosé Rebelo 5e62bd3cc6 Huawei: Mark downloaded GPS file as complete only after parsing
Otherwise the icon does not show up in the workout list properly at
first.
2024-11-26 21:39:14 +00:00
Martin.JMandJosé Rebelo 8746577c4e Huawei: Split off SyncState 2024-11-26 21:39:14 +00:00
Martin.JMandJosé Rebelo 9970a37df3 Huawei: Use queue for downloading activity data
This also makes the sync button download both the activity and workout
data.
2024-11-26 21:39:14 +00:00
Martin.JMandJosé Rebelo 3562eb69d0 Huawei: Add P2P to SyncState 2024-11-26 21:39:14 +00:00
Martin.JMandJosé Rebelo 8bfbc07a45 Huawei: Cleanup of the HuaweiSupportProvider
Removes a lot of duplicate TODOs that mostly clutter the overview.

Also includes a couple of changes to please the linter.
2024-11-26 21:39:14 +00:00
Martin.JM 78d6ad3a1f Huawei: Fix some linter warnings 2024-11-24 13:41:58 +01:00
Martin.JM c5a5cd1649 Huawei: Send weather error if there is no data
This will hopefully reduce the number of requests from the watches if
there is no weather data available.
2024-11-24 13:41:53 +01:00
Martin.JMandJosé Rebelo 39e7bd8c62 Huawei: Add non-P2P HR zones configuration 2024-11-17 17:57:30 +00:00
Martin.JMandJosé Rebelo 2a865fe498 Huawei: Fix SmartAlarm for Huawei Watch GT
Linked to #4308.
2024-11-09 17:58:46 +00:00
Martin.JMandJosé Rebelo 126102aa05 Add tests and a couple of fixes 2024-11-05 23:43:41 +00:00
Martin.JMandJosé Rebelo f0ffc0e165 Add high res HR to activity sleep chart fragment 2024-11-05 23:43:41 +00:00
Martin.JMandJosé Rebelo 82e3a86350 Implement high res HR data
Specifically for:
- The HR fragment
- The sports activity graph

Also adds support for Huawei high res HR, and high res SpO2.
2024-11-05 23:43:41 +00:00
Martin.JMandJosé Rebelo 1882ee947e Huawei: Improve distanceCm 2024-11-05 23:43:41 +00:00
Martin.JM 27f61138bc Huawei: Fix notifications for Huawei Band 4e
Fixes #3957
2024-10-27 00:48:33 +02:00
Martin.JMandJosé Rebelo cc16906d20 Huawei: Fix for sample provider 2024-10-26 20:29:33 +00:00
Martin.JMandJosé Rebelo ce7b0db5b1 Huawei Sample Provider: Provide a sample every minute
Fixes #4068.
2024-10-26 15:58:12 +00:00
Martin.JM 69c2f12acb Huawei: Do not get GPS files in parallel 2024-09-30 19:45:56 +02:00
Martin.JM 159ebfd891 Huawei: Workout GPS synchronization 2024-09-30 19:45:56 +02:00
Martin.JM 8d24dfa7e4 Huawei: Weather improvements
Potential fix for #4071.
2024-09-23 18:47:33 +02:00
Martin.JMandJosé Rebelo 43262b3f29 Huawei: Fix workout reparsing
Fixes #4138
2024-09-20 21:48:49 +00:00
Martin.JM 1315931ff8 Huawei: Chain initialize dynamic services requests
Also includes a bit of cleanup.

Thanks to José Rebelo for cleaning my code.
2024-09-08 01:05:16 +02:00
Martin.JM 10403a375b Huawei: Implement new activity types 2024-08-18 11:06:43 +02:00
Martin.JM 75047ecdea Huawei: Send OK when starting GPS
I hope this will solve #3990.
2024-08-16 23:26:48 +02:00
Martin.JMandJosé Rebelo f15f60542d Huawei: Fix for Huawei Band 9
Linked to #3784.
2024-08-06 18:28:09 +00:00
Martin.JM b242ad1ec5 Huawei: Expand capabilities fix 2024-08-01 21:06:13 +02:00
Martin.JM 6f83fc815f Huawei: Simple TruSleep support
Only supports start and end time of sleep periods.
2024-07-30 22:34:05 +02:00
Martin.JM fbe727644e Huawei: Add UV index support
Also adds "0.0 to 15.0" comment to the weatherSpec uvIndex.
2024-07-30 14:19:11 +02:00
Martin.JM 2dbf70cb77 Huawei: Fix for weather
- Also the sunrise/set cannot be zero
- We could send a single forecast more when exactly 7 are provided
- It seems like the watches may require exactly 8 days to be sent for
  the forecast - one of which is for today
2024-07-28 20:33:31 +02:00
Martin.JMandJosé Rebelo 16b293fdb1 Huawei: MusicControl test updated
* tests for 4-byte button and volume values
2024-07-27 11:48:33 +00:00
Martin.JM 82d12e5fbe Huawei: Fix for weather
If there is no moon rise/setting on a day, it should not be zero. It
should not be set at all. Some bands/watches don't care, but some might.
2024-07-26 21:03:27 +02:00
Martin.JM b8a2fc0076 Huawei: fix race condition in BtBR
Should be a fix for #3914.
2024-07-22 20:27:06 +02:00
Martin.JM 80256e9114 Huawei: Call dispose on SupportProvider
Now properly stops the battery runner when the device disconnects.
2024-07-22 11:55:00 +02:00
Martin.JM d7490639af Huawei: Event alarms fix
Should fix event alarms for the Huawei MagicWatch 2 (#3877).
2024-07-11 23:21:53 +02:00
Martin.JM cd7c529d53 Huawei: Enable slicing by default 2024-07-11 11:13:11 +02:00
Martin.JMandJosé Rebelo 7e0e3fa661 Add getBatteryPollingIntervalMinutes to DevicePrefs 2024-07-08 20:36:37 +00:00
Martin.JMandJosé Rebelo 953d26ed71 Test device: Implement battery polling 2024-07-08 20:36:37 +00:00
Martin.JMandJosé Rebelo 125e6371c3 Huawei: Implement battery polling 2024-07-08 20:36:37 +00:00
Martin.JMandJosé Rebelo bf16bf06c3 Add battery polling settings 2024-07-08 20:36:37 +00:00
Martin.JM e7fb74a18f Huawei: Fix flood of PhoneInfo messages
PR #3858 resulted in a flood of PhoneInfo messages. This fixes that.
2024-07-02 13:36:25 +02:00
Martin.JMandJosé Rebelo b6f9faff80 Huawei: Add soccer and roller skating workout types
Roller skating is set as generic exercise pending #3852.

Users can retroactively set this through the reparse workout data
button in the developer settings.
2024-07-01 19:53:55 +00:00
Martin.JM d345325b46 Huawei: Add PhoneInfo to packet type conversion 2024-07-01 18:13:58 +02:00
Martin.JMandJosé Rebelo 1f1fc33e43 Huawei: Fix BR partial packets
Would crash before. See added test for example.
2024-06-20 22:02:36 +00:00
Martin.JMandJosé Rebelo 72dcb3250e Hauwei: Extend debug request to allow setting the sliced flag 2024-06-18 20:45:38 +00:00
Martin.JMandJosé Rebelo a90e1be0ee Huawei: Generalize HR and SpO2 support 2024-06-04 11:23:49 +00:00
Martin.JMandJosé Rebelo b43d87f6bc Huawei: Weather no longer depends on weather start response 2024-06-04 11:20:10 +00:00
Martin.JMandJosé Rebelo 15ba9e6c85 Improve GPS support for Huawei gadgets 2024-06-02 20:51:02 +00:00
Martin.JMandJosé Rebelo 9ba96231c3 [Huawei] Implement remote camera shutter 2024-05-13 21:28:43 +00:00
Martin.JMandJosé Rebelo 4c4ba623c4 Add camera implementation
This is to support watches with remote shutter applets that do not
act as remote triggers for other apps automatically.
2024-05-13 21:28:43 +00:00
Martin.JM 25b1f8f3fa [Huawei] Change to use MediaManager 2024-05-09 20:03:36 +02:00
Martin.JM 4c93647aaf [Huawei] Add TruSleep warning 2024-05-02 20:59:08 +02:00
Martin.JMandJosé Rebelo 83fd09939f [Huawei] Fix PR #3742, add workout frequency and altitude 2024-05-01 16:32:27 +00:00
Martin.JM 1c2c1f710e [Huawei] Add support for workout calories and cycling power 2024-04-30 21:08:23 +02:00
Martin.JM bcd35b02da [Huawei] Add HR and SpO support for two watches
- Huawei Watch GT4
- Huawei Watch Ultimate
2024-04-29 10:58:24 +02:00
Martin.JM e4cac887cc [Huawei] Auto detect GPS data support 2024-04-04 20:01:44 +02:00
Martin.JM 88746d5706 [Huawei] Hookup GPS values 2024-04-04 19:31:12 +02:00
Martin.JM 22720514b9 [Huawei] Add GPS packets 2024-04-04 19:26:54 +02:00
Martin.JM 83d2aaf30e Group new Huawei workout activity entries 2024-03-30 22:07:02 +01:00
Martin.JM ff37766510 Huawei workout change strings to ActivitySummaryEntries 2024-03-30 21:34:27 +01:00
Martin.JM 4ad77c8232 Huawei Workout improve pace information 2024-03-30 21:34:27 +01:00
Martin.JM e9090ec082 Huawei Workout use translatable strings 2024-03-30 21:34:27 +01:00
Martin.JM e8ddc1fd17 Huawei Workout cleanup of unknown values 2024-03-30 21:34:27 +01:00
Martin.JM facf87fc59 Limit smart alarm interval to 255 2024-02-24 09:56:56 +01:00
Martin.JM 91dc81d5dd Move snooze checkbox 2024-02-24 09:56:56 +01:00
Martin.JM 5968a04cf7 Change colors 2024-02-24 09:56:56 +01:00
Martin.JM a4eaf66386 Change strings 2024-02-24 09:56:56 +01: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
Martin.JM 37b5d0404a Update alarm unused and enabled states
- Set alarm as used when enabled in the list
- Set alarm as disabled when set as unused in the list
2024-02-24 09:56:56 +01:00
Martin.JMandJosé Rebelo 9a388ca386 Updated according to review
Thank you José Rebelo!
2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo c66051f580 Cleanup of Huawei weather implementation 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo 1c2516186d Small cleanup 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo 5ebfe9b39f Add weather settings to forecast 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo b231104a88 Add moon phase support 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo 242f3c6dbc Add unit support and some cleanup 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo 043f839a4d Fix tomorrow appearing twice 2024-02-18 20:54:59 +00:00
Martin.JMandJosé Rebelo 6a2186919c Always initialize weather before sending 2024-02-18 20:54:59 +00:00