José Rebelo
3bb969dc43
Data Management: Allow browse folders, open and share files
2024-08-20 17:18:35 +01:00
José Rebelo
09865f3943
Garmin: Store pending files for processing in the database
2024-08-20 15:34:48 +01:00
Daniele Gobbetti
d0b525f420
Garmin: minor fixes to some messages.
...
Prevent sending double status messages / ACKs if the actual outgoing message is also a status message.
Prevent sending ACKs for incoming ACK messages.
2024-08-20 15:59:32 +02:00
José Rebelo
f95d85d7e8
Redmi Smart Band Pro: Fix crash on connection
...
Requesting alarms crashes the device - #3766
2024-08-20 13:10:57 +01:00
José Rebelo
d3957ddf9a
Redmi Smart Band Pro: Ignore MAC during decryption
...
https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3766#issuecomment-2182676
2024-08-20 13:10:51 +01:00
José Rebelo
2fe53ee563
Dashboard: Draw widgets matching device resolution
2024-08-19 23:58:15 +01:00
José Rebelo
cc5eadbc62
CMF Watch Pro 2: Negotiate authentication key
2024-08-19 10:15:13 +01:00
José Rebelo
7514b50d19
Garmin: Avoid NPE if parts of HRV data are missing
2024-08-18 23:42:36 +01:00
Daniele Gobbetti
1d496b5ce5
Merge branch 'refs/heads/dg-garmin-fit-fixes'
2024-08-18 22:18:35 +02:00
Daniele Gobbetti
fd1e81ff66
Garmin: fix basetype handling and truncation
...
Numeric BaseTypes now return fractional part if a scale is set, the return type for numeric values is unboxed from Number class so that existing comparisons and checks keep working, but values are not truncated at nearest integer value.
The codegen class has been updated and some of the messages are re-generated with the new code, with the exception of Hrv* messages, since updating those needs updating the related sample types.
Test cases expected values have been adjusted to keep into account the fractional part of some fields.
Garmin: Fix HRV value and summary types
2024-08-18 22:15:06 +02:00
José Rebelo
2277c62cd2
Garmin Venu: Initial support
2024-08-18 18:21:55 +01:00
Daniele Gobbetti
51a0745b06
Garmin: add GENERIC activity and use it for imported GPX files
2024-08-18 12:40:16 +02:00
CaptKentish
8a72bf8895
Adding activity kind snorkeling to garmin devices ( #4002 )
...
Co-authored-by: CaptKentish <captkentish@noreply.codeberg.org>
Co-committed-by: CaptKentish <captkentish@noreply.codeberg.org>
2024-08-18 10:26:03 +00:00
Martin.JM
10403a375b
Huawei: Implement new activity types
2024-08-18 11:06:43 +02:00
José Rebelo
f0825d1ab6
Garmin: Enable fit re-processing in non-debug builds
...
- Make workout summary persisting idempotent
- Do not delete any data from the database during re-processing, since
the entire process is idempotent now
- Improve feedback during re-processing using toasts
- Prevent re-processing from being started multiple times in parallel
2024-08-17 20:57:11 +01:00
José Rebelo
94fae05b02
Mark getActivitySamples as deprecated and disable tests
...
Test regression introduced by the refactor in 34378a4a1
The function is not used a lot, and it's currently misleading alongside
getAllActivitySamples, so it could eventually be removed and the logic
simplified.
2024-08-17 19:56:17 +01:00
José Rebelo
b9940c510b
Garmin: Fix crash on decoding null gps coordinates
2024-08-17 19:47:34 +01:00
José Rebelo
0e985d5461
Garmin: Fix crash on large gpx import
2024-08-17 14:41:30 +01:00
José Rebelo
79c2fc21a4
Garmin: Enable flashing
2024-08-17 12:13:08 +01:00
José Rebelo
efc6144a28
Prevent overlap of connection status for big font sizes
2024-08-17 11:37:37 +01:00
José Rebelo
90e36e0065
Push implicit callback modify and write request response to subclasses
...
Push the legacy values as overrides to all subclasses, ensuring that new
devices start with the expected correct behavior.
Overrides can be removed from the subclasses if devices are confirmed to
work without them / not rely on the erroneous behavior.
2024-08-17 10:12:57 +01:00
Vitaliy Tomin
1940db7204
huawei: Handle some watchface install errors
...
* handle too many watchface installed
* handle insufficient space
* sort related code while at it
2024-08-17 08:30:46 +00:00
dependency-bot
cea51e6ef8
Update dependency org.slf4j:slf4j-api to v2.0.16
2024-08-17 08:29:27 +00:00
Daniele Gobbetti
0a51598204
Fixup: Garmin: fix major issue with field encoding/decoding
...
Temperature offset must have its sign flipped.
2024-08-17 08:00:26 +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
Daniele Gobbetti
cd46e24819
Garmin: Mimic auth negotiation requested byte and flags.
...
The previous attempt to send all zeroes (in 7fa5cd1be5
) didn't yield actionable progress, hence we try sending back what the watch sent to us.
Blindly implemented based on the legacy vivomoveHR code, not tested against real devices.
2024-08-16 19:26:44 +02:00
Daniele Gobbetti
3f8eeebc5a
Garmin: simplify handling canned replies and only send error if no reply is set at all
2024-08-16 19:18:50 +02:00
Daniele Gobbetti
29787d0c9b
Garmin: add gpx import functionality for models that support it
...
Add a Field definition for GPS coordinates and remove the corresponding method from GarminUtils.
Add a new message COURSE and some fields to other known messages.
Also centralize some utility methods in GpxParser and GpxTrack, adapting ZeppOsGpxRouteFile.
Be aware that the capability used to identify the supported watches might be the wrong one.
2024-08-16 18:52:13 +02:00
Daniele Gobbetti
f2f6536ea8
Garmin: fix major issue with field encoding/decoding
...
Our implementation of scale and offset was backwards: we were adding offset and then dividing by scale when decoding fields, but the publicly available protocol description dictates otherwise ( http://web.archive.org/web/20240519102659/https://developer.garmin.com/fit/protocol/#scaleoffset ): "the binary quantity is divided by the scale factor and then the offset is subtracted".
For this reason the sign of GARMIN_TIME_EPOCH in Timestamp field definition must be flipped as well.
2024-08-16 13:57:00 +02:00
José Rebelo
404e432adf
Map activity kinds for Garmin, CMF and Zepp OS
2024-08-15 16:36:07 +01:00
José Rebelo
9354765d34
Garmin: Fix typo on TRAINING subtype code
2024-08-14 23:19:01 +01:00
José Rebelo
34378a4a11
Refactor ActivityKind into an enum
2024-08-14 23:13:12 +01:00
CaptKentish
8c7cc98d36
Garmin : map more activities ( #3848 )
...
Co-authored-by: CaptKentish <captkentish@noreply.codeberg.org>
Co-committed-by: CaptKentish <captkentish@noreply.codeberg.org>
2024-08-14 22:11:31 +00:00
José Rebelo
7c9016b5a4
Fossil: Fix exception when support class is terminated
2024-08-14 21:58:39 +02:00
Daniele Gobbetti
7fa5cd1be5
Garmin: further work for auth negotiation
...
Add status message parsing and change the reply logic for watch-initiated Auth (in attempt to fix #3986 ): before this changeset the phone would reply with a generic ACK and then send a request to the watch for setting the auth (with all zeroes);
after this changeset the phone replies with a specific auth ack/status message but it ignores what the watch requested and acknowledges back all zeroes.
Blindly implemented based on the legacy vivomoveHR code, not tested against real devices.
2024-08-14 10:04:32 +02:00
Severin von Wnuck-Lipinski
d1b4e013d3
Add defaults and fix NPE for Soundcore Motion 300
2024-08-12 22:55:26 +02:00
José Rebelo
9ca561a30a
Garmin: Fix weather temperature and speed units
2024-08-10 20:00:56 +01:00
José Rebelo
190a2b1108
Update commons-lang3 to 3.16.0
2024-08-10 12:16:36 +01:00
a0z
82657febf8
Garmin body energy level ( #3964 )
...
Co-authored-by: a0z <a0z@tutamail.com>
Co-committed-by: a0z <a0z@tutamail.com>
2024-08-09 21:35:47 +00:00
Severin von Wnuck-Lipinski
69441a6a79
Use SoundcorePacket for Liberty 3 Pro
2024-08-09 18:18:47 +00:00
José Rebelo
c06e22b85e
Huawei: Fix NPE when notification has no body
2024-08-08 23:30:52 +01:00
Severin von Wnuck-Lipinski
be3f8375f9
Add support for Soundcore Motion 300
2024-08-07 20:44:34 +00:00
Severin von Wnuck-Lipinski
1885b05168
Fix Soundcore Liberty package name
2024-08-07 20:44:34 +00:00
Severin von Wnuck-Lipinski
1a0ca0ce52
Move Soundcore Liberty code into subfolder
2024-08-07 20:44:34 +00:00
José Rebelo
2636dd85f1
Remove dynamic shortcut when deleting device
2024-08-07 20:48:43 +01:00
Daniele Gobbetti
1d4c85b732
Garmin: implement (some kind of) auth negotiation message
...
Blindly implemented based on the legacy vivomoveHR code, not tested against real devices.
2024-08-07 14:58:26 +02:00
José Rebelo
14478f89ac
Fix typo in GLONASS
2024-08-06 20:54:53 +01:00
José Rebelo
a96432a8a3
Garmin Fenix 5 Plus: Experimental support
2024-08-06 19:36:37 +01:00
Martin.JM
f15f60542d
Huawei: Fix for Huawei Band 9
...
Linked to #3784 .
2024-08-06 18:28:09 +00:00
José Rebelo
dd93133168
Garmin Forerunner 965: Initial support
2024-08-05 23:25:56 +01:00
José Rebelo
7efeb14ca4
Test Device: Add HRV and body energy
2024-08-05 21:10:01 +01:00
José Rebelo
2ed6247658
Improve HR Y axis in sleep chart
2024-08-05 20:31:31 +01:00
José Rebelo
61e2411081
Garmin: Parse and persist body energy
2024-08-04 22:59:29 +01:00
José Rebelo
e19325fce9
Update HRV labels, use enum for status
2024-08-04 22:36:02 +01:00
a0z
f3b1a06d47
HRV Status ( #3953 )
...
Co-authored-by: a0z <a0z@tutamail.com>
Co-committed-by: a0z <a0z@tutamail.com>
2024-08-04 21:35:19 +00:00
José Rebelo
996d176cc2
Fix stress colors
2024-08-04 18:34:15 +01:00
a0z
a3e6d446d7
Sleep tabs refactor
2024-08-04 17:33:49 +00:00
José Rebelo
2f21c4bd9d
Garmin: Fix sleep data if there is a gap in activity samples
2024-08-04 18:04:37 +01:00
José Rebelo
60d5a2ae70
Display warning on find phone without companion pairing
2024-08-04 14:10:11 +01:00
Vitaliy Tomin
bf6d0d0f83
[Huawei] Add Huawei Watch GT Runner gadget
...
* created new gadget classes
* make tag 0x01 in TimeRequest response optional. There is no
such tag on GT Runner, at least on HarmonyOS 2 firmware.
2024-08-03 14:49:05 +00:00
Fjuro
02da9e287c
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:22 +02:00
Fqwe1
47ebc3c87c
Translated using Weblate (Ukrainian)
...
Currently translated at 91.2% (2630 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-08-03 11:08:22 +02:00
Rex_sa
867d05455e
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-08-03 11:08:22 +02:00
陈少举
c91fc3b0e3
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
arjan-s
6d661180ae
Translated using Weblate (Dutch)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
7e94b0503b
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
0que
b92e8a2092
Translated using Weblate (Russian)
...
Currently translated at 99.2% (2859 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-08-03 11:08:21 +02:00
gallegonovato
d24c754845
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-08-03 11:08:21 +02:00
skdubg
79d189a89e
Translated using Weblate (German)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-08-03 11:08:21 +02:00
Rex_sa
e6fd88d470
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-08-03 11:08:21 +02:00
陈少举
ee25f8369e
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
be43bec524
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2882 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
TheFocusDev
200436f9aa
Translated using Weblate (Hungarian)
...
Currently translated at 79.4% (2289 of 2882 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-08-03 11:08:21 +02:00
Rex_sa
1ef7a56738
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (2881 of 2881 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-08-03 11:08:21 +02:00
陈少举
3c21bb11e0
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2881 of 2881 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
7ed74cd517
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2881 of 2881 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
gallegonovato
5f68482242
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (2881 of 2881 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-08-03 11:08:21 +02:00
skdubg
c063f07cc0
Translated using Weblate (German)
...
Currently translated at 100.0% (2881 of 2881 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-08-03 11:08:21 +02:00
gallegonovato
403ec201be
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (2880 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-08-03 11:08:21 +02:00
Fjuro
f080981d3b
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2880 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00
Rex_sa
5b9951b71e
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (2880 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
5b15ef6b57
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2880 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
mehturt
c4cf33e2a4
Translated using Weblate (Slovak)
...
Currently translated at 17.2% (496 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sk/
2024-08-03 11:08:21 +02:00
陈少举
be9a2e61be
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2880 of 2880 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
陈少举
73bff3a362
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2878 of 2878 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
ebc568105a
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2878 of 2878 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
mehturt
8a5977aecb
Translated using Weblate (Slovak)
...
Currently translated at 16.2% (468 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sk/
2024-08-03 11:08:21 +02:00
Vitor
aa8c7b17a9
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 75.1% (2163 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pt_BR/
2024-08-03 11:08:21 +02:00
Fjuro
4f32182e47
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00
Fjuro
0aed9e2312
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00
Rex_sa
47ae695fa9
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-08-03 11:08:21 +02:00
mehturt
0ccf847c0a
Translated using Weblate (Slovak)
...
Currently translated at 15.5% (447 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sk/
2024-08-03 11:08:21 +02:00
陈少举
7e2972bbd3
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00
Oğuz Ersen
aa4bee0d69
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-08-03 11:08:21 +02:00
0que
c37374a1ed
Translated using Weblate (Russian)
...
Currently translated at 99.3% (2858 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-08-03 11:08:21 +02:00
Vitor
21e660ce94
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 74.8% (2154 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pt_BR/
2024-08-03 11:08:21 +02:00
skdubg
e4045b614d
Translated using Weblate (German)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-08-03 11:08:21 +02:00
Fjuro
e45decb9d8
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2877 of 2877 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00
Fjuro
e7fd1c664d
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2875 of 2875 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00
Fjuro
b7be3967a0
Translated using Weblate (Czech)
...
Currently translated at 100.0% (2875 of 2875 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-08-03 11:08:21 +02:00