Commit Graph
100 Commits
Author SHA1 Message Date
José Rebelo 476b479aba Update changelog 2025-04-02 20:30:46 +01:00
José Rebelo e8d4558b0a Zepp OS: Music upload (unstable)
- Only works in some regions apparently (eg. uk)
- Very unstable for files larger than 2MB
2025-04-02 20:27:38 +01:00
José Rebelo 9744f6d22f Zepp OS 3+: Prevent some signed overflows during large file transfers 2025-04-02 20:26:00 +01:00
José Rebelo 0abd54af98 Zepp OS: Fix invalid files being recognized as maps 2025-04-02 20:26:00 +01:00
José Rebelo e9bb18b811 Make Huawei AudioInfo reusable 2025-04-02 20:26:00 +01:00
José Rebelo e71ee1da5d Fix day switch in activity charts
Regression introduced by 4ae8e3166
2025-03-31 21:30:18 +01:00
José Rebelo 729881ce21 Update changelog 2025-03-30 21:01:27 +01:00
José Rebelo f0ea2ff7c5 Zepp OS: Decode assistant voice data 2025-03-30 20:43:58 +01:00
José Rebelo 51b30557fb Zepp OS: Decode voice memo files 2025-03-30 20:43:20 +01:00
José Rebelo f9ceb16ff8 Add Concentus
* Taken from https://github.com/lostromb/concentus
* Commit: 6c2328dc19044601e33a9c11628b8d60e1f3011c
2025-03-30 20:43:13 +01:00
José RebeloandJosé Rebelo fbff769333 Add licenses page 2025-03-30 19:25:38 +00:00
José Rebelo c7fa48594a Set device change reason for all state changes
Apply f0d4efcb9 to all remaining devices.
2025-03-30 19:25:44 +01:00
José Rebelo 4ae8e31667 Prevent crash when AbstractActivityChartFragment is wrongly extended
Some fragments are extending AbstractActivityChartFragment when they should
not, since they are not in an instance of ChartsHost. This will make them
crash occasionally when switching dates in the actual charts. Prevent this,
but log at error level.
2025-03-30 13:31:34 +01:00
José Rebelo 6ed0550881 Add sleep HR average 2025-03-30 13:29:19 +01:00
José Rebelo 0eccccb011 Huawei: Map activity type 11 to trail run
Fixes #4688
2025-03-30 13:11:20 +01:00
José Rebelo a2a7c4fe48 Lenovo Watch X (Plus): Fix language setting 2025-03-30 11:33:26 +01:00
José Rebelo bc3b7b2e76 Zepp OS: Fix crash when installing watchfaces 2025-03-29 22:18:43 +00:00
José Rebelo bc59a32a8c Amazfit Bip 3: Add workout gps settings 2025-03-29 21:29:58 +00:00
José Rebelo ced7fc5b98 Zepp OS: Fix sleep time if sleep stages are provided by watch 2025-03-24 22:49:26 +00:00
José Rebelo 820a4d5426 Zepp OS: Fix AGPS section not available on some devices 2025-03-24 22:33:15 +00:00
José Rebelo 03aefddc0f Move devicesettings files to src folder 2025-03-24 19:47:12 +00:00
José Rebelo efc06fe708 Zepp OS: Maps upload 2025-03-24 19:36:46 +00:00
José Rebelo fbaa9c4b37 Zepp OS: Respect sync calendar setting 2025-03-24 14:24:40 +00:00
José RebeloandJosé Rebelo 57273d35bb Improve idle and stale media session handling
* MediaManager: Use the inactive session if we're on an android version that allows it
* MediaManager: Clear the cache if no session is found
* Send the media key event to the inactive session, if any
* Otherwise, broadcast the media key event generically
2025-03-23 23:29:30 +00:00
José Rebelo b95f868bff Zepp OS: Add temperature support 2025-03-23 18:33:10 +00:00
José Rebelo c33b0ffcbb Zepp OS: Fix index overflow on large file transfers 2025-03-23 18:06:30 +00:00
José Rebelo a615807945 Zepp OS: Unify voice assistant service
It looks like Zepp Flow uses the same protocol as Alexa - or at least
very similar, since voice data comes in the same command and format.
2025-03-23 16:35:29 +00:00
José Rebelo 160027d756 Zepp OS: Fetch HR stats and sleep respiratory rate in normal builds 2025-03-23 16:15:13 +00:00
José Rebelo 8d1b321950 Huami: Add missing tables to deleteDevice
Huami was missing almost all tables, and some were missing from Zepp OS
2025-03-23 16:07:33 +00:00
José Rebelo ce3e11d07b Zepp OS: Add HRV support
Support is determined by whether the display item hrv exists
2025-03-23 16:00:43 +00:00
José Rebelo 849a7dc996 Zepp OS: Fetch sleep stages and score
Newer Zepp OS devices report sleep sessions separately, which include
accurate sleep stages, and a sleep score.

