José Rebelo
4de7cb3591
Xiaomi: Improve service auto-detection
...
Some watches have the encrypted service, even though they're plaintext,
but are missing the characteristics.
2023-12-05 18:28:39 +00:00
José Rebelo
1c68252255
Xiaomi: Fix settings display items code
2023-12-05 18:20:02 +00:00
Andreas Shimokawa
776346d311
Xiaomi: guard against null pointer crash
2023-12-05 18:20:02 +00:00
José Rebelo
9ddbcc0c8a
Xiaomi: Use display items labels from watch
2023-12-05 18:20:02 +00:00
José Rebelo
3ab1ac26db
Refactor known preference values code to be reusable
2023-12-05 18:20:02 +00:00
José Rebelo
2dacdcface
Xiaomi: Log service
2023-12-05 18:17:50 +00:00
José Rebelo
95d3ff81fd
Xiaomi: Fetch alarm and reminder slots from watch
2023-12-05 18:16:45 +00:00
MrYoranimo
5f9fda4f07
BtLEQueue: fix typo in onCharacteristicChange
2023-12-04 23:32:23 +01:00
MrYoranimo
b303da4e62
Xiaomi: wrap parsing of activity data in try block
...
This will prevent uncaught exceptions that occur during the
parsing of activity data from breaking up the activity fetching
chain and causing the task to never get completed.
2023-12-04 23:32:18 +01:00
MrYoranimo
0f83346d65
Xiaomi: check if binary parser result is null
...
The activity parser may return null pointers in case the version
of the data structure is not supported. Not checking for null here may
result in the activity fetching task may never complete and cause
further communication with the device to grind to a halt.
2023-12-04 22:03:59 +01:00
José Rebelo
376956bbe9
Xiaomi: Improve activity fetch logging
2023-12-04 09:46:49 +00:00
José Rebelo
ec050d7a4f
Xiaomi: Unify encrypted and plaintext logic
2023-12-02 11:25:32 +00:00
José Rebelo
ba0ca1de75
Delegate auth key validation to coordinator
2023-12-02 10:59:34 +00:00
José Rebelo
84692e5432
Mi Band 8: Persist bedtime and wakeup times to database
2023-12-01 21:35:29 +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
Gordon Williams
684d976bfc
Bangle.js: Ensure SMS messages have src
field set to "SMS Message" (it was previously left out)
2023-11-30 09:33:07 +00:00
Gordon Williams
8ef80a2565
Bangle.js: ensure GPS speed is reported correctly when the phone is providing it
2023-11-29 10:04:33 +00:00
José Rebelo
ae75f82a63
Zepp OS: Improve activity fetch logging
2023-11-26 21:14:46 +00:00
Andreas Shimokawa
6f2876fa66
Mi Watch 3 Lite: Fix firmware update
...
(not enabled yet)
2023-11-26 00:22:37 +01:00
foxstidious
deeaf28de4
Limit characters in heading and subheading to 32 (or else casio won't display the notification)
2023-11-25 22:52:26 +00:00
foxstidious
40af20a176
Removed call to start intent if no companion, defaulted companion preference to true, and reordered casio alert preferences to match watch order.
2023-11-25 22:52:26 +00:00
foxstidious
264ab14847
Fixed alert logic
2023-11-25 22:52:26 +00:00
foxstidious
4dc10d1d02
Implemented better message preview, added ability to specify high-level alert by category
2023-11-25 22:52:26 +00:00
foxstidious
11bf0acf32
Changed notification timestamp format to be implemented specifically for GBD-200
2023-11-25 22:52:26 +00:00
foxstidious
6be7f7c9cc
Fixed find phone on, added preference to preview messages on Casio GDB-200
2023-11-25 22:52:26 +00:00
foxstidious
a1b59774d4
Fixed notification time stamp on Casio GDB-200
2023-11-25 22:52:26 +00:00
foxstidious
d9d6a8dc29
Categorized Google Voice messages as GENERIC_SMS, cleaned up some Casio support code, added portion of message text to notification title
2023-11-25 22:52:26 +00:00
Andreas Böhler
6ef6c9be43
Fix Bonding for the Casio GB5600/6900/STB-1000 series
2023-11-25 22:46:45 +00:00
José Rebelo
e91ad80d27
Xiaomi: Cleanup code and comments
2023-11-25 22:18:34 +00:00
José Rebelo
543c8b28d0
Rename org.bouncycastle package
...
Fixes roboelectric in unit tests.
2023-11-25 21:16:53 +00:00
José Rebelo
0dcb316461
Mi Band 8: Basic workout summary parser (wip)
2023-11-25 21:16:53 +00: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
José Rebelo
516b3dbf1e
Mi Band 8: Fix notification icons for long package names
2023-11-25 21:16:53 +00:00
José Rebelo
8192106fc0
Mi Band 8: Fix notification icons mirroring
2023-11-25 21:16:53 +00:00
José Rebelo
3948f95505
Xiaomi: Dismiss notification from phone when dismiss from watch
2023-11-25 21:16:53 +00:00
José Rebelo
ff2a26756f
Mi Band 8: Fix weather (set current location)
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
e2f60b38c9
Xiaomi: fix NPE when no air quality is available
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
cab63b2c98
Mi Band 8: Fix watchface upload
2023-11-25 21:16:53 +00:00
Andreas Shimokawa
27fba50283
Xiaomi: move emoji conversion to base class
...
This works on Mi Watch Lite from FW 4.1.12
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
c47e830056
Xiaomi: Watchface upload (wip, does not work)
2023-11-25 21:16:53 +00:00
José Rebelo
82a264cd65
Xiaomi: Improve emoji mapping efficiency
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
48e149aefe
Xiaomi: Refactor XiaomiCharacteristic to improve logging and ordering
...
Fixes a potential race condition on initialization, since the chunked
commands were being scheduled on a separate transaction builder, which
would be scheduled to be written before the initialization.
2023-11-25 21:16:53 +00:00
José Rebelo
1acd3ac5fd
Xiaomi: Remove usage of TransactionBuilders
2023-11-25 21:16:53 +00:00
José Rebelo
e2d7798e36
Xiaomi: Refuse delete of active watchface
2023-11-25 21:16:53 +00:00
José Rebelo
a895a6aae7
Xiaomi: Set and delete watchfaces
2023-11-25 21:16:53 +00:00
José Rebelo
7fb81b6e0d
Xiaomi: Fix edge cases in chunked math
2023-11-25 21:16:53 +00:00
José Rebelo
fa72820e5a
Mi Band 8: Map emoji (inefficient)
2023-11-25 21:16:53 +00:00
José Rebelo
81ca617601
Xiaomi: Prevent NPE when not yet connected
2023-11-25 21:16:53 +00:00
José Rebelo
ce1d095074
Xiaomi: Add encrypted and plaintext coordinators
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
Andreas Shimokawa
9ea7b48e0c
Xiaomi: Add outdoor running subtype to enum.
2023-11-25 21:16:53 +00:00
Andreas Shimokawa
7a3139fce0
Xiaomi: remove call notification if call has been taken on the phone or rejected, ended.
...
For in-call notification if those exist, it would not work.
2023-11-25 21:16:53 +00:00
José Rebelo
acba91d3c5
Xiaomi: Refactor daily parser slightly
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
0c27772bb5
Xiaomi: Map elliptical workout
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
fce2dfa0ca
Xiaomi: fix incoming calls on Mi Watch lite (shoud not break Mi Band 8)
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
9e1a6ca76a
Xiaomi: change order of enabling notifications
2023-11-25 21:16:52 +00:00
José Rebelo
04434f4a55
Mi Watch Lite: Attempt to fix activity parsing
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
cd2d7d144e
Xiaomi: Fix unencrypted support again
2023-11-25 21:16:52 +00:00
José Rebelo
8333b8b8d8
Mi Band 8: Sleep details parser (very very wip)
2023-11-25 21:16:52 +00:00
José Rebelo
aead518e05
Xiaomi: Implement daily activity parsing
2023-11-25 21:16:52 +00:00
José Rebelo
5dd746f2d6
Xiaomi: Ack activity before parsing for now
2023-11-25 21:16:52 +00:00
José Rebelo
afaf0baa79
Xiaomi: Cache firmware version
2023-11-25 21:16:52 +00:00
José Rebelo
db57072dd3
Xiaomi: Make activity file ID types readable
2023-11-25 21:16:52 +00:00
José Rebelo
5316a7dcf8
Xiaomi: Send device update intent on activity fetch start and finish
2023-11-25 21:16:52 +00:00
José Rebelo
e40b703678
Xiaomi: Dump activity data to storage
2023-11-25 21:16:52 +00:00
José Rebelo
bcefc39ad8
Mi Band 8: Restore setting of firmware version before initializing
2023-11-25 21:16:52 +00:00
José Rebelo
1b6bb20890
Xiaomi: Move initialization logic to base class
2023-11-25 21:16:52 +00:00
José Rebelo
d35bcef406
Mi Band 8: Fix activity fetching
2023-11-25 21:16:52 +00:00
José Rebelo
d66de2f94f
Xiaomi: Fix activity file id encoding
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
01a552e0f7
Mi Watch Lite: Do not set firmware version to ... during connect
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
José Rebelo
f3d6be2f96
Xiaomi: Handle chunked nack
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
a19318c5bd
Mi Watch Lite: more small fixes for non-encrypted path
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
b103b4f3e4
Mi Watch Lite: fix unencrypted support after refactoring common Xiaomi code
2023-11-25 21:16:52 +00:00
José Rebelo
1920968fba
Mi Watch Lite: Attempt to fix plaintext support
2023-11-25 21:16:52 +00:00
José Rebelo
d953fd5b5b
Mi Watch Lite: Refactor to use XiaomiCharacteristic
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
84dff5b8df
fix initialization
2023-11-25 21:16:52 +00:00
Andreas Shimokawa
cdef620700
Mi Watch Lite: use xiaomi protobuf for sending user id
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
Andreas Shimokawa
7803581922
Mi Watch Lite test based on miband 8 branch
...
very much wip
2023-11-25 21:16:52 +00:00
José Rebelo
b5a1846e49
Mi Band 8: Fix chunked encryption
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
4662da3b82
Mi Band 8: Fix chunked receive decryption
2023-11-25 21:16:52 +00:00
José Rebelo
57c7a083aa
Mi Band 8: Set display items (wip, chunked is broken)
2023-11-25 21:16:52 +00:00
José Rebelo
0ed169c153
Xiaomi: Refactor characteristics (wip, chunked is broken)
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
6c710d594d
Zepp OS: Attempt to fix repeating fetch operation getting stuck
2023-11-25 21:16:52 +00:00
José Rebelo
7124d337e1
Mi Band 8: Implement reminders
2023-11-25 21:16:52 +00:00