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
José Rebelo
cca34af13b
Mi Band 8: Fix alarms flakyness
2023-11-25 21:16:52 +00:00
José Rebelo
f56a4b9f0c
Mi Band 8: Add MTU warn on sendCommand
2023-11-25 21:16:52 +00:00
José Rebelo
a9b481d72d
Mi Band 8: Sync calendar events
2023-11-25 21:16:52 +00:00
José Rebelo
809a809082
Mi Band 8: Replace sleep time with sleep mode schedule (fix crash)
2023-11-25 21:16:51 +00:00
José Rebelo
76c2a18af5
Mi Band 8: Add realtime stats failsafe
2023-11-25 21:16:33 +00:00
José Rebelo
fcf680f799
Mi Band 8: Add find watch
2023-11-25 21:16:33 +00:00
José Rebelo
18fc29fae7
Mi Band 8: Save number of pending alarm acks (wip)
2023-11-25 21:16:33 +00:00
José Rebelo
29fe3bc6ae
Mi Band 8: Sleep mode schedule
2023-11-25 21:16:33 +00:00
José Rebelo
d9c3a8de90
Mi Band 8: Fix music
2023-11-25 21:16:33 +00:00
José Rebelo
becb10e9f8
Mi Band 8: Handle user info ack
2023-11-25 21:16:33 +00:00
José Rebelo
44be081e86
Mi Band 8: Handle incoming chunked packets
2023-11-25 21:16:33 +00:00
José Rebelo
f0188f3499
Mi Band 8: Refactor cipher to auth service
2023-11-25 21:16:33 +00:00
José Rebelo
e21b35981b
Mi Band 8: Weather temperature unit
2023-11-25 21:16:33 +00:00
José Rebelo
f978329711
Mi Band 8: Display items (wip, needs chunked)
2023-11-25 21:16:33 +00:00
José Rebelo
f286df9ecf
Mi Band 8: Notification and calls (working, but wip)
2023-11-25 21:16:33 +00:00
José Rebelo
8f89acbb25
Mi Band 8: Fix crash due to preference type mismatch
2023-11-25 21:16:33 +00:00
José Rebelo
eb2a2ca742
Mi Band 8: Display items (wip)
2023-11-25 21:16:33 +00:00
José Rebelo
e8695a5792
Mi Band 8: Fix stress relaxation reminder
2023-11-25 21:16:33 +00:00
José Rebelo
54e31a1521
Mi Band 8: HR, SpO2, Stress settings (untested, wip)
2023-11-25 21:16:33 +00:00
José Rebelo
8a7e6649b7
Mi Band 8: Password (untested)
2023-11-25 21:16:33 +00:00
José Rebelo
8531cfb0a1
Mi Band 8: Start handling config changes
2023-11-25 21:16:33 +00:00
José Rebelo
e68d6dd7b7
Mi Band 8: Canned messages (wip)
2023-11-25 21:16:33 +00:00
José Rebelo
fd76c7b13b
Mi Band 8: Find phone
2023-11-25 21:16:33 +00:00
José Rebelo
b27c75c09a
Mi Band 8: World clocks (wip)
2023-11-25 21:16:33 +00:00
José Rebelo
28bd9eeed6
Mi Band 8: Fix heart rate one-shot measurements
2023-11-25 21:16:33 +00:00
José Rebelo
4ede29d1f1
Mi Band 8: Toggle realtime stats (wip)
2023-11-25 21:16:33 +00:00
José Rebelo
f23347c47d
Mi Band 8: Add broken notifications
2023-11-25 21:16:33 +00:00
José Rebelo
290383627e
Mi Band 8: Fix system service
2023-11-25 21:16:33 +00:00
José Rebelo
fda3b53657
Mi Band 8: Initial support (WIP)
2023-11-25 21:16:31 +00:00
Davis Mosenkovs
2ef44e766e
PineTime: Improve notification handling
...
* If setting enabled, add source application (or SMS)
* Fallback to using notification subject if body is unavailable
* Trim/cut sender or title at 25+ chars if necessary
* Better support for notifications without body or subject
2023-11-23 21:30:42 +00:00
Davis Mosenkovs
88d553771d
PineTime: Honor Sync time setting on connect
2023-11-23 21:30:42 +00:00
Gordon Williams
66b36564ab
Bangle.js: Attempt to fix some of the warnings generated by Android Studio - some addec null checks, and appending using StringBuilder
2023-11-20 11:42:41 +00:00
Gordon Williams
140c62ac55
Bangle.js: Fix #2996 - force a reconnect when rx/tx characteristics can't be found
2023-11-20 11:02:16 +00:00
Davis Mosenkovs
176e81f1c0
Display alias in low battery notification
2023-11-16 21:23:35 +00:00
Davis Mosenkovs
20850858d2
Mijia LYWSD02: Add low battery notification
2023-11-10 00:03:54 +02:00
Gordon Williams
cb0962e0f6
Bangle.js: Ensure we split Chinese words every 2 chars when converting them to bitmaps to give us the opportunity to wrap text better
...
Also make sure we never create a bitmap >255 width/height as this wouldn't work on Espruino
2023-11-09 15:12:59 +00:00
Gordon Williams
f4707c15f4
Bangle.js - mention 'Android Integration' app for Bangle, not 'Gadgetbridge', add extra character conversions
2023-11-08 10:51:00 +00:00
Gordon Williams
1aadc04fd7
Bangle.js: add more non-ascii characters which can be converted to ASCII equivalents.
...
This helps for Chinese where words would normally break on these chars anyway - based on https://forum.espruino.com/conversations/391391
2023-11-06 14:42:24 +00:00
rany
340171e0bb
Zepp OS: Fix sunrise and moon dates being off by local time + UTC offset
...
Fixes #3400
Signed-off-by: rany <ranygh@riseup.net>
2023-11-03 20:56:16 +00:00
Davis Mosenkovs
e6a0350197
Mijia LYWSD02: Fix battery drain on Mijia
2023-11-03 18:37:55 +00:00
José Rebelo
0c47d12c0f
Amazfit Active / Active Edge: Experimental support
2023-10-29 19:19:20 +00:00
Daniel Dakhno
c2a9f5d805
Device management: store deviceType name in DB
2023-10-27 19:14:49 +00:00
Arjan Schrijver
a0e6085324
Fossil/Skagen Hybrids: Allow configuring call rejection method
2023-10-20 10:50:25 +02:00
José Rebelo
f090898aef
Zepp OS: Add statistics fetch operation
...
We do not know what they are or how to parse them, but syncing them
helps free up space from the band.
2023-10-18 16:17:41 +01:00
José Rebelo
5a65bbf8f4
Zepp OS: Add temperature fetch operation (no DB / UI)
2023-10-18 15:46:58 +01:00
José Rebelo
81501ef750
Mi Band 7: Whitelist firmware 2.1.0.1
2023-10-18 15:31:06 +01:00
Arjan Schrijver
88341c8b86
Fossil/Skagen Hybrids: Add new navigation app
2023-10-18 13:06:16 +00:00
Maxime Reyrolle
1d3f9b6ec1
add items, shortcuts, cards and watchfaces from Amazfit Balance
2023-10-15 18:39:20 +02:00
Maxime Reyrolle
ff6d6f5e53
add initial support for Amazfit Balance
2023-10-15 13:41:53 +00:00
ahormann
28e673415f
Support for Femometer Vinca 2 and HealthThermometerProfile ( #3369 )
...
Co-authored-by: ahormann <ahormann@gmx.net>
Co-committed-by: ahormann <ahormann@gmx.net>
2023-10-15 13:37:41 +00:00
TaaviE
6234359c69
Improved PineTime's weather support to reduce pathological memory usage
2023-10-10 20:46:17 +00:00
Davis Mosenkovs
c4bc43d918
PineTime: Display app name for VoIP app calls
2023-10-10 20:03:44 +00:00
Davis Mosenkovs
5d15df0751
CallSpec: Add source app for VoIP app calls
2023-10-10 20:03:44 +00:00
Sebastian Reichel
a1607ef3ae
Zepp OS: Map hiking, outdoor swimming, climbing and table tennis activity types
2023-10-10 19:04:15 +00:00
Sebastian Reichel
4feadc2932
Zepp OS: Add workout codes for hiking and outdoor swimming
...
I got these codes from the debug logs from my Amazfit GTS 4 Mini.
Apparently they have the same codes as the old types defined in
HuamiSportsActivityType.
2023-10-10 19:04:15 +00:00
Andreas Böhler
3dd2869283
Fix first connect on the Casio GBX100/GBD-200 series
2023-10-10 18:56:14 +00:00
Gordon Williams
a3f3bb212a
Bangle.js: lower threshold for low battery warning
2023-10-10 11:15:05 +01:00
Gordon Williams
7f962912bb
minor tweak - ensure we round wind speed so it's not to 12 decimal places
2023-10-10 11:11:23 +01:00
José Rebelo
fe9b88df17
Zepp OS: Fix setting of unknown button press apps
2023-10-06 21:52:13 +01:00
Reiner Herrmann
be07545eca
Amazfit Band 7: add alexa menu entries
...
as a display menu item value for alexa already existed (with a different hex value),
add an alexa2 value that maps to the same menuitem.
2023-10-06 20:45:42 +00:00
Daniel Dakhno
ef1d38d9d3
Device Manager: replaced getSupportedType with supports method
...
Huami: introduced getSupportedDeviceName
Huami: implemented getSupportedDeviceName
Huami: fixed typo
Device manager: added error on empty getSupportedDeviceName and empty supports()
Device manager: migrated more devices to getSupportedDeviceName
Device manager: simplified default supports implementation
Device manager: added caching for getSupportedDeviceName pattern
Device manager: added caching DeviceType resolution
Device manager: changed pattern matching find()->matches()
Device manager: use Candidate as caching key
Device manager: more verbose variable initialization
Device manager: fixed typo
Device manager: removed device caching from DeviceHelper
Gradle: removed protoc binary
Device manager: moved more devices to getSupportedDeviceName
Device manager: reduced usages of String.format
Device Vesc: removed multiple device types
Device management: regex improvements
Makibes HR3: fixed device recognition regex
2023-10-05 20:34:53 +00:00
Noodlez
4919be9f6d
Update AsteroidOS support
...
Fixed a few bugs.
1. Moved from the depreciated Date object for sending over the time
2. Fixed media info sending. (It would crash when info was missing)
3. Fixed notification dismissal (Typo in removal tag from remove->removed)
4. Fixed quite a few warnings that were being brought up.
5. Added more of the supported models for AsteroidOS.
There are still a few problems that exist. Screenshotting still doesn't work. I'm just not sure how it works in GB. The AsteroidOS service is still not being detected, even though the AsteroidOSSync application is detecting it just fine.
2023-10-05 20:26:58 +00:00
José Rebelo
5f05a0d88f
Sony WF-1000XM5: Experimental support
2023-09-28 23:53:58 +01:00
Daniel Dakhno
b97b26ce3a
Device manager: moved device icons and name to Coordinator
2023-09-28 00:11:02 +03:00
akasaka
8b01426d57
[Wena3/BUG] Lint
2023-09-25 13:46:19 +09:00
akasaka
65102e26f4
[Wena3/BUG] Height and weight were swapped around
2023-09-25 13:39:49 +09:00
akasaka
1140e60a88
[Wena3/BUG] Don't hide music title when momentarily pausing and resuming
2023-09-25 13:32:03 +09:00
akasaka
488af72341
[Wena3/BUG] BodyPropertiesSetting: height then weight on the wire, not the other way around
2023-09-25 13:22:27 +09:00
Davis Mosenkovs
c884c5d075
Mijia LYWSD02: Set time in onSetTime()
2023-09-23 17:19:12 +03:00
Davis Mosenkovs
edce45dcc3
Mijia LYWSD02: Battery + setting temperature scale
...
Implement reading battery percentage.
Implement setting temperature scale used on clock display.
Communication protocol taken from: https://github.com/h4/lywsd02
2023-09-23 17:18:42 +03:00
vladkorotnev
889a1db801
Sony Wena 3: Initial support ( #3311 )
...
Co-authored-by: vladkorotnev <vladkorotnev@noreply.codeberg.org>
Co-committed-by: vladkorotnev <vladkorotnev@noreply.codeberg.org>
2023-09-23 10:31:41 +00:00
Gabriele Monaco
492119f7ee
Passing BarcodeId as value if not null
2023-09-19 16:52:19 +02:00
Gabriele Monaco
89f57243cf
Added loyalty cards support for the banglejs
2023-08-20 11:14:03 +02:00
Daniel Dakhno
8c48a49d3a
Mi Band HRX: added DeviceType for Mi Band HRX
...
Mi Band HRX: changed DeviceType key for MIBAND_HRX
Mi Band HRX: added migration to MIBAND_HRX
Mi Band HRX: added devicetype string for MIBAND_HRX
Huami HRX: removed redundant null check
Huami HRX: removed redundant supports callback
2023-09-18 22:08:09 +00:00
Arjan Schrijver
b8912976f1
Fossil/Skagen Hybrids: Show some toasts only on debug builds
2023-09-18 22:32:02 +02:00
José Rebelo
ee3ce06899
Zepp OS: Fix health settings on older Zepp OS versions
2023-09-17 23:17:22 +01:00
José Rebelo
3f518364f2
Amazfit GTR 3 Pro: Fix firmware and watchface upload
2023-09-17 20:52:33 +01:00
José Rebelo
d56a42a424
Zepp OS: Prevent AGPS file upload under low MTU
2023-09-17 16:39:39 +01:00
Gordon Williams
e18a991b13
Bangle.js: ensure char code 255 is translated properly into a String - this can then be sent to the App Loader. Fixes https://github.com/espruino/EspruinoAppLoaderCore/issues/55
2023-09-14 11:07:05 +01:00
Arjan Schrijver
557bfea35c
Add lint baseline, enable linting on CI, fix some reported errors ( #3291 )
...
This PR:
- fixes some errors reported by `gradlew lint` and the Android Studio "Code Inspection" tool
- adds a snapshot file `lint-baseline.xml` of the remaining lint errors and warnings to be used by the linter as baseline
- adds a job for CI to run `gradlew lint` on every build
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3291
Reviewed-by: José Rebelo <joserebelo@noreply.codeberg.org>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Co-committed-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
2023-09-11 09:17:04 +00:00
José Rebelo
7359186cee
Zepp OS: Fix Alexa initial connection
2023-09-10 22:57:23 +01:00
José Rebelo
43d02b9661
Zepp OS: Parse SPO2 sleep data
...
Matched against the Zepp spo2 database
2023-09-10 16:58:40 +01:00
José Rebelo
1ac6983cd3
Amazfit Bip 5: Add new deviceSource
2023-09-08 21:38:22 +01:00
José Rebelo
c912ea0378
Zepp OS: Send UV Index as integer
2023-09-04 21:25:12 +01:00
José Rebelo
a4c79a9395
Attempt to fix DST changes
2023-09-02 10:13:14 +01:00
illis
600658d86b
bangle.js: Use GPS location time, when reporting gps events, instead of the time at transmission.
2023-08-30 23:51:07 +12:00
Arjan Schrijver
d10745b0b3
Add getLocation method to WeatherSpec and use it for Zepp OS and Fossil/Skagen
2023-08-27 20:19:15 +00:00
José Rebelo
88b72d51c8
Zepp OS: Use WeatherSpec gps coordinates for sunset if available
2023-08-27 16:23:32 +01:00
José Rebelo
495a8dec89
Zepp OS: Map WeatherSpec v4 fields
...
- Map hourly values
- Fix sunset and sunrise location
- Add moon rise, set and phase
- Add air quality
- Add wind speed, wind direction, visibility, pressure
2023-08-27 15:13:57 +00:00
José Rebelo
564cb1bfcc
Introduce WeatherSpec v4
...
New fields for current weather:
- dewPoint
- pressure
- cloudCover
- visibility
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality
- latitude
- longitude
- feelsLikeTemp
- isCurrentLocation
New fields for daily forecast:
Deprecate the old "Forecast" class, which was not versioned, but keep it for backwards compatibility with old apps. Old WeatherSpec forecasts are de-serialized into the new Daily class. New fields:
- windSpeed
- windDirection
- uvIndex
- precipProbability
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality
Add hourly values:
- timestamp
- temp
- conditionCode
- humidity
- windSpeed
- windDirection
- uvIndex
- precipProbability
Air Quality:
- aqi (plume)
- co
- no2
- o3
- pm10
- pm25
- so2
- coAqi
- no2Aqi
- o3Aqi
- pm10Aqi
- pm25Aqi
- so2Aqi
2023-08-27 15:13:57 +00:00
Patric Gruber
b7e6a39ec1
use proper Optional
2023-08-26 19:39:05 +00:00
Patric Gruber
67eac90f69
merge new activity samples with samples from database on overlap
2023-08-26 19:39:05 +00:00
Patric Gruber
86f77e05a9
remove unnecessary type conversion
2023-08-26 19:39:05 +00:00
Patric Gruber
70a8ca5067
add heart rate measurment support for infinitime
2023-08-26 19:39:05 +00:00
José Rebelo
7e848d19fb
Zepp OS: Handle watchface change
2023-08-26 15:47:04 +01:00
José Rebelo
55d0697c44
Huami: Display explicit error if there is not enough free space
2023-08-26 12:14:23 +01:00
Daniel Dakhno
e36bd2eae7
Core: replaced device initialization logic with class based decision
...
Core: cleaned up imports
Device management: try single-argument-constructor first
Device management: fixed wrong device support class
Device management: added missing initial flags for Mi band 2 HRX
Device management: removed unused import
Device management: removed unused import
Device management: improved exception handling
Device management: prevent constructors from being optimized out
Device management: added UnknownDeviceSupport
2023-08-26 08:14:06 +00:00
José Rebelo
c01a33077e
Huami: Enforce a maximum of 16 items on the main screen
2023-08-25 13:58:32 +01:00
José Rebelo
da779e9864
Zepp OS: Improve weather code mapping
2023-08-23 15:48:26 +01:00
José Rebelo
fe58d64192
Zepp OS: Fix weather
2023-08-23 15:08:16 +01:00
José Rebelo
36e357ba67
Zepp OS: Add Alexa shortcut card
2023-08-21 15:55:58 +01:00
Daniel Dakhno
73d67d4093
Fossil/Skagen Hybrids: Embed menu_structure in watchface apps ( #3245 )
...
This PR aims to optimize the method of synchronizing the menu_structure for the openSourceWatchface by making the menu_structure request from the watch obsolete.
Instead, when a new menu_structure is sent to GB via the Intent `nodomain.freeyourgadget.gadgetbridge.Q_SET_MENU_STRUCTURE`, GB remembers that JSON.
Next time a watchface is built, the JSON is embedded into that app package so the watch doesn't forget the structure.
This requires a full GB rebuild to work properky.
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3245
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2023-08-19 20:48:53 +00:00
José Rebelo
454d766e88
Zepp OS: Add all remaining devices as experimental
2023-08-18 12:16:36 +01:00
José Rebelo
3fae1accb1
Zepp OS: Send calendar event location
2023-08-18 08:54:07 +01:00
Raghd Hamzeh
c8e19a2466
feat: add initial support for Amazfit Cheetah Pro
2023-08-16 22:19:48 -04:00
Ascense
14df63854f
Withings Steel HR: Support setting device language
2023-08-16 12:43:57 +00:00
José Rebelo
b297e767ad
Amazfit Bip 3 Pro: Initial support
2023-08-16 12:27:00 +01:00
José Rebelo
515b9efce8
Zepp OS: Fix calendar sync for Zepp OS 2
2023-08-14 18:40:39 +01:00
José Rebelo
d6567e553f
Zepp OS: Map barcode types for ITF, PDF_417 and DATA_MATRIX
2023-08-14 14:12:46 +01:00
José Rebelo
19e7003c95
Zepp OS: Query calendar service version
2023-08-14 10:16:40 +01:00
José Rebelo
13af55bd2e
Zepp OS: Add Zepp Coach display item and shortcut card
2023-08-12 13:18:20 +01:00
José Rebelo
ee5325418a
Zepp OS: Fix shortcut cards setting on Zepp OS 2.1
2023-08-12 13:18:20 +01:00
José Rebelo
180ed42ee1
Bangle.js: Handle fw and hw versions
2023-08-09 09:09:52 +01:00
José Rebelo
a95820d09e
Bangle.js: Fetch activity data
2023-08-08 22:11:14 +01:00
Arjan Schrijver
5a1e56a81e
Fossil/Skagen Hybrids: Fix unused alarms being pushed to the device
2023-08-07 15:27:25 +02:00
José Rebelo
2bda160fb5
Bangle.js: Allow enable/disable alarms
2023-08-06 00:23:05 +01:00
Daniele Gobbetti
063fb31931
Garmin VivoMoveHR: prevent app crash
...
Use a more robust cast approach to prevent application crashes in some corner cases (e.g. when writing Math.round()ed values)
Since I don't own a VivoMoveHR device I couldn't test for regressions on the watch.
2023-08-04 17:57:46 +02:00
Simon Sievert
0ae14fb80a
Bangle.js: Put JSON keys in quotes
...
this allows the watch to work with gadgetbridge while 'programmable' is set to off
2023-07-29 15:03:47 +02:00
hrglpfrmpf
c1fd0b77ad
Support for Withings Steel HR ( #2831 )
...
Co-authored-by: hrglpfrmpf <hrglpfrmpf@web.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831
Co-authored-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
Co-committed-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
2023-07-26 17:20:43 +00:00
José Rebelo
606e20a065
Amazfit GTR/S 3: Enable AGPS Updates
2023-07-25 21:47:12 +01:00
José Rebelo
dd91716680
Amazfit GTR 4: Whitelist fw 3.23.3.1 diff from 3.21.0.1
2023-07-24 20:08:35 +01:00
José Rebelo
3b7f4f7238
Allow for gatt write request responses
...
Allow for support classes to send a write request response to the
device, fi requested. The standard actually expects this to happen, but
Gadgetbridge did not originally support it, so there are concerns that
enabling this globally will cause issues for devices that do not expect
the response.
See also: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831#issuecomment-941568
2023-07-24 18:16:23 +01:00
José Rebelo
702651c119
Sony WH-1000XM3/WF-SP800N: Add volume setting
2023-07-23 19:40:11 +01:00
Damien 'Psolyca' Gaignon
916fb6b768
Add customize buffer size on BTBRQueue
2023-07-22 19:49:34 +00:00
José Rebelo
247a954920
Huami/Zepp OS: Improve reconnection
...
- Remove notification on unneeded characteristics for Zepp OS devices
- Reset MTU before initializing device, since the support class is
reused when reconnecting, and keeping the previous high MTU before
renegotiating again can make the initialization fail sometimes
(band will never reply)
- If any of the chunked characteristics is null during initialization,
mark the device as waiting for reconnect, which will make it retry the
connection later with a backoff delay.
2023-07-22 20:31:26 +01:00
José Rebelo
aa87c5abeb
Fix reconnect delay reset after all devices are initialized
2023-07-22 20:28:25 +01:00
José Rebelo
db4349bfc9
Huami: Display fetch operation description
2023-07-22 20:27:20 +01:00
José Rebelo
07ec8a095b
Zepp OS: Handle fitness goals in Huami2021Support
...
HuamiSupport handles configurations with performInitialize, which may
trigger a device reinitialization if called while the device is already
initializing.
Handle fitness goals in Huami2021Support, which should be one of the
last settings still missing.
2023-07-22 14:35:54 +01:00
José Rebelo
76576af324
Huami 2021: Do not initialize device for chunked ack
...
Since we now handle chunked acks as of 74dac3f5c
, these may happen
during device initialization. We must not use performInitialized, or
initializeDevice will be called twice, since the device will still not
be in INITIALIZING state.
2023-07-22 13:50:54 +01:00
Arjan Schrijver
f58c655449
Fossil/Skagen Hybrids: Strip unicode characters that the watch can't display
2023-07-22 12:13:25 +02:00
mormegil
8f5c32fbee
Fix PineTime firmware upload for Android 12 target
...
Now that the target SDK was changed to 31, the `no.nordicsemi.android:dfu`
library needs to be updated, as the current version dies on Android 12+.
However, the fixed version (1.12.0) also fixed MTU handling: The previous
versions ignored the MTU settings completely for legacy DFU.
<https://github.com/NordicSemiconductor/Android-DFU-Library/pull/260 >
And while our `PineTimeJFSupport` code always tried to set MTU to 517, it was
ignored. Which was good because PineTime does not support larger MTUs. So that
we need to set the correct low MTU now the library really applies it.
Note that the current version of the DFU library cannot be used right now, it
does not even compile because of androidx dependency mismatch.
Fixes #3203
2023-07-22 09:54:45 +00:00