1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-26 02:25:50 +01:00
Commit Graph

10344 Commits

Author SHA1 Message Date
José Rebelo
5ad6d07983 Garmin Forerunner 255S: Initial support 2024-06-20 20:39:52 +01:00
José Rebelo
5824a25ebb Garmin: Do not suggest unbind before pair
Watches will connect just fine even if already paired in bluetooth
settings.
2024-06-19 21:20:33 +01:00
Arjan Schrijver
698469ae75 Test Device: Make activity data more realistic 2024-06-19 21:53:43 +02:00
Martin.JM
72dcb3250e Hauwei: Extend debug request to allow setting the sliced flag 2024-06-18 20:45:38 +00:00
José Rebelo
d946053bcb Garmin: Allow fetching unknown files 2024-06-16 22:21:46 +00:00
Arjan Schrijver
bad29bbeb8 Dashboard: Add monthly goals indicator and legend to calendar view 2024-06-16 23:36:19 +02:00
José Rebelo
afff822ab1 Garmin Instinct 2X Solar: Fix recognition of some watches 2024-06-16 17:38:42 +01:00
José Rebelo
5be0c612c6 Garmin Venu 2: Initial support 2024-06-16 17:35:00 +01:00
José Rebelo
e2d5a9e4d7 Garmin: Fix weather wind direction 2024-06-16 16:55:48 +01:00
José Rebelo
134983010a Garmin: Map more fit file types
From the device.fit of a Fenix 7S
2024-06-16 13:19:39 +01:00
enoint
c847079cd2 fix device name regex 2024-06-16 12:03:34 +00:00
enoint
2ec568bec7 add support for Hama Fit6900 watch 2024-06-16 12:03:34 +00:00
José Rebelo
7cafbc2002 Prevent some bluetooth events from starting Gadgetbridge 2024-06-15 23:26:58 +01:00
José Rebelo
69fae56a8c Fix battery icon when device connected 2024-06-15 21:31:07 +01:00
José Rebelo
d4dc686148 Fix crash when opening battery status activity 2024-06-14 20:38:07 +01:00
José Rebelo
527773d3d8 Garmin Forerunner 265: Initial support 2024-06-14 19:47:34 +01:00
Daniele Gobbetti
74fbadf553 Pebble: fix webview crash (on android 14)
Older android version also possibly impacted
2024-06-13 16:26:39 +02:00
José Rebelo
12b3ff34e2 Garmin: Send all notification types as foreground
Sending notifications for some apps is unexpected for most users, which
was generating some bug reports. For now, send all notifications as
foreground, at least until we can make what is happening more clear or
configurable.
2024-06-11 20:50:06 +01:00
José Rebelo
a574475951 Garmin Forerunner 255: Initial support 2024-06-11 19:57:56 +01:00
hrdl
14d5c79d02 Add Element, ElementX, and Molly to the recognized applications and as generic chat 2024-06-11 20:48:58 +02:00
hrdl
629f487c70 Add KDE Itinerary and KTrip as transit notifications 2024-06-11 20:44:00 +02:00
José Rebelo
010186b2a9 Add note on "Keep activity data on device" preference 2024-06-10 17:10:26 +01:00
José Rebelo
8f98ea02ec Garmin Fenix 7S: Initial support 2024-06-10 16:48:06 +01:00
José Rebelo
4926f449ec Display toast on authentication failures 2024-06-10 16:29:53 +01:00
José Rebelo
76d633cde6 Make battery thresholds configurable 2024-06-10 12:55:27 +00:00
Peter Kannewitz
243c1ba039 Xiaomi: swim workout parser lane length fix (#3823)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3823
Co-authored-by: Peter Kannewitz <peter.kannewitz@posteo.net>
Co-committed-by: Peter Kannewitz <peter.kannewitz@posteo.net>
2024-06-10 11:15:18 +00:00
José Rebelo
f85c387edf Garmin Fenix 6 Sapphire: Fix typo in coordinator name 2024-06-09 14:40:38 +01:00
José Rebelo
241ec26170 Garmin Fenix 7 Pro: Initial support 2024-06-09 14:39:10 +01:00
José Rebelo
13cbec2a63 Garmin Venu 3S: Initial support 2024-06-09 09:13:12 +01:00
José Rebelo
0f80554a30 Garmin: Split coordinator packages by series 2024-06-09 09:12:44 +01:00
Daniele Gobbetti
fc8b959fea Garmin: only add the cache-control header when updating the AGPS file
Prevents it being stale for too long if the user forgets to fetch an updated file.
If the file has to be updated on the watch the response (http status 200) is sent and cached for 14400 seconds, for this period the watch will not request the file again.
Subsequent requests (http status 304) are very small and should not impact battery life negatively, hence they are sent without adding caching directives.
2024-06-08 16:29:52 +02:00
André Büsgen
a80054157a Bangle.js: Add Sleep as Android support (#3785)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3785
Co-authored-by: André Büsgen <andre.buesgen@posteo.de>
Co-committed-by: André Büsgen <andre.buesgen@posteo.de>
2024-06-08 12:46:09 +00:00
José Rebelo
b7aec071ff Garmin: Realtime settings 2024-06-07 23:39:12 +01:00
José Rebelo
0f8889498e Garmin: Send phone volume to watch 2024-06-07 22:53:17 +01:00
José Rebelo
47e3cbcb33 Garmin Fenix 6 Sapphire: Initial support 2024-06-07 21:27:37 +01:00
Ilya Nikitenkov
1007feef60
Sony LinkBuds S: Added additional capabilities 2024-06-07 00:05:47 +03:00
Martin.JM
a90e1be0ee Huawei: Generalize HR and SpO2 support 2024-06-04 11:23:49 +00:00
Martin.JM
b43d87f6bc Huawei: Weather no longer depends on weather start response 2024-06-04 11:20:10 +00:00
Gordon Williams
0c19010ca2 Bangle.js: when converting text to bitmaps, try and split up emoji so we can render just those in color.
Rendering text as well uses more memory but means text is rendered white, which doesn't work on some backgrounds
2024-06-03 15:58:05 +01:00
José Rebelo
4459b30ee6 Intent API: Add broadcast on activity sync finish 2024-06-02 22:03:12 +01:00
Martin.JM
15ba9e6c85 Improve GPS support for Huawei gadgets 2024-06-02 20:51:02 +00:00
José Rebelo
0e9c709a59 Xiaomi: Ignore activity files without timestamp and version
Some watches will send a sequence of zeroes, which would make activity
fetch become stuck, as the file does not exist.
2024-06-02 21:48:41 +01:00
José Rebelo
09bcb782da Garmin Epix Pro: Fix typo in device name 2024-06-02 21:00:25 +01:00
José Rebelo
42d28cc988 Garmin Epix Pro: Initial support 2024-06-02 20:43:05 +01:00
José Rebelo
64258248b6 Garmin: Allow install agps for sony cpe url 2024-05-31 20:15:15 +01:00
José Rebelo
5e9f5068ad Garmin: Match exacted supported device names 2024-05-30 18:51:33 +01:00
José Rebelo
15f922276b Garmin Instinct 2X Solar: Initial support 2024-05-30 18:47:28 +01:00
François Chavant
b647c7ca48 Add Garmin Instinct 2S Solar 2024-05-30 19:43:52 +02:00
Peter Kannewitz
9acdd87029 Xiaomi: add swimming workout type (#3798)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3798
Co-authored-by: Peter Kannewitz <peter.kannewitz@posteo.net>
Co-committed-by: Peter Kannewitz <peter.kannewitz@posteo.net>
2024-05-29 20:52:26 +00:00
José Rebelo
72162469a1 Xiaomi: Fix notification for apps in work profile 2024-05-28 22:45:57 +01:00
José Rebelo
cdf21ecdb4 Garmin: Make characteristics hex representation explicit
Avoid mixing decimal and hex representations.
2024-05-28 20:30:00 +01:00
Daniele Gobbetti
537b0580b5 Garmin: fix for watch staying in synchronizing state on first connection
Reported in issue 3269, https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3269#issuecomment-1845355

Also run refactor code on the whole file
2024-05-28 12:35:55 +02:00
José Rebelo
e5d41e75ad Garmin Vivosmart 5: Initial support 2024-05-27 20:08:00 +01:00
José Rebelo
2fa22224bd Garmin: Determine ML characteristic dynamically 2024-05-27 20:08:00 +01:00
José Rebelo
ef11dd0f16 Flush logs before sharing 2024-05-26 15:38:11 +01:00
José Rebelo
7b21f85613 Garmin Venu 2 Plus: Initial support 2024-05-26 09:04:57 +01:00
José Rebelo
db33bc3ee9 Xiaomi Spp: Log plaintext payload
It's very hard to troubleshoot issues with Xiaomi Spp devices from logs
without having access to the plain-text payload, so we now log it.
2024-05-25 09:35:25 +01:00
José Rebelo
b704276e49 Garmin: Fix 304 response when agps matches cache 2024-05-24 22:24:09 +02:00
Daniele Gobbetti
ba9e5c8a77 Garmin: various minor changes
remove message placeholders referring to legacy code,
remove try-catch from the weather data message building method
lower the frequency of music control messages
2024-05-24 22:24:09 +02:00
Daniele Gobbetti
9c4da444cf Garmin: fix protobuf chunked fragments handling
remove chunk from the map once it is complete if it is incoming, fix the removal of outgoing chunks
also return a warn log message if the protobuf status is not OK.
2024-05-24 22:24:09 +02:00
José Rebelo
5224244f74 Garmin: Fix edge case in sleep overlay
If the sleep session ends outside the queried time range, we need to
fetch the next sleep stage outside the range so that we can overlay it
properly.
2024-05-24 22:24:09 +02:00
José Rebelo
8e1511bd6e Garmin: Fix overcounting of steps in some cases
We need to take into account the previous sample that is outside the
range that was queried, so that we can correct the first sample in the
range.
2024-05-24 22:24:09 +02:00
José Rebelo
39bbd2e579 Garmin: Improve transaction logging 2024-05-24 22:24:09 +02:00
José Rebelo
d741b6ff66 Garmin: Ignore agps request if etag matches
Some watches reboot on http 304
2024-05-24 22:24:09 +02:00
José Rebelo
ca8d595493 Garmin: Configure contacts 2024-05-24 22:24:09 +02:00
José Rebelo
f3cc07af27 Garmin: Fix COBS encoding of long non-zero sections 2024-05-24 22:24:09 +02:00
José Rebelo
88f687496c Garmin: Improve logging during file downloading 2024-05-24 22:24:09 +02:00
José Rebelo
88a9c81dcc Garmin: Implement etag for agps requests 2024-05-24 22:24:09 +02:00
Daniele Gobbetti
ea1c1c808c Change java package of garmin protobuf files 2024-05-24 22:24:09 +02:00
Daniele Gobbetti
0cf73a2120 Remove all the legacy vivomove HR code.
Also replaces support for device through the new garmin code path.
The Entities are preserved to enable on-demand database migration in case some user had previously synchronized data.
2024-05-24 22:24:09 +02:00
José Rebelo
2f729dbe29 Garmin: Allow agps updates for multiple URLs 2024-05-24 22:24:09 +02:00
lorddavidiii
a0943649bd Initial support for Garmin Vivoactive 4 2024-05-24 22:24:09 +02:00
José Rebelo
6f9f49aa4a Garmin Venu 3: Fix device name 2024-05-24 22:24:09 +02:00
José Rebelo
2ac83fbc31 Garmin: Set default icon to a round watch 2024-05-24 22:24:09 +02:00
José Rebelo
f210b3b732 Garmin: Fix overcounting of steps
When going past midnight we were not resetting the number of steps,
resulting in a negative value, which would cause the next sample to
overcount.
2024-05-24 22:24:09 +02:00
Daniele Gobbetti
709afc5df7 Garmin: fix spurious protobuf messages 2024-05-24 22:24:09 +02:00
Daniele Gobbetti
2a9a01e40b Garmin: improve weather information
Add Aqi Field Definition and field to today weather and daily forecast, as both are available in WeatherSpec.
Add Feels like temperature to hourly forecast but populate with the forecasted temperature as the field is not available in Weatherspec for hourly.
Use temperature Field Definition for dew point and add it to today's weather.

Fields dew point and air quality could have been removed from the hourly weather definition but are kept in to test compatibility of these changes with watches.
2024-05-24 22:24:09 +02:00
Daniele Gobbetti
ebe371de3c Garmin: Remove handling of legacy cache directory 2024-05-24 22:24:09 +02:00
Daniele Gobbetti
c3a6db3309 Garmin: adjust test after adding distance field 2024-05-24 22:24:09 +02:00
José Rebelo
553f6171e6 Garmin: Map all supported workout types 2024-05-24 22:24:09 +02:00
José Rebelo
8be679d1fd Garmin: Overwrite files if local size is 0, omit date if equal to garmin epoch 2024-05-24 22:24:09 +02:00
José Rebelo
aee42ec1be Garmin: Fallback to session for workout type 2024-05-24 22:24:08 +02:00
José Rebelo
4d78fdd883 Garmin: Fix overcounting of steps 2024-05-24 22:24:08 +02:00
José Rebelo
904c995a3e Garmin: Throttle notification updates on fit parsing 2024-05-24 22:24:08 +02:00
José Rebelo
6f5f944235 Garmin: Fetch fit files HRV status 2024-05-24 22:24:08 +02:00
José Rebelo
f7bfd56d46 Garmin: Process downloaded fit files asynchronously
Fixes occasional ANR while syncing activity data.
2024-05-24 22:24:08 +02:00
José Rebelo
a25d8eae30 Activity Summary: Draw fit file if available 2024-05-24 22:24:08 +02:00
José Rebelo
0b07f36817 Garmin: Persist and display activity
- Steps, hr, intensity
- Sleep stages
- Stress
- SpO2
- Workouts
2024-05-24 22:24:08 +02:00
José Rebelo
89046d0815 Garmin: Improve computed timestamp parsing
timestamp16 must be applied against garmin epoch.
2024-05-24 22:24:08 +02:00
José Rebelo
bdd698b7d3 Garmin: Map more global fit messages
* Events
* Goals
* Gps Metadata
* Laps
* Record
* Respiration rate
* Sessions
* SpO2
* Time in Zone
2024-05-24 22:24:08 +02:00
José Rebelo
92b838f90c Garmin: Fix logging during tests 2024-05-24 22:24:08 +02:00
Lolek
1ecb1feb4d Initial support for Garmin Swim 2 2024-05-24 22:24:08 +02:00
hrdl
165f41a08f Add AGPS for Garmin Forerunner 245 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
906ad0c68f Garmin: enable AGPS update for all Instinct 2 devices 2024-05-24 22:24:08 +02:00
kuhy
880e18fffc Garmin protocol: show AGPS data status in settings 2024-05-24 22:24:08 +02:00
kuhy
91c2408170 Garmin protocol: add AGPS data checks 2024-05-24 22:24:08 +02:00
kuhy
22fafebd91 Garmin protocol: install AGPS data as firmware 2024-05-24 22:24:08 +02:00
kuhy
9f9441ba01 Garmin protocol: improve detection of successfully sent files (DataTransferHandler) 2024-05-24 22:24:08 +02:00
kuhy
4152ec1570 Garmin protocol: add support for AGPS data retrieval 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
457ff8b88f Fixup: Introduce device specific writable directory (MAC address)
Add logic to not fetch again files which had the previously defined name
2024-05-24 22:24:08 +02:00