~noodlez1232
86460ea7c6
AsteroidOS: Fix the weather service + set-time
...
The weather service was suffering from an off-by-one error. This is now
fixed. The weather also sends more days in its forecast. There is an
issue open in the AsteroidOS weather app to perhaps add more days to its
forcast so this should cover for it.
There is also a fix for the time not being set upon connection. I'm not
quite sure why this wasn't happening before, but it is happening now. It
might be a bit kludgy, but it is what it is.
2024-09-17 08:03:20 +00:00
BrunoWallner
4f93ac627d
Fix activity charts generation ( #4114 )
...
Co-authored-by: BrunoWallner <b.lucab1211@gmail.com>
Co-committed-by: BrunoWallner <b.lucab1211@gmail.com>
2024-09-16 22:41:17 +00:00
José Rebelo
c14b41b9c6
Garmin: Handle realtime hrv, respiration, spo2
2024-09-16 19:40:44 +00:00
José Rebelo
5bc114b062
Garmin: Manual HR measurements and realtime HR/steps
2024-09-16 19:40:44 +00:00
José Rebelo
e5b91d3ac3
Garmin Forerunner 245 Music: Initial support
2024-09-16 20:28:00 +01:00
a0z
bbe5dcffb0
Map more activity kinds with existing icons
2024-09-16 10:24:41 +02:00
José Rebelo
edd1a660da
Xiaomi: Fix gps track parsing
...
The crc at the end was not being taken into account to check the file
size.
2024-09-15 18:35:32 +01:00
Daniel Dakhno
e3e5c20a5a
Cycling Sensor: added live data view
...
Cycling Sensor: I18N
Cycling Sensor: honor metric/imperial setting
Cycling Sensor: re-use existing speed strings
2024-09-15 16:40:25 +00:00
José Rebelo
5ebb3b85b0
Zepp OS: Fix reminder slot initialization ( #3137 , #4098 )
2024-09-15 17:22:21 +01:00
José Rebelo
c72966bc6c
Update mockito to 5.13.0
2024-09-15 10:19:19 +01:00
José Rebelo
d95d669d97
Update protobuf to v4.28.1
2024-09-15 10:15:15 +01:00
José Rebelo
eb965faacf
Update commons-lang3 to 3.17.0
2024-09-15 10:09:02 +01:00
José Rebelo
1e3e03d7e1
Zepp OS 3.5: Add menu items for map, heart rate push, night display
2024-09-14 15:50:53 +01:00
José Rebelo
0b6f36047e
FwAppInstallerActivity: Ignore updates from unrelated devices
2024-09-14 13:36:58 +01:00
José Rebelo
1f95258e0e
Amazfit T-Rex 3: Experimental support
2024-09-14 13:24:39 +01:00
José Rebelo
106f1fcdd6
Amazfit Active / GTR 3 Pro: Add new device sources
2024-09-14 13:24:39 +01:00
Me7c7
e469ecd463
Huawei: Optional tag for watchface params
...
Related to this crash on Huawei Watch GT:
nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiPacket$MissingTagException: Missing tag: 6
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getBytes(HuaweiTLV.java:219)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getString(HuaweiTLV.java:239)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Watchface$WatchfaceParams$Response.parseTlv(Watchface.java:125)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.Request.handleResponse(Request.java:243)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.ResponseManager.handleData(ResponseManager.java:131)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiSupportProvider.onCharacteristicChanged(HuaweiSupportProvider.java:875)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiLESupport.onCharacteristicChanged(HuaweiLESupport.java:80)
at nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEQueue$InternalGattCallback.onCharacteristicChanged(BtLEQueue.java:679)
at android.bluetooth.BluetoothGattCallback.onCharacteristicChanged(BluetoothGattCallback.java:194)
at android.bluetooth.BluetoothGatt$1$8.run(BluetoothGatt.java:581)
at android.bluetooth.BluetoothGatt.runOrQueueCallback(BluetoothGatt.java:948)
at android.bluetooth.BluetoothGatt.-$$Nest$mrunOrQueueCallback(Unknown Source:0)
at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:575)
at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:329)
at android.os.Binder.execTransactInternal(Binder.java:1299)
at android.os.Binder.execTransact(Binder.java:1253)
2024-09-13 10:05:38 +03:00
Vitaliy Tomin
4e7b83bebf
huawei: Make more tags optional for app managemnet
...
* solves this crash on Honmor GS Pro:
09:45:29.115 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.s.b.BtBRQueue - Received 26 bytes: 5A0015002A068110820E0301260404000000030503322E302B86
09:45:29.118 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 81 - Value: 820E0301260404000000030503322E30}
09:45:29.120 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.s.d.h.ResponseManager - Service: 2a, command: 6, handled by: class nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.GetAppInfoParams
09:45:29.122 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 82 - Value: 0301260404000000030503322E30}
09:45:29.124 [Read Thread for HONOR Watch GS Pro-BD1] DEBUG n.f.g.d.h.HuaweiTLV - Parsed TLV: {tag: 3 - Value: 26} - {tag: 4 - Value: 00000003} - {tag: 5 - Value: 322E30}
09:45:29.126 [Read Thread for HONOR Watch GS Pro-BD1] ERROR n.f.g.s.d.h.r.Request - Parse TLV exception
nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiPacket$MissingTagException: Missing tag: 6
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getBytes(HuaweiTLV.java:219)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiTLV.getString(HuaweiTLV.java:239)
at nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.App$AppInfoParams$Response.parseTlv(App.java:129)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.requests.Request.handleResponse(Request.java:243)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.ResponseManager.handleData(ResponseManager.java:131)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiSupportProvider.onSocketRead(HuaweiSupportProvider.java:880)
at nodomain.freeyourgadget.gadgetbridge.service.devices.huawei.HuaweiBRSupport.onSocketRead(HuaweiBRSupport.java:74)
at nodomain.freeyourgadget.gadgetbridge.service.btbr.BtBRQueue$1.run(BtBRQueue.java:87)
2024-09-12 22:49:11 +00:00
José Rebelo
183bf8725f
Huawei: Re-parse workout details when opening details
2024-09-12 22:47:13 +00:00
José Rebelo
967ae31b7a
HuaweiWorkoutGbParser: Use ActivitySummaryData
2024-09-12 22:47:13 +00:00
Vitaliy Tomin
02286d2c2c
huawei: Add honor watch gs pro gadget
2024-09-12 12:36:11 +08:00
José Rebelo
9fcd463bfc
Fix import of some hashset preference values from xml
2024-09-11 22:28:56 +00:00
José Rebelo
be9cc348d1
Allow full backup/restore from a zip file
2024-09-11 22:28:56 +00:00
Gordon Williams
53144ff220
Bangle.js: ensure we escape char code 16 as it's not 100% foolproof to use
2024-09-11 14:17:39 +01:00
José Rebelo
721b582b87
Fix discovery of connected devices
...
Devices might be connected at bluetooth-level, but not yet paired in
Gadgetbridge. These devices will not fire discovery events, so
Gadgetbridge would not be able to discover them.
2024-09-10 22:23:57 +01:00
Daniel Dakhno
cde9dfb6a5
BLE Intent API: fixed characteristic read check
2024-09-10 22:59:27 +02:00
José Rebelo
4875b0e1fe
Fix charts icon color
2024-09-10 19:51:12 +01:00
Arjan Schrijver
e8c295df51
Colmi R0x: Fix sleep gap at midnight in dashboard today widget
2024-09-09 22:05:02 +02:00
José Rebelo
ea41bbd1a9
Garmin: Fix multiple FitAsyncProcessor running in parallel
2024-09-09 19:37:32 +01:00
José Rebelo
14d76cf59b
Huami: Fetch workouts during normal sync
2024-09-09 12:25:05 +01:00
José Rebelo
6843271ac2
Bluetooth Intent API: Add disconnect action ( #4090 )
2024-09-09 00:33:13 +01:00
José Rebelo
b1c064d9ca
BLE Intent API: Fix build after rebase
2024-09-09 00:32:53 +01:00
Daniel Dakhno
aae1d40d54
Core: added first iteration of BLE intent API
...
Core: added BLE GATT Client
Core: fixed string comparisons
Core: unified intent APIs
Core: fixed notification and publication bugs
Core: extracted BLE Intent API logic
Core: introduced finer BLE API permissions
Core: use device name when adding test device through DiscoveryActivity
Core: avoid reporting same device state multiple times
Core: read firmware version on GATT Client connect connect
Core: use onSendConfiguration instead of direct subscription
Core: I18N for GATT API settings
Core: I18N for GATT API settings
Core: only show BLE API settings for BLE devices
Core: refactored intent handler
Core: extracted ble API to own class
Core: fixed unitialized BLE Api
BLE Intent API: I18N
BLE Intent API: refactoring
BLE Intent API: added back legacy API
BLE Intent API: removed new DEVICE_CHANGED and CONNECT endpoints
BLE Intent API: removed redundant ble api setting
2024-09-08 23:17:07 +00:00
Me7c7
0745a374a5
Huawei: Continuous skin temperature measurement switch
2024-09-08 20:24:15 +00:00
José Rebelo
42def1cefb
Update some manufacturers with brand names
...
Most users will not recognize the actual manufacturers, so let's replace
with the brand names.
2024-09-08 14:17:16 +01:00
Martin.JM
1315931ff8
Huawei: Chain initialize dynamic services requests
...
Also includes a bit of cleanup.
Thanks to José Rebelo for cleaning my code.
2024-09-08 01:05:16 +02:00
José Rebelo
098ab77cc6
Garmin Forerunner 165: Initial support
2024-09-07 23:26:07 +01:00
José Rebelo
c5c0d2a9d4
Update dependency com.android.tools:desugar_jdk_libs to v2.1.2
2024-09-07 21:41:19 +01:00
José Rebelo
fa9e111b6b
Dashboard: Reload preferences on create view
...
Attempt to mitigate a crash when a device finishes fetching data
while the fragment is still being created.
2024-09-07 21:32:13 +01:00
José Rebelo
2212b244e6
Garmin: Fix NPE on call with privacy mode on
2024-09-07 14:29:55 +00:00
José Rebelo
3a778a9f2a
Fix sleep charts for devices without REM sleep
2024-09-07 13:41:30 +01:00
Me7c7
fc450882cb
Huawei: Contacts uploading support
2024-09-07 11:31:15 +00:00
dependency-bot
287fdd87d8
Update dependency androidx.fragment:fragment to v1.8.3
2024-09-07 12:29:33 +01:00
dependency-bot
b481860529
Update dependency androidx.activity:activity to v1.9.2
2024-09-07 11:28:55 +00:00
Johannes Krude
0282863573
Casio GW-B5600: bugfix for several watch settings
2024-09-07 08:22:12 +02:00
José Rebelo
42277fceb9
Casio: Truncate notification message to 250 bytes
2024-09-06 21:44:06 +01:00
Me7c7
1f5e9b52b8
Huawei: Quick fix issue with concatenated packets.
2024-09-06 20:12:56 +00:00
Patrick Rudolph
cde10a6dce
Huawei: GetHiChainRequest: Add error handling
...
Parse the error code and throw an exception instead of doing strange
things due to invalid step ID being used.
To investigate issue #4061 .
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2024-09-06 20:06:34 +00:00
José Rebelo
e51b55a38a
Garmin: Infer sleep time for devices that do not send sleep stages
...
See #4048 for more information
2024-09-05 21:27:29 +01:00
José Rebelo
bd5b54c3b4
Garmin: Fix daily weather missing current day
2024-09-03 23:03:46 +01:00
José Rebelo
c04d3adf7c
Casio: Truncate notifications with long messages ( #4063 )
2024-09-02 23:04:02 +01:00
José Rebelo
168c0e126e
Huami: Move device actions to generic preferences section
2024-09-02 22:49:36 +01:00
Arjan Schrijver
b5104dd9ca
Dashboard: Fix worn in Today widget when devices measure HR less than every minute
2024-09-02 20:38:49 +02:00
José Rebelo
d4e34c5982
Garmin: Remove music state timer
2024-09-01 15:07:54 +01:00
José Rebelo
4f7fb8117e
BtLEQueue: Log MTU changes
2024-09-01 13:41:37 +01:00
José Rebelo
593d6d6b25
Garmin: Map some unknown realtime settings
2024-09-01 12:05:32 +01:00
José Rebelo
834c773dec
Fix getLocalDate month off-by-1
2024-08-31 21:33:24 +01:00
José Rebelo
e676f7c6b0
Add safeguard against invalid year of birth values
2024-08-31 21:29:47 +01:00
mormegil
72e8028ad6
Update Nordic DFU library to fix Pinetime firmware upgrade on Android 14
...
Since we raised `targetSdkVersion` to 34 in fad092b6f8
,
attempt to upgrade Pinetime firmware on Android 14+ causes Gadgetbridge
to die with "One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be
specified when a receiver isn't being registered exclusively for system
broadcasts" unhandled java.lang.SecurityException.
This was caused by the Nordic Semi DFU library not supporting A14 until
version 2.3.2 (see https://github.com/NordicSemiconductor/Android-DFU-Library/issues/412
and https://github.com/NordicSemiconductor/Android-DFU-Library/pull/413 ).
So, upgraded the library to the current release 2.5.0.
2024-08-31 16:52:27 +02:00
José Rebelo
4da02fa851
Add month and day to date of birth
2024-08-31 14:40:39 +01:00
José Rebelo
b59ba76803
Refactor preferences screen
2024-08-31 13:33:25 +00:00
José Rebelo
64887a5adf
Prevent dashboard menu from showing on device list
2024-08-31 12:20:40 +01:00
dependency-bot
977ab9d03e
Update dependency com.android.tools:desugar_jdk_libs to v2.1.1
2024-08-31 10:50:11 +00:00
Johannes Krude
76fb19a1b9
Reminders without time use UTC and do so also when changing the date
2024-08-30 22:03:34 +00:00
Johannes Krude
8a4aca06e6
DevicePrefs gets the GBDevice since it it device specific
2024-08-30 22:03:34 +00:00
Johannes Krude
80fea5b916
move some device specific preferences from GBPrefs to DevicePrefs
...
addresses https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4049#issuecomment-2270266
2024-08-30 22:03:34 +00:00
Johannes Krude
b64841b48e
GBReminderListAdapter gets remindersHaveTime through constructor
...
addresses https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4049#issuecomment-2270261
2024-08-30 22:03:34 +00:00
Johannes Krude
e0741d4a13
Casio2C2D: Reminders have no hour or minute
2024-08-30 22:03:34 +00:00
Johannes Krude
e92baf69d1
Casio GW-B5600: Reminders
2024-08-30 22:03:34 +00:00
Johannes Krude
ec0a38c7c0
Casio2C2DSupport: refactor DeviceSetting for better reusability
2024-08-30 22:03:34 +00:00
Johannes Krude
e5438a856e
fix reserved Reminder slots for non-Huami Devices
2024-08-30 22:03:34 +00:00
José Rebelo
21aff699a7
Limit logcat tags to 80 characters
...
Avoids them being sometimes not properly recognized in Android Studio
logcat.
2024-08-30 22:38:22 +01:00
Me7c7
1c19283192
Huawei: Improved error handling for bin file parsing.
2024-08-30 19:26:12 +00:00
Me7c7
2aafad46eb
Huawei: Check TLVs before access. Not present in some watches
2024-08-30 19:26:12 +00:00
Me7c7
4989334ff4
Huawei: Instalattion of apps fixed. Correct bin files support
2024-08-30 19:26:12 +00:00
Me7c7
74b9298a6b
Huawei: added measurement units for altitude #4044
2024-08-30 21:40:31 +03:00
Me7c7
f983060cb2
Huawei: Fixed min and max attitude values in workouts #4044
2024-08-30 18:59:40 +03:00
José Rebelo
95fdee3cbe
Use MediaController for media buttons
2024-08-30 11:03:20 +00:00
José Rebelo
c7bb47d6bd
Data Management: Fix keyboard focus on search
2024-08-29 22:02:29 +01:00
José Rebelo
d033c5e33e
Data Management: Add basic search to file manager
2024-08-29 22:00:18 +01:00
José Rebelo
c9e4379346
Soundcore Liberty: Unify support classes
2024-08-29 20:40:26 +01:00
flipsa
648212bdc1
Initial support for Anker Soundcore Liberty 4 NC earbuds
2024-08-29 19:39:38 +00:00
José Rebelo
227f0a9d80
Mi Composition Scale: Add alternative bluetooth name
2024-08-29 15:17:19 +00:00
José Rebelo
7579ba11b1
Mi Composition Scale: Persist weight samples
2024-08-29 15:17:19 +00:00
José Rebelo
f746ef42f3
Dashboard: Prevent crash on draw after onSaveInstanceState ( #4007 )
2024-08-29 16:09:13 +01:00
José Rebelo
bfde77fb3a
Prevent crash on unknown activity charts tab
2024-08-29 16:09:13 +01:00
José Rebelo
f76180c4bd
Dashboard: Add new widgets, make them clickable
...
Add 3 new widget types:
- Body energy
- Stress (simple, segmented, breakdown)
- HRV
Make widgets clickable, opening the corresponding charts page.
2024-08-29 16:09:13 +01:00
Daniele Gobbetti
d4df00ccbf
Garmin: send blocks that are smaller than MaxPacketSize
...
Fixes 4047
2024-08-29 16:52:50 +02:00
Me7c7
e54fd95a8b
Huawei: Basic support for the installation of the applications
2024-08-29 17:23:42 +03:00
José Rebelo
d75ae6b54d
Bangle.js: Fix calendar sync setting
2024-08-29 12:07:02 +01:00
José Rebelo
7eb1fcdb52
DeviceInfoProfile/BtLEQueue: Improve logging and fix warnings
2024-08-29 11:46:42 +01:00
José Rebelo
49ef8c9f40
Garmin: View and share gpx files
2024-08-28 19:18:08 +01:00
José Rebelo
12ecfa0c4e
Garmin: Parse strength training workout sets
2024-08-28 13:43:12 +01:00
Me7c7
9321e470d7
Huawei: Use proper file type for sleep files
2024-08-27 22:06:01 +00:00
a0z
88c8629ec0
Steps/Sleep activties: update lines and offsets
2024-08-27 22:03:04 +00:00
José Rebelo
39707a52da
Huami: Migrate all device settings to sub-screens
2024-08-27 22:48:00 +01:00
José Rebelo
63a6f07de0
Garmin: Do not generate fake samples into the future
2024-08-27 19:38:23 +01:00
José Rebelo
8e3f010629
Add daily steps progress chart
2024-08-27 19:38:10 +01:00
José Rebelo
f487bc7876
Garmin: Re-parse workout summary when opening details page
...
Ensures that new fields and other fixes get displayed properly.
2024-08-26 10:46:46 +01:00
José Rebelo
ae1cc16a12
Garmin Fenix 5X Plus: Experimental support
2024-08-26 08:49:31 +01:00
José Rebelo
f4551e7cba
Fix step analysis for some devices
2024-08-25 23:49:52 +01:00
José Rebelo
a1170e7333
Dashboard: Fix awake sleep color
2024-08-25 23:02:12 +01:00
José Rebelo
42dfb6ad4a
Garmin: Parse workout physiological metrics
2024-08-25 22:49:47 +01:00
a0z
21de228204
Garmin: Awake time
2024-08-25 21:19:00 +00:00
José Rebelo
b6e2ce1d9c
Garmin: Awake time (WIP)
2024-08-25 21:19:00 +00:00
pacjo
cae6f5d73e
Fix crash when nearby devices (BLUETOOTH_SCAN) permission is missing
2024-08-25 21:05:34 +00:00
Severin von Wnuck-Lipinski
6bfd3dcd06
Add weight chart
2024-08-25 20:46:52 +00:00
José Rebelo
249c2bc237
Improve preference migration error logging
2024-08-25 21:29:56 +01:00
José Rebelo
2db88c63db
Reduce stutters on device changes / data fetch
2024-08-25 20:21:45 +00:00
Daniele Gobbetti
7d9f8704c9
Remove device_specific_settings category from main preferences
...
All devices are now handled by their device specific preferences
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
e74f9c2a3d
Pebble: migrate legacy global preferences to all pebble devices
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
bea6c6a00c
Pebble: enforce numeric input for mtu_limit preference
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
6b38d5b283
Pebble: split the pebble device specific settings in the existing root screens
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
13be343392
Pebble: remove last global settings
...
In order to add an emulated device it is sufficient to use the "Add test device" functionality choosing pebble as device and entering IP:PORT in the mac address field.
The pebble setting to force BLE is moved to discovery_pairing_preferences.xml
Also delete the pebble_preferences file and update general preferences.
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
8e876c8a92
Remove preference pebble_reconnect_attempts
...
Its usage was removed with
c2db30274f
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
54cf421295
Bind sunrise/sunset alarm receiver to specific device support
...
Only register it for Pebble devices which enable the relative setting.
Also move the preference to device specific.
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
795ffde0e1
Pebble: move a bunch of preferences to device specific settings
2024-08-25 20:20:52 +00:00
Daniele Gobbetti
c3d76477ec
Pebble: remove pebble_enable_pebblekit global preference.
...
Use device specific third_party_apps_set_settings preference instead.
2024-08-25 20:20:52 +00:00
Severin von Wnuck-Lipinski
96a8b9aeae
Add support for Mijia XMWSDJ04MMC
2024-08-25 19:43:55 +00:00
Vitaliy Tomin
8ded52a0d1
huawei: Add honor watch gs 3 gadget
2024-08-25 15:34:32 +00:00
José Rebelo
fbfbae808f
Charts: Add button to pick date
2024-08-24 22:04:17 +01:00
a0z
b43c109903
Stress fragment redesign
2024-08-24 17:44:18 +02:00
José Rebelo
bb50796d0a
Fix HR charts when min is set to 0
2024-08-24 12:15:15 +01:00
Arjan Schrijver
e23caa3ee6
Add support for Colmi R02/R03/R06 smart rings
2024-08-23 23:47:34 +02:00
José Rebelo
d8266b3d6b
ZeTime: Migrate global preferences to device-specific
2024-08-23 20:22:20 +01:00
Johannes Krude
141ff623c7
remove no longer needed ConfigureAlarms.createDefaultAlarm
2024-08-23 14:05:11 +00:00
Johannes Krude
7e08144e0c
CasioGWB5600DeviceCoordinator: removed empty methods
2024-08-23 14:05:11 +00:00
Johannes Krude
a885e0eb93
Casio GW-B5600: Alarms
2024-08-23 14:05:11 +00:00
Johannes Krude
21bfc81b35
Casio GW-B5600: watch settings
2024-08-23 14:05:11 +00:00
Johannes Krude
b155a13d17
Casio GW-B5600: find phone
2024-08-23 14:05:11 +00:00
Johannes Krude
4a9fd49461
Casio GW-B5600: response handlers
2024-08-23 14:05:11 +00:00
Johannes Krude
b6ba421a62
Casio2C2D: refactor CasioConstants.characteristicToByte
2024-08-23 14:05:11 +00:00
Johannes Krude
ad7b50793a
BATTERY_UNKNOWN icon
2024-08-23 14:05:11 +00:00
José Rebelo
2b9987d3e5
Mi Band: Migrate global preferences to device-specific
2024-08-23 14:02:28 +00:00
José Rebelo
1161fc70c5
Mi Band 8 Pro: Fix speed unit
2024-08-23 14:40:22 +01:00
José Rebelo
bc2bce3719
Mi Band 8 Pro: Fix walk workout parsing
2024-08-23 14:38:50 +01:00
José Rebelo
3ca9e59fd7
Fix pull-down to refresh for some devices
2024-08-22 23:03:05 +01:00
Daniel Dakhno
f19782ef55
Core: handle null-body notifications
2024-08-22 20:42:17 +02:00
José Rebelo
701aa99fa1
Draw body energy gauge matching device resolution
2024-08-22 18:39:58 +01:00
a0z
4ea933b53d
Add nested tabs to sleep and steps + steps refactor
2024-08-22 19:31:51 +02:00
a0z
b01169a307
HRV Status - fix missing linechart datasets when gap in data
2024-08-22 18:16:28 +02:00
Severin von Wnuck-Lipinski
ef1d7171e8
Add support for Mi Smart Scale 2
2024-08-22 09:02:08 +00:00
Severin von Wnuck-Lipinski
3be6ec0007
Add weight measurement support for MiScale
2024-08-22 09:02:08 +00:00
Severin von Wnuck-Lipinski
9ef8bc0d67
Fix references to MiScale2
2024-08-22 09:02:08 +00:00
Severin von Wnuck-Lipinski
5b98ae737e
Rename MiScale2 to MiCompositionScale
2024-08-22 09:02:08 +00:00
José Rebelo
aa9071e34e
Zepp OS 4: Fix shortcuts
2024-08-22 00:28:48 +01:00
José Rebelo
8577c5d546
Zepp OS 4: Fix shortcut cards
2024-08-22 00:03:25 +01:00
José Rebelo
10e27c88c6
Garmin: Parse HR time in zone, sweat loss, avg and max HR
2024-08-21 15:03:30 +01:00
José Rebelo
880c85abcf
Garmin Venu 2S: Initial support
2024-08-20 19:08:07 +01:00
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
陈少举
d9e6bbf03c
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (2875 of 2875 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-08-03 11:08:21 +02:00