- Persist this data raw, since we don't know how to fully process it
- Overlay (and prefer) this data over sleep samples

Devices that do not support these such as the Mi Band 7 reply with
an unsuccessful fetch response, which is fine.
2025-03-23 15:56:11 +00:00
José Rebelo b91254265c Zepp OS: Fix and log experimental temperature fetch 2025-03-23 14:46:13 +00:00
José Rebelo 1f8fdf7eef Zepp OS: Fix parsing of PAI values after factory reset
It looks like they come with type 0 after a factory reset..?

Probably some undefined behavior, but the sample size still matches. It
seems to disappear for subsequent samples.
2025-03-23 14:17:21 +00:00
José Rebelo 59dd321069 Zepp OS 3/4: Fix download of single-chunk small files 2025-03-22 19:07:48 +00:00
José Rebelo 2a790befb4 Zepp OS: Add voice memo download logic 2025-03-22 19:07:20 +00:00
José Rebelo fb12de2c73 Zepp OS: Map all activity kinds 2025-03-22 17:25:28 +00:00
José Rebelo b94bfa5701 Zepp OS 3/4: Refactor file transfer service, fix screenshots 2025-03-22 17:25:02 +00:00
José Rebelo 73d15e3df7 Zepp OS: Allow 32-character hex key without 0x prefix 2025-03-22 15:40:44 +00:00
José Rebelo 758c56976b Zepp OS 4: Fix notification icons encoding 2025-03-21 22:02:30 +00:00
José Rebelo 329514d04d Amazfit Active 2: Add vibration intensity config 2025-03-20 00:12:57 +00:00
José Rebelo bcf3c317a9 Amazfit Active 2: Fix some errors during initialization 2025-03-20 00:05:44 +00:00
José Rebelo d6df9d6d85 Amazfit Active 2: Add missing languages 2025-03-19 23:47:38 +00:00
José Rebelo 28af9ace9b Amazfit Active 2: Fix menu and control center configs 2025-03-19 23:08:49 +00:00
José Rebelo a6da6b9fed Amazfit Active 2: Add missing morning updates categories 2025-03-19 22:53:47 +00:00
José Rebelo bef1be8aa4 Amazfit Active 2: Fix firmware updates 2025-03-19 13:06:20 +00:00
José Rebelo 528fb09f52 CMF Watch Pro: Allow enable of bluetooth calls 2025-03-18 21:58:33 +00:00
José Rebelo 4a3eaf76be Make alarm notifications respect app whitelist/blacklist 2025-03-17 19:16:17 +00:00
José Rebelo 4cca17926b Update changelog 2025-03-16 20:31:27 +00:00
José Rebelo 9380c205bc Garmin: Display balance as range 2025-03-16 19:38:02 +00:00
José RebeloandJosé Rebelo a66c8685ec Huawei: Prevent some crashes 2025-03-16 12:47:48 +00:00
José Rebelo 11acaba4de Update changelog 2025-03-09 15:42:44 +00:00
José Rebelo 91fec89ba2 Zepp OS: Fix measurement system configuration 2025-03-09 15:28:50 +00:00
José Rebelo f3b204366c Garmin: Use user profile weight unit 2025-03-08 22:27:53 +00:00
José RebeloandJosé Rebelo 5143128aa9 EarFun Headphones: Enable read aloud incoming notifications and auto-pickup 2025-03-08 19:02:13 +00:00
José Rebelo 190d7cd845 Update changelog 2025-03-08 18:25:21 +00:00
José Rebelo 00b5420fbe Garmin: Add nap support 2025-03-08 18:03:15 +00:00
José RebeloandJosé Rebelo 624fb5cf64 Garmin: Fix fit file checksum computation 2025-03-08 17:55:04 +00:00
José Rebelo dba6e899fe Huawei: Increase user ID length to 19 characters 2025-03-01 18:56:06 +00:00
José Rebelo 05bea9fa89 Garmin: Resolve names for services and characteristics 2025-03-01 16:27:42 +00:00
José Rebelo 3f534b0659 Fix some preference summaries not getting updated 2025-02-25 21:38:10 +00:00
José Rebelo 82edf9095e Reduce log spam from browsing preferences
These get called not only when preferences actually change, but also
when pages are loaded, so the logs are very noisy.
2025-02-24 22:44:22 +00:00
José Rebelo b81784f3b9 Garmin: Allow manual import of activity files 2025-02-24 22:43:00 +00:00
José Rebelo bbcd09dae1 Garmin: Parse extended running and cycling workout data 2025-02-24 22:41:42 +00:00
José Rebelo 147142c7ac Fix linter 2025-02-23 20:32:17 +00:00
José Rebelo a21fa0cf02 Update changelog 2025-02-23 20:05:48 +00:00
José Rebelo 4446b0a648 Log ignored non-voip calls
Log removed by mistake in bfb4a236f
2025-02-20 23:44:33 +00:00
José Rebelo bfb4a236f6 Fix phone calls from Fossify Phone 2025-02-20 23:40:38 +00:00
José Rebelo c6bbda5297 Amazfit Bip 5 Unity: Unmark as experimental
Confirmed working on matrix.
2025-02-10 00:02:22 +00:00
José Rebelo 7b2b162d55 Gree Air Conditioner: Initial support 2025-02-09 16:18:01 +00:00
José Rebelo feb5134b5d App Manager: Fix hiding fab if flashing not supported 2025-02-08 17:21:02 +00:00
José Rebelo 398e140b31 Garmin Forerunner 735XT: Initial support 2025-02-08 17:10:02 +00:00
José Rebelo 0a38a7a880 Fix race condition NPE on media session change
If the music session changes and then stops quickly, the getMetadata
call will not be null the 1st call, but would on the 2nd, which would
result in an NPE and subsequent crash in the device service.
2025-02-05 23:05:00 +00:00
José Rebelo c08285a356 Oppo Headphones: Retry battery requests if unknown status 2025-02-02 16:25:43 +00:00
José Rebelo 6a397b9119 Zepp OS: Fix activity details parsing getting stuck 2025-02-02 15:54:20 +00:00
José Rebelo 769ceded1c Mi Band 9 Pro: Fix treadmill parsing 2025-01-31 19:01:01 +00:00
José Rebelo f277fbe9e5 Sony WH-ULT900N: Initial support 2025-01-31 18:36:46 +00:00
José Rebelo 51fca72a43 Garmin Lily 2 Active: Initial support 2025-01-31 18:20:45 +00:00
José Rebelo 321d71da7a Xiaomi Smart Band 9 Active: Allow BOTH connection types 2025-01-26 14:37:00 +00:00
José Rebelo cb5b475932 Xiaomi Smart Band 9 Active: Experimental support 2025-01-26 14:24:54 +00:00
José Rebelo 52ccb6109c Garmin: Allow fake OAuth 2025-01-26 14:12:42 +00:00
José Rebelo 96d07bb58a Garmin: Fix workouts step count
1 cycle = 2 steps. This is most likely true for other activities, but we
do not currently have a clear split (eg. strokes in rowing matches
cycles, but not in swimming).
2025-01-25 23:03:56 +00:00
José Rebelo b49fe1730c Garmin: Add basic fit file viewer 2025-01-25 17:58:54 +00:00
José Rebelo 0fe05fe9b8 Fix NPE on activity card for devices that do not report steps 2025-01-25 17:52:08 +00:00
José Rebelo 84ac168494 Garmin: PRG upload and basic app management 2025-01-25 00:20:37 +00:00
José Rebelo 6d26fd9495 Garmin: Fix cycle unit per activity kind 2025-01-24 23:00:02 +00:00
José Rebelo bcc6c23097 Garmin: Parse some swimming stats 2025-01-24 22:29:12 +00:00
José Rebelo 0f2d240402 SuperCars: Adopt device card custom action 2025-01-22 21:37:16 +00:00
José Rebelo 071f0296c9 Allow devices to declare custom actions 2025-01-22 21:36:31 +00:00
José Rebelo c2710c32ab Garmin: Fix GFDI message type if sequence number is included
Should fix #4522
2025-01-20 21:04:21 +00:00
José Rebelo b220c94c6b Xiaomi-protobuf: Display unknown activity codes in UI 2025-01-20 20:57:21 +00:00
José Rebelo ff6b8e56b1 Xiaomi-protobuf: Add HR zones progress bars 2025-01-20 20:51:31 +00:00
José Rebelo 0d8e270686 Xiaomi-protobuf: Map some missing freestyle workouts 2025-01-20 20:28:14 +00:00
José Rebelo 9a52723139 Garmin Instinct E: Initial support 2025-01-20 13:24:12 +00:00
José Rebelo 5050d9a283 Amazfit Neo: Fix sound options 2025-01-20 12:59:43 +00:00
José Rebelo 878d40b8a8 Amazfit Active 2: Experimental support 2025-01-19 23:12:03 +00:00
José Rebelo 79fdbb8f85 Xiaomi Watch S1 Active: Fix freestyle and elliptical parsing 2025-01-19 21:04:37 +00:00
José Rebelo 8f62e5232a woodpecker: Migrate secrets to environment from_secret 2025-01-19 20:46:35 +00:00
José Rebelo 9e003fc562 Mi Band 9: Fix swimming parsing 2025-01-18 13:05:49 +00:00
José Rebelo aead5343a4 Migrate standing time to hours
Even though it said "minutes", all devices that use this preference
(Xiaomi-protobuf and Zepp OS), get the raw value, and they expect it to
be in hours.
2025-01-17 19:14:31 +00:00
José Rebelo 52d3128474 Update changelog 2025-01-13 18:36:56 +00:00