1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-30 04:25:49 +01:00
Commit Graph

11171 Commits

Author SHA1 Message Date
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
Daniele Gobbetti
8c88cc992a Introduce device specific writable directory (MAC address)
Also adds temporary method to move the fetched files from the legacy path to the new one which does not include the device name.
Also moves the FileIndex to the end of the cached files to allow for easier sorting.

Cherry-picked from 525b395c01ce57449ee9a8f74af663595223279e and adapted
2024-05-24 22:24:08 +02:00
José Rebelo
72f1d0c82c Garmin: Make fit header crc optional 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
3abf78d8c2 Garmin: enable unicode Emoji for all devices
This seems to be widely supported by garmin devices, hence enable it in the base coordinator. Specific devices not supporting Unicode Emojis can override this method and return false.
2024-05-24 22:24:08 +02:00
Daniele Gobbetti
f1f77abe18 Garmin: harmonize device names
All device name strings start with manufacturer name.
Normalized the usage of accented i.
2024-05-24 22:24:08 +02:00
Andreas Schneider
b6468db13c Garmin: add coordinator for Instinct Crossover 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
a5dbb7fea7 Garmin: fix regression in call handling
Add a fictitious action to the notification to enable reply/hangup/reject from the watch.
Also fixes the behavior on sms reply, which should also reject the incoming call.

Change the log level in case some of the canned messages types are left as default to info, as this is a supported scenario.
2024-05-24 22:24:08 +02:00
Daniele Gobbetti
179f8a3a9e Garmin: encode unknown weather codes as invalid 2024-05-24 22:24:08 +02:00
meskio
77f119c211 Initial support for Garmin Instinct Solar 2024-05-24 22:24:08 +02:00
José Rebelo
1b45d71cc7 Garmin: Improve fit parsing
* Remove the dependency on PredefinedLocalMessage from generic fit parsing code
* Standardize toString methods, omit types for known fields
* Return null on unknown field number or names, instead of crashing
* Map more Global FIT messages (device info, monitoring, sleep stages, sleep stats, stress level)
* Prioritize "timestamp" over "253_timestamp" if specified explicitly in the global message definition
* Introduce RecordData wrappers for each global message, allowing us to have proper types when getting data. If missing or unknown, the getter returns null. All classes are auto-generated by the FitCodeGen.
* Persist a list of RecordData, instead of a Map from RecordDefinition
* Fix parsing of compressed timestamps - keep them in computedTimestamp on each data record
* Use timestamp16 if available in Monitoring records
2024-05-24 22:24:08 +02:00
Daniele Gobbetti
9e1bf07cd2 Garmin: add coordinator for Instinct 2 Solar Tactical
confirmed working in https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3063#issuecomment-1787762
2024-05-24 22:24:08 +02:00
José Rebelo
3c5eada403 Garmin: Send location to watch 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
e46ea03693 Garmin: calendar integration improvements
use the protobuf fields described in the documentation[0]
build the message according to the requested fields

[0] https://gadgetbridge.org/internals/specifics/garmin-protocol/#calendarevent
2024-05-24 22:24:08 +02:00
a0z
ed0d41aa3a Garmin: Initial support of Instinct 2 Solar 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
416b7b075c Garmin: fix notification crashes and handle SMS correctly
It looks like (some) watches really don't like having an empty list of actions, hence enable the legacy "refuse" action in every case, leaving it empty and inactive.
Further display the SMS sender in the notification and enable the correct code path for the reply action to work.
2024-05-24 22:24:08 +02:00
José Rebelo
cbd2c040bb Garmin: Auto-detect canned messages support 2024-05-24 22:24:08 +02:00
José Rebelo
9f1420e496 Garmin: Fix reply to sms 2024-05-24 22:24:08 +02:00
José Rebelo
cf02a02a48 Garmin: Add setting to disable notifications 2024-05-24 22:24:08 +02:00
José Rebelo
33eb748b64 Garmin Venu 3: Enable canned replies 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
dbc270ad9f Garmin: use developer device setting for keeping data on device
Make use of the previously added preference to toggle file archival (deletion) on the watch.

Default is true (keep data on device) until we are sure of the consequences.
2024-05-24 22:24:08 +02:00
José Rebelo
d73eb849e6 Garmin: Map all known files types 2024-05-24 22:24:08 +02:00
José Rebelo
d8dcc57813 Garmin: Add support for http weather requests 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
01d48cde91 Garmin: Rename LocalMessage to PredefinedLocalMessage and clarify its usage
PredefinedLocalMessage are only useful for FIT messages and should not interfere with FIT files. The only impact of using the local message in fit files was in the textual output, but it was confusing.

Add an explicit constructor to RecordHeader if PredefinedLocalMessage should be taken into account, and use this only in fit messages leaving the default constructor for fit files.

Also adjusts the test case as textual output comparison needs to be fixed.
2024-05-24 22:24:08 +02:00
kuhy
de019fc00a Initial support for Garmin Vivoactive 4S 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
698908a589 Garmin: Add support for custom replies (notifications and calls)
To enable custom replies an override must be defined in the devices coordinator that actually support custom replies.

The custom preferences allow to:
- enable / disable the default message suffix (Instinct 2 appends "sent from my $vendor device" to each reply by default)
- define custom messages to reply to calls and incoming messages (leaving those lists empty will enable the default messages to be used)

Also adds a new protobuf definition file of mostly unknown values that enable toggling the message suffix on Instinct 2.
2024-05-24 22:24:08 +02:00
myxor
15916635e1 Initial support for Garmin Vivoactive 5 2024-05-24 22:24:08 +02:00
Daniele Gobbetti
45c13675e0 Garmin: Add support for replying to notifications
This uses the (assumed) new method of passing multiple actions, instead of the (assumed) legacy accept/decline approach.
At the moment the preset messages stored on the watch firmware are used for replying, the code supports using custom messages already but those have to be updated to the watch somehow (probably by protobuf) and this is not supported yet. Using custom messages if they are not set will just do nothing.
The NotificationActionIconPosition values have been determined on a vívomove Style and might not work properly on other watches.
The evaluation of GBDeviceEvent have been moved in GarminSupport since the notification actions handling uses device events.

Also adds a method to read null terminated strings to GarminByteBufferReader.
Also adds a warning in NotificationListener if the wrong handle is used for replying to a notification.
2024-05-24 22:24:08 +02:00
Daniele Gobbetti
54070b2652 Garmin: Add FileDownloadedDeviceEvent and (disabled) file deletion
Also adds (disabled) file deletion in case of already downloaded files
2024-05-24 22:24:08 +02:00
Daniele Gobbetti
2c70f1a616 Garmin: Add DST/Timezone support 2024-05-24 22:24:08 +02:00
hrdl
69934b2d7c Add Garmin Forerunner 245 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
42e44de1ac Garmin: Support file archival (deletion) on watch
Also add original timestamp to local cache filename as the file identifier are reused
Also fix imports of Test class
2024-05-24 22:24:07 +02:00
José Rebelo
5c57392b85 Garmin: Fetch activity on demand 2024-05-24 22:24:07 +02:00
José Rebelo
0d230ce0a5 Garmin: Fix proguard rules for release builds 2024-05-24 22:24:07 +02:00
José Rebelo
2eb342860a Garmin: Allow high MTU 2024-05-24 22:24:07 +02:00
José Rebelo
aaa3e086d0 Garmin protocol: Simplify FILE_TYPE 2024-05-24 22:24:07 +02:00
José Rebelo
fb06a48756 Garmin protocol: Fix linter warnings 2024-05-24 22:24:07 +02:00
José Rebelo
72de9bafe9 Garmin protocol: Introduce GarminCoordinator 2024-05-24 22:24:07 +02:00
José Rebelo
4c734e4717 Garmin protocol: fix crash when stopping find phone 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
e6365638d4 Garmin protocol: basic file transfer and notification handling
adds synchronization of supported files from watch to external directory
adds support for Activity and Monitoring files (workouts and activity samples), but those are not integrated yet
adds upload functionality (not used ATM and not tested)
adds notification support without actions
introduces centralized processing of "messageHandlers" (protobuf, file transfer, notifications)

also properly dispose of the music timer when disconnecting
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
9dee71df6f Garmin protocol: enable media volume control from watch 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
14c6ce1a3a Garmin protocol: store max packet size from DeviceInformationMessage
also adds messageType to the warnifleftover log message
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
6cb5184e2b Garmin protocol: various changes
- add FitFile class that deals with parsing and generating outgoing files
- consider all field definitions with number 253 as Timestamps [0]
- add support for "compressed timestamps" in fit file parsing. Those are not returned among the other normal fields but are available through a method of RecordData
- adjust the test cases

[0]48b6554d8a/fitdecode/reader.py (L719)
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
e814a63590 Garmin protocol: change naming and logic of several FIT classes
- refactor the logic of Global and Local messages
- add some Global messages with naming taken from [1]
- Global messages are not enum because there are too many
- introduce the concept of FieldDefinitionPrimitive
- add new Field Definitions
- add support for developer fields and array fields
- add test case for FIT files taken from [0]

[0] https://github.com/polyvertex/fitdecode/
[1] https://www.fitfileviewer.com/
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
b2f995b736 Garmin protocol: create helper class GarminByteBufferReader
separate the logic specific for GFDI messages from the generally useful logic.
Also centralize the logging in case of leftover bytes while parsing GFDI messages.
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
8524426b70 Garmin protocol: create custom GBDeviceEvent for weather request 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
4054326535 Garmin protocol: use message enum instead of id in GFDI Messages 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
c8c51064c3 Garmin protocol: refactoring and fixes of BaseTypes
The boundaries are enforced on the stored value when decoding, before applying the adjustments for scale and offset.
Also add some tests for the BaseTypes
Introduce new FieldDefinition for Temperature and WeatherCondition (removing the static class)
Add accessors for field data in the containing RecordData, thus keeping the FieldData private
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
71f497ecbb Garmin protocol: create specific field definition for day of week 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
e323e7fbde Garmin protocol: move field encode/decode interface to the FieldDefinition
This allows for semantic subclassing the FieldDefinition.
A FieldDefinitionTimestamp subclass is introduced as example
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
4313fc833a Garmin protocol: fix invalid signed int base type value 2024-05-24 22:24:07 +02:00
Daniele Gobbetti
e691042265 Garmin protocol: add initial support for FIT messages
note: only weather message definition and data tested so far
also enable weather support for Instinct 2S and vivomove style
also cleanup some unused constants that have been migrated to new enums in GFDIMessage
additionally switch to new local implementation of GarminTimeUtils with needed methods
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
afe41ee563 Garmin protocol: fixes
- fix DEVICE_SETTINGS message ID
- put all status messages in own package
- allow protobuf handler to change the returned status message to signal unsupported requests
- fix various bugs
2024-05-24 22:24:07 +02:00
Daniele Gobbetti
559a73cc5e Garmin protocol: initial refactoring and basic functionalities
This commit takes aims to bring many new garmin devices up to a working status, with basic functionalities such as:
- garmin protocol initialization
- basic message exchange
- support for some messages in Garmin own format
- support for some messages in protobuf format
2024-05-24 22:24:07 +02:00
Gordon Williams
7ea2261ba3 Bangle.js: honour the enable_calendar_sync setting
Allow handleCalendarSync to send a single `calendar-` command with all IDs before it starts adding new items (faster)
2024-05-24 09:26:37 +01:00
Gordon Williams
4da5a73cd6 Bangle.js - remove large lines of _____ from calendar (generated by google teams) 2024-05-23 09:48:37 +01:00
MrYoranimo
4edea1ed96 Huami: fix reminder message encoding
Potentially fixes #3548
2024-05-19 15:13:23 +00:00
José Rebelo
78c10c3da9 Amazfit Bip 5 Unity: Experimental support (untested) 2024-05-18 13:12:51 +01:00
Vitaliy Tomin
8946eff8fa Huawei: Set user info to device
* height
* weight
* age
* year of birth
* gender
2024-05-16 17:52:51 +00:00
Daniele Gobbetti
9c68acce2e Add support for exclusive audio focus
This pauses temporarily other apps that are playing sound while our notifications get spoken.
2024-05-14 16:06:03 +02:00
Martin.JM
9ba96231c3 [Huawei] Implement remote camera shutter 2024-05-13 21:28:43 +00:00
Martin.JM
4c4ba623c4 Add camera implementation
This is to support watches with remote shutter applets that do not
act as remote triggers for other apps automatically.
2024-05-13 21:28:43 +00:00
Arjan Schrijver
d9863786de Dashboard: Use more intuitive time markings in today widget
Fixes #3717
2024-05-13 21:07:43 +02:00
Daniel Dakhno
3b01422a45 device-cycling-sensor (#3705)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3705
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-05-10 20:43:45 +00:00
Martin.JM
25b1f8f3fa [Huawei] Change to use MediaManager 2024-05-09 20:03:36 +02:00
José Rebelo
b909e123a4 Huawei Band 9: Fix device name 2024-05-08 22:49:57 +01:00
Damien 'Psolyca' Gaignon
39ea1774a4 [Huawei] Add Huawei Band 9 gadget 2024-05-08 21:49:12 +00:00
Damien 'Psolyca' Gaignon
f2c360ae8a [Huawei] Add Huawei Watch Fit 3 gadget 2024-05-08 21:49:12 +00:00
José Rebelo
41aab5135f Fossil Q Hybrid: Migrate global preferences to device-specific 2024-05-08 21:42:29 +00:00
Damien 'Psolyca' Gaignon
690d01dcac
[Huawei] Remove unneeded data 2024-05-08 22:48:47 +02:00
Damien 'Psolyca' Gaignon
02b052fcaf
[Huawei] Add Huawei Watch 4 Pro gadget
fix
2024-05-08 22:48:46 +02:00
ahormann
ac8d1ed6a0 New Device Soundcore Liberty 3 Pro (#3753)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3753
Co-authored-by: ahormann <ahormann@gmx.net>
Co-committed-by: ahormann <ahormann@gmx.net>
2024-05-07 22:39:13 +00:00
MrYoranimo
508a86b8ed Xiaomi: fix determining fall asleep time
Because the previous implementation of determining the time the user
falls asleep in a given time range would take the 24 hours in advance
into account, graphs displaying sleep data would erroneously indicate
that the user has been asleep since the start of the timeframe if
the user was asleep during the rollover of the time frame 24 hours
before.

This commit change the algorithm to only fetch the last sleep stage
sample and sleep range sample from the database that occurred before
the given time range. This saves having to process 24 hours worth of
samples before the time range in both cases, and prevents taking into
account irrelevant sleep ranges.
2024-05-07 13:33:52 +02:00
MrYoranimo
f581d57c01 Xiaomi: fix sleep stages not getting parsed from sleep details files
Not all packets use the payload length byte/short for the payload
length. Instead, some packets do not carry a payload, in which case
the payload length bytes are assumed to represent some state or flag.
Therefore, for packets with a type known not to carry a payload, the
payload extraction is skipped, allowing other packets to get
successfully parsed again.
2024-05-07 13:17:10 +02:00
José Rebelo
bed67ef1fb Xiaomi: Allow transliteration 2024-05-05 12:36:23 +01:00
José Rebelo
04237b7727 Prevent query for devices that have activity card disabled
Even if the activity card was disabled, all devices would be queried for
data. This slows down the UI when there are a lot of devices, especially
if multiple of them have data and only a few have the card enabled.
2024-05-04 23:51:19 +01:00
Alik Aslanyan
dc1ffdafcd Rework Armenian transliteration to handle more edge cases around mixed letters 2024-05-04 20:45:35 +04:00
José Rebelo
eaf7c03f61 Galaxy Buds 2: Fix recognition of some versions 2024-05-04 11:06:07 +01:00
José Rebelo
7892afa304 Xiaomi: Fix barometer
Thanks to MrYoranimo for the fix.
2024-05-03 22:27:57 +01:00
Martin.JM
4c93647aaf [Huawei] Add TruSleep warning 2024-05-02 20:59:08 +02:00
José Rebelo
0ff8774fce DebugActivity: Omit manufacturer for test devices if name contains it 2024-05-01 23:34:14 +01:00
rymut
7a50df61b8 [Huawei] refactor: removed isExperimental override 2024-05-01 22:35:12 +02:00
rymut
8860b4b678 [Huawei] fix: use correct coordinator for watch fit 2 2024-05-01 22:24:36 +02:00
Nyatsuki
b8852379f9
Translated using Weblate (Japanese)
Currently translated at 54.7% (1500 of 2739 strings)

Co-authored-by: Nyatsuki <Odamaki@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:34:03 +02:00
Baka Gaijin
07a11addb9
Translated using Weblate (Japanese)
Currently translated at 54.6% (1494 of 2735 strings)

Co-authored-by: Baka Gaijin <lewdwarrior@waifu.club>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:34:02 +02:00
あぽろあぽろ
4dde33c342
Translated using Weblate (Japanese)
Currently translated at 54.6% (1494 of 2735 strings)

Co-authored-by: あぽろあぽろ <aporotilyoko0000@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:34:00 +02:00
Deleted User
294adf6da5
Translated using Weblate (Portuguese (Brazil))
Currently translated at 52.3% (1432 of 2735 strings)

Co-authored-by: Deleted User <Resume7202@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pt_BR/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:59 +02:00
José Rebelo
5c7ea9131e
Translated using Weblate (Russian)
Currently translated at 94.8% (2589 of 2731 strings)

Co-authored-by: José Rebelo <joserebelo@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:57 +02:00
0que
27fa1a94fe
Translated using Weblate (Russian)
Currently translated at 94.8% (2592 of 2734 strings)

Translated using Weblate (Russian)

Currently translated at 94.8% (2589 of 2731 strings)

Co-authored-by: 0que <0que@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:56 +02:00
summoner001
80857758b4
Translated using Weblate (Hungarian)
Currently translated at 84.2% (2287 of 2716 strings)

Co-authored-by: summoner001 <summoner@vivaldi.net>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:54 +02:00
Balage
153199b3b4
Translated using Weblate (Hungarian)
Currently translated at 83.1% (2258 of 2714 strings)

Co-authored-by: Balage <222855@buas.nl>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:52 +02:00
Sergey Ponomarev
c7a29e4499
Translated using Weblate (Russian)
Currently translated at 95.1% (2580 of 2711 strings)

Co-authored-by: Sergey Ponomarev <stokito@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:51 +02:00
Nyatsuki
7b05853b7d
Translated using Weblate (Japanese)
Currently translated at 54.6% (1494 of 2735 strings)

Translated using Weblate (Japanese)

Currently translated at 45.8% (1255 of 2735 strings)

Translated using Weblate (Japanese)

Currently translated at 44.3% (1213 of 2735 strings)

Translated using Weblate (Japanese)

Currently translated at 42.3% (1157 of 2734 strings)

Translated using Weblate (Japanese)

Currently translated at 41.5% (1136 of 2734 strings)

Translated using Weblate (Japanese)

Currently translated at 41.5% (1135 of 2734 strings)

Translated using Weblate (Japanese)

Currently translated at 41.5% (1134 of 2731 strings)

Translated using Weblate (Japanese)

Currently translated at 41.4% (1131 of 2731 strings)

Translated using Weblate (Japanese)

Currently translated at 41.1% (1124 of 2731 strings)

Translated using Weblate (Japanese)

Currently translated at 39.3% (1069 of 2716 strings)

Translated using Weblate (Japanese)

Currently translated at 38.3% (1042 of 2714 strings)

Translated using Weblate (Japanese)

Currently translated at 36.8% (1000 of 2711 strings)

Co-authored-by: Nyatsuki <Odamaki@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:49 +02:00
summoner001
d543dcdd80
Translated using Weblate (Hungarian)
Currently translated at 81.0% (2198 of 2711 strings)

Co-authored-by: summoner001 <summoner@vivaldi.net>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:47 +02:00
0que
58c4242ba5
Translated using Weblate (Russian)
Currently translated at 95.0% (2578 of 2711 strings)

Co-authored-by: 0que <0que@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:44 +02:00
Hikaru
1d53259988
Translated using Weblate (Japanese)
Currently translated at 30.4% (826 of 2711 strings)

Co-authored-by: Hikaru <Hikali-47041@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:41 +02:00
Nyatsuki
f596c3b83c
Translated using Weblate (Japanese)
Currently translated at 30.4% (826 of 2711 strings)

Co-authored-by: Nyatsuki <Odamaki@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:40 +02:00
ritchierope
2ed0be0bcd
Translated using Weblate (Hungarian)
Currently translated at 80.2% (2175 of 2711 strings)

Co-authored-by: ritchierope <zdg.acc@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:37 +02:00
summoner001
a94e1eb573
Translated using Weblate (Hungarian)
Currently translated at 80.2% (2175 of 2711 strings)

Co-authored-by: summoner001 <summoner@vivaldi.net>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:35 +02:00
Stepan
6fd9414d37
Translated using Weblate (Russian)
Currently translated at 95.2% (2572 of 2700 strings)

Co-authored-by: Stepan <stepan.miroshnikov@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:33 +02:00
glemco
05ffd79815
Translated using Weblate (Italian)
Currently translated at 90.8% (2482 of 2731 strings)

Translated using Weblate (Italian)

Currently translated at 89.1% (2435 of 2731 strings)

Translated using Weblate (Italian)

Currently translated at 85.3% (2299 of 2694 strings)

Co-authored-by: glemco <glemco@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/it/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:31 +02:00
Yaron Shahrabani
82dfbce231
Translated using Weblate (Hebrew)
Currently translated at 98.1% (2681 of 2731 strings)

Translated using Weblate (Hebrew)

Currently translated at 98.5% (2673 of 2711 strings)

Translated using Weblate (Hebrew)

Currently translated at 97.4% (2642 of 2711 strings)

Translated using Weblate (Hebrew)

Currently translated at 95.5% (2590 of 2711 strings)

Translated using Weblate (Hebrew)

Currently translated at 95.7% (2587 of 2702 strings)

Translated using Weblate (Hebrew)

Currently translated at 95.5% (2581 of 2700 strings)

Translated using Weblate (Hebrew)

Currently translated at 95.3% (2575 of 2700 strings)

Translated using Weblate (Hebrew)

Currently translated at 95.4% (2574 of 2698 strings)

Translated using Weblate (Hebrew)

Currently translated at 96.2% (2569 of 2668 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:29 +02:00
0que
3d35e322e9
Translated using Weblate (Russian)
Currently translated at 95.1% (2568 of 2698 strings)

Translated using Weblate (Russian)

Currently translated at 95.1% (2563 of 2694 strings)

Translated using Weblate (Russian)

Currently translated at 96.0% (2562 of 2668 strings)

Co-authored-by: 0que <0que@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:28 +02:00
bowornsin
f2002fc9a9
Translated using Weblate (Thai)
Currently translated at 4.0% (110 of 2710 strings)

Translated using Weblate (Thai)

Currently translated at 3.2% (89 of 2702 strings)

Translated using Weblate (Thai)

Currently translated at 3.0% (82 of 2702 strings)

Translated using Weblate (Thai)

Currently translated at 3.3% (90 of 2664 strings)

Co-authored-by: bowornsin <bowornsin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/th/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:25 +02:00
Linerly
9caf07657d
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.3% (2712 of 2731 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2711 of 2711 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2710 of 2710 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2700 of 2700 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2698 of 2698 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2694 of 2694 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2668 of 2668 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2664 of 2664 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: Linerly <linerly@proton.me>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:23 +02:00
Rex_sa
1c7c7ff4d6
Translated using Weblate (Arabic)
Currently translated at 100.0% (2738 of 2738 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2731 of 2731 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2716 of 2716 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2711 of 2711 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2710 of 2710 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2709 of 2709 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2700 of 2700 strings)

Translated using Weblate (Arabic)

Currently translated at 99.7% (2691 of 2698 strings)

Translated using Weblate (Arabic)

Currently translated at 99.0% (2672 of 2698 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2668 of 2668 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2664 of 2664 strings)

Translated using Weblate (Arabic)

Currently translated at 99.3% (2646 of 2664 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: Rex_sa <rex.sa@pm.me>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:21 +02:00
陈少举
a8dbb30139
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2739 of 2739 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2738 of 2738 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.9% (2730 of 2731 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2716 of 2716 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2714 of 2714 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2710 of 2710 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (2706 of 2709 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2700 of 2700 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2698 of 2698 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2694 of 2694 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2668 of 2668 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2664 of 2664 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: 陈少举 <oshirisu.red@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:19 +02:00
arjan-s
59e9d01605
Translated using Weblate (Dutch)
Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2731 of 2731 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2710 of 2710 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2698 of 2698 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: arjan-s <a_gitlab@anymore.nl>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:17 +02:00
Mikachu
e99a7654af
Translated using Weblate (Dutch)
Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: Mikachu <micah.sh@proton.me>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:16 +02:00
Oğuz Ersen
30de0cda70
Translated using Weblate (Turkish)
Currently translated at 100.0% (2739 of 2739 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2738 of 2738 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2733 of 2733 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2731 of 2731 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2716 of 2716 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2714 of 2714 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2711 of 2711 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2710 of 2710 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2709 of 2709 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2704 of 2704 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2700 of 2700 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2698 of 2698 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2694 of 2694 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2668 of 2668 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2664 of 2664 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:14 +02:00
gallegonovato
ccbfeb11d0
Translated using Weblate (Spanish)
Currently translated at 100.0% (2739 of 2739 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2733 of 2733 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2731 of 2731 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2714 of 2714 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2700 of 2700 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2698 of 2698 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2668 of 2668 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2664 of 2664 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:12 +02:00
skdubg
e6e87f9ff7
Translated using Weblate (German)
Currently translated at 100.0% (2739 of 2739 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2738 of 2738 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2735 of 2735 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2734 of 2734 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2733 of 2733 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2731 of 2731 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2716 of 2716 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2714 of 2714 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2711 of 2711 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2702 of 2702 strings)

Translated using Weblate (German)

Currently translated at 99.8% (2695 of 2700 strings)

Translated using Weblate (German)

Currently translated at 99.8% (2693 of 2698 strings)

Translated using Weblate (German)

Currently translated at 99.7% (2691 of 2698 strings)

Translated using Weblate (German)

Currently translated at 99.7% (2687 of 2694 strings)

Translated using Weblate (German)

Currently translated at 99.7% (2661 of 2668 strings)

Translated using Weblate (German)

Currently translated at 99.7% (2657 of 2664 strings)

Translated using Weblate (German)

Currently translated at 99.5% (2652 of 2664 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2639 of 2639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (2631 of 2631 strings)

Co-authored-by: skdubg <skdubg@autistici.org>
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
Translation: Freeyourgadget/Gadgetbridge
2024-05-01 18:33:10 +02:00
Martin.JM
83fd09939f [Huawei] Fix PR #3742, add workout frequency and altitude 2024-05-01 16:32:27 +00:00
Damien 'Psolyca' Gaignon
2d32822ff8
[Huawei] Add Huawei Watch Fit 2 gadget 2024-05-01 12:03:59 +02:00
José Rebelo
18e08d13da Fix tests and linter 2024-04-30 20:43:23 +01:00
Martin.JM
1c2c1f710e [Huawei] Add support for workout calories and cycling power 2024-04-30 21:08:23 +02:00
José Rebelo
013ffe5559 Format pace as mm:ss 2024-04-29 19:50:57 +01:00
Martin.JM
bcd35b02da [Huawei] Add HR and SpO support for two watches
- Huawei Watch GT4
- Huawei Watch Ultimate
2024-04-29 10:58:24 +02:00
Gonk
b7d2808392 Added debug end call to the API 2024-04-28 23:19:24 +02:00
José Rebelo
9bef90a151 HPlus: Migrate global preferences to device-specific 2024-04-28 19:02:20 +01:00
Vitaliy Tomin
4d0d9e298e huawei: feature: File upload and watchface management (#3671)
Co-authored-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
Co-committed-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
2024-04-27 21:37:15 +00:00
aGoodUsername
aad03ddf0e bangle.js: normalized activity intensity 2024-04-27 05:22:48 +00:00
Damien 'Psolyca' Gaignon
c1e0b1fcd5 [Huawei] Enable sleep detection 2024-04-26 19:50:37 +00:00
José Rebelo
408f4b75dd Serbian transliterator: Map Đ and đ 2024-04-25 18:09:25 +01:00
José Rebelo
31408394b4 Serbian transliterator: Map Č and č 2024-04-25 18:08:55 +01:00
José Rebelo
61af26d7ce Add Serbian transliterator
As discussed in #3727
2024-04-25 17:51:45 +01:00
José Rebelo
500e930237 Refactor location service
- Refactor the code from a static global instance to a lifecycle-aware
  service instantiated in the DeviceCommunicationService
- Fix number of devices reported in the notification
- Prevents leaks and properly stops when devices get disconnected
2024-04-25 17:08:53 +01:00
José Rebelo
3799ffb72c Zepp OS: Sync calendar event reminders 2024-04-25 15:58:57 +01:00
José Rebelo
13d6c49bb5 Xiaomi: Sync calendar event reminders 2024-04-25 15:00:48 +01:00
Vitaliy Tomin
67cf9b2f00 huawei: Add huawei account support (#3721)
* this feature allows to pair HarmonyOS devices without factory reset to
  GB and Huawei Health.

* huawei account has form of 17 digit string and could be retrived from
  logcat filtering by huid=

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3721
Co-authored-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
Co-committed-by: Vitaliy Tomin <highwaystar.ru@gmail.com>
2024-04-25 12:19:00 +00:00
Daniele Gobbetti
173e2d29b0 Include Organizer and Reminders when reading calendar events
Also use the named column indexes instead of numeric ids when retrieving the contents to make it more clear and more robust in case further fields are added later.

Reminders are set as absolute timestamp.
2024-04-25 11:46:34 +02:00
Marcel Alexandru Nitan
2190c82ed7 feature: Sleep as android support
Implement support for Sleep As Android with an usable example for ZeppOs
devices

Sleep as Android documentation:

https://docs.sleep.urbandroid.org/devs/wearable_api.html

Signed-off-by: Marcel Alexandru Nitan <nitan.marcel@protonmail.com>
2024-04-20 12:15:42 +03:00
Arjan Schrijver
f186053dab Dashboard: Add preference for drawing midnight at bottom of 24h chart 2024-04-18 20:06:56 +02:00
Arjan Schrijver
a2c861f66c Add preference for hiding bottom navigation bar 2024-04-17 21:58:23 +02:00
Damien 'Psolyca' Gaignon
4059566a25
[Huawei] Fix notification length 2024-04-16 23:10:01 +02:00
José Rebelo
c0d0b4dfbe Update hamcrest-library to 2.2 2024-04-15 23:45:55 +01:00
José Rebelo
bf01d9b346 Update protobuf dependencies 2024-04-15 22:04:45 +01:00
Damien 'Psolyca' Gaignon
84070dd0ba
[Huawei] Fix TimeZone offset calculation 2024-04-15 21:37:57 +02:00
Alik Aslanyan
f0a9ab7f98 Add Armenian transliteration 2024-04-15 19:58:27 +04:00
José Rebelo
9ae02f65ed Zepp OS: Change settings category to "calls and notifications" 2024-04-13 15:11:39 +01:00
Arjan Schrijver
523d02ae7f Generalize auto-pickup and read-notifications-aloud features 2024-04-13 14:10:54 +00:00
José Rebelo
717789dc48 Fix receiving shared gpx files 2024-04-13 13:55:25 +01:00
José Rebelo
320fccbaae Xiaomi: Fix crash when deleting last widget screen 2024-04-12 22:41:11 +01:00
MrYoranimo
5e6bf798a4 Xiaomi: implement setAutoReconnect on XiaomiSupport
The DeviceCommunicationService calls `#setAutoReconnect` on new device
supports before it calls the connect method. Since this method did not
get relayed to the connection-specific support classes, Xiaomi devices
using a BLE connection did not automatically reconnect because the
`mAutoReconnect` field in `AbstractBTLEDeviceSupport` never got set.
2024-04-12 20:54:49 +02:00
MrYoranimo
d39f86f3c8 Xiaomi: fix music volume command only increasing volume
Earlier Xiaomi devices would send either 0 or 100 for the requested
volume to indicate whether the app should increase or decrease the
phone's volume. Newer devices send the volume to change to, based on the
known current volume. We therefore need to check whether the device
increased or decreased the volume based on the current volume ourselves
in order to determine which event we want to fire.
2024-04-12 20:54:49 +02:00
MrYoranimo
35217aa405 Xiaomi: add support for 2x3 widget layouts
The Xiaomi Smart Band 8 Pro shows widgets in a two by three grid.
Previously, opening the widget configuration for such a device from the
device-specific preferences would crash Gadgetbridge because the layouts
in such a grid was not supported.

This commit adds definitions for layouts in a 2x3 grid to the
WidgetLayout enum, adds a definition for a full screen widget to the
WidgetType enum, defines rendering definitions for the new layouts to
WidgetScreenDetailsActivity, and defines translations for the new
layouts and type to XiaomiWidgetManager.
2024-04-12 20:54:49 +02:00
MrYoranimo
0b731611b9 Xiaomi: refactor WidgetManager for Redmi Watch 4
The Redmi Watch 4 reports both an unsupported widget type and layout
style:

- The firmware supports a screen layout for a single full screens
  widget, which is defined by layout ID 128;
- A full screen widget is a single 2x2 part, which is not supported.

This commit adds support for both the new layout and the new widget
type.

Furthermore, this commit refactors the XiaomiWidgetManager. Previously,
the supported layouts were determined by the types of parts supported by
the device. However, the supported layouts are reported by the device
through a bitfield in the widget capabilities message of which the purpose
was unknown, which is now used to determine the supported layouts.
2024-04-12 20:54:49 +02:00
MrYoranimo
796f26f74f Redmi Watch 4: initial experimental support 2024-04-12 20:54:49 +02:00
upalse
aaa66df082 Add menu items for NFC shortcuts on Mi Band 6 NFC. 2024-04-12 17:20:21 +01:00
Daniele Gobbetti
ff9207cd9a Nothing: add option to read aloud incoming notifications.
Also fixes a bug where the call would be accepted twice if the tts was not bound.
2024-04-12 16:51:49 +02:00
Daniele Gobbetti
1a8689d4bf Add "Delta Chat" to the recognized applications and as generic chat 2024-04-12 09:21:54 +02:00
Arjan Schrijver
cd8e9b5ea6 Dashboard: Fix crash on start when Devices is first screen 2024-04-10 22:11:45 +02:00
Arjan Schrijver
6f103b2897 Dashboard: Implement horizontal swiping and fix fragment related crashes 2024-04-10 21:53:03 +02:00
Ganblejs
96bbd578c8 Bangle.js: add wake on notification response OPEN 2024-04-10 19:36:17 +00:00
Ganblejs
594c409067 WakeActivity: add start method 2024-04-10 19:36:17 +00:00
Ganblejs
dae5a77b17 Add setting to wake+unlock on OPEN notif response 2024-04-10 19:36:17 +00:00
Daniele Gobbetti
e00d234f09 Add GENERIC_PHONE and GENERIC_CALENDAR NotificationType handling 2024-04-10 14:20:20 +02:00
Damien 'Psolyca' Gaignon
83a010f42e [Huawei] Ask pincode only on first connection 2024-04-09 19:06:39 +00:00
Damien 'Psolyca' Gaignon
52e61e36fe [Huawei] Rename needsAuth to firstConnection 2024-04-09 19:06:39 +00:00
Arjan Schrijver
065f8cdaa7 Fix DeviceService not starting when the dashboard is the initial screen 2024-04-09 10:46:11 +02:00
Arjan Schrijver
50c7520349 Dashboard: Material 3 month changing buttons in calendar 2024-04-09 09:34:58 +02:00
Arjan Schrijver
8ce0983cb4 Galaxy Buds Live: Update device settings to new structure 2024-04-09 06:55:53 +00:00
Arjan Schrijver
cb13c7bc05 Fossil/Skagen Hybrids: Update device settings to new structure 2024-04-09 06:55:53 +00:00
José Rebelo
7a4cd3ea78 Remove deprecated general auto-reconnect preference 2024-04-08 23:29:04 +01:00
MrYoranimo
0daf283853 BtBRDeviceSupport: fix Gadgetbridge crashing when queue is destroyed during initialization 2024-04-07 20:25:52 +00:00
MrYoranimo
ebf0dbc2d0 Xiaomi: remove battery-related request timer on disconnect 2024-04-07 20:25:52 +00:00
MrYoranimo
cb44982edb BtLEQueue: make NotifyAction more verbose 2024-04-07 20:25:52 +00:00
MrYoranimo
3ad389d57d BtBR/Xiaomi: fix disconnection logic/state handling 2024-04-07 20:25:52 +00:00
José Rebelo
75dc546aa9 Update threetenabp to the latest 2024-04-07 14:39:03 +01:00
Arjan Schrijver
a34964e712 Dashboard: Material 3 day changing buttons 2024-04-06 21:26:43 +02:00
Daniel Dakhno
9502a0dcfb Device scan: Fix permission check on Android 11 and below (#3659)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3659
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-04-06 10:46:55 +00:00
Daniele Gobbetti
a37f0c89bb Nothing: add adjustable delay for auto-pick-up of calls
- Also add a (basic) Application wide TextToSpeech helper
- use the TextToSpeech to announce the caller name or number
2024-04-05 19:55:22 +02:00
Daniele Gobbetti
c4747e2e23 Nothing: add option to auto-reply to incoming phone calls
The new preference to toggle the auto-reply behavior is not
prefixed with the device name, as I guess it could be useful
also for other bluetooth headphones
2024-04-05 19:55:22 +02:00
Arjan Schrijver
43fddd0110 Dashboard view (#3478)
This adds a new dashboard-type view to Gadgetbridge. The new dashboard activity displays several widgets with aggregated statistics from multiple devices. New preferences are added to allow configuration of the dashboard and its widgets. A new bottom navigation bar is added to switch between the Dashboard and Devices views.

Some issues that prompted this feature and provided inspiration for the implementation:
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/301 (More Intuitive User Interface)
- https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3074 (Ability to merge historical data from several devices)

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3478
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>
2024-04-04 19:28:04 +00:00
Martin.JM
e4cac887cc [Huawei] Auto detect GPS data support 2024-04-04 20:01:44 +02:00
Martin.JM
88746d5706 [Huawei] Hookup GPS values 2024-04-04 19:31:12 +02:00
Martin.JM
22720514b9 [Huawei] Add GPS packets 2024-04-04 19:26:54 +02:00
Damien 'Psolyca' Gaignon
a29187a034
[Huawei] Fix long notification and clean Notifications class 2024-04-03 23:05:53 +02:00
José Rebelo
64a0b716f0 Fix crash when connecting on some phones 2024-04-03 21:22:52 +01:00
José Rebelo
9b285f16bf DeviceCommunicationService: Notify device connections right away
As noted in #3676, having a lot of bluetooth classic devices might make
the connection take some time, which would only send all the updates at
the end.

Send the updates right away for each device.
2024-04-02 22:04:12 +01:00
MrYoranimo
7fb0d19374 Xiaomi: fix GB crashing when sending command to disconnected SPP-based device 2024-04-02 21:02:42 +00:00
MrYoranimo
28066b9b7d DeviceCommunicationService: fix crash when enabling Bluetooth adapter 2024-04-02 21:02:42 +00:00
Marcel Alexandru Nitan
a76b9af80c zepos: fix timezone for sunrise/sunset time; closes #3673, closes #3400 2024-04-02 20:46:08 +00:00
Damien 'Psolyca' Gaignon
f9268d981e
[Huawei] Simplify HuaweiSettingsCustomizer 2024-04-02 18:53:37 +02:00
Damien 'Psolyca' Gaignon
10cd4e09b1
[Huawei] Add enable SpO2 force option 2024-04-02 18:53:37 +02:00
Damien 'Psolyca' Gaignon
93bb8bdc08
[Huawei] Fix force DND support 2024-04-02 18:53:36 +02:00
Damien 'Psolyca' Gaignon
0e152ea3e2
[Huawei] remove unneeded file 2024-04-02 18:53:36 +02:00
Damien 'Psolyca' Gaignon
fd5cab2b4c
[Huawei] Add enable HeartRate force option 2024-04-02 18:53:36 +02:00
Damien 'Psolyca' Gaignon
23c39280c7
[Huawei] Rework settings menu with sub-screens 2024-04-02 18:53:35 +02:00
Damien 'Psolyca' Gaignon
c63fa19550
Add Health root preference screen 2024-04-02 18:53:15 +02:00
MrYoranimo
260dec5b27 DebugActivity: send list of weather specs when pressing 'set weather' 2024-04-01 21:57:12 +02:00
MrYoranimo
a5ff360497 Xiaomi: rework weather service 2024-04-01 21:57:12 +02:00
José Rebelo
033e977491 Bangle.js: Add setting to disable notifications 2024-03-31 23:08:14 +01:00
José Rebelo
0fb2d1272a Xiaomi Smart Band 8 Active: Fix discovery 2024-03-31 18:03:36 +01:00
Damien 'Psolyca' Gaignon
7b22b8880d
[Huawei] Fix reconnection issue 2024-03-31 18:28:49 +02:00
José Rebelo
6853e3671b Prevent text cutoff on all checkbox preferences 2024-03-31 07:46:47 +00:00
Vitaliy Tomin
4986fdd0ea Huawei: Use generic notification type instead of wechat
* this match stock application Huawei Health
* devices show proper applications icons if it exist in firmware,
when type set to Wechat only wechat icon used
* sender name was not shown with wechat type
2024-03-31 07:04:25 +00:00
José Rebelo
c85a0edace Update roboelectric to 4.12, org.json to 20240303 2024-03-30 23:02:31 +00:00
José Rebelo
88a1e7bb59 Huawei: Group pace values in activity summary pace group 2024-03-30 21:42:18 +00:00
Martin.JM
83d2aaf30e Group new Huawei workout activity entries 2024-03-30 22:07:02 +01:00
Martin.JM
ff37766510 Huawei workout change strings to ActivitySummaryEntries 2024-03-30 21:34:27 +01:00
Martin.JM
4ad77c8232 Huawei Workout improve pace information 2024-03-30 21:34:27 +01:00
Martin.JM
e9090ec082 Huawei Workout use translatable strings 2024-03-30 21:34:27 +01:00
Martin.JM
e8ddc1fd17 Huawei Workout cleanup of unknown values 2024-03-30 21:34:27 +01:00
Damien 'Psolyca' Gaignon
7a752381cc
[Huawei] Remove SendAccountRequest 2024-03-30 15:50:49 +01:00
José Rebelo
904007614d Fix crash during discovery 2024-03-30 09:02:18 +00:00
José Rebelo
81aef0bf35 Add support for multiple weather locations
Introduce the concept of primary and secondary weathers:

* Primary weather keeps the same behavior as previously across all weather providers, so it's non-breaking. This location is not necessarily the current location, just the primary weather location set by the user.
* The GenericWeatherReceiver now has a new extra WeatherSecondaryJson, that receives a json list with secondary weather locations.

It's guaranteed that the primary weather always exists, so the list of WeatherSpecs provided to devices is never empty. Update all support classes accordingly.
2024-03-29 21:10:40 +00:00
José Rebelo
57fd857de5 Set navbar color to match theme 2024-03-28 23:13:08 +00:00
José Rebelo
9678188395 Scannable: Fix device settings 2024-03-28 21:58:30 +00:00
Daniel Dakhno
8cf87a418b Added scannable-only devices (#3621)
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2024-03-28 21:07:05 +00:00
~noodlez1232
bf762a25a5 Cleanup and update AsteroidOS
1. Added icons to the notifications
2. Cleaned up a lot of the DeviceCoordinator code (Since a lot of them
   have default implementations now)
2024-03-28 12:30:20 -07:00
Gordon Williams
1165a5d03c Revert "Bangle.js: add support for SMS replies" - not needed as per #3654
This reverts commit 323f8028e0.
2024-03-28 08:45:14 +00:00
Gordon Williams
323f8028e0 Bangle.js: add support for SMS replies 2024-03-28 08:31:07 +00:00
Gordon Williams
665656ddc0 Bangle.js: Fix message reply (and add .reply in notify if message supports reply)
NotificationListener now stores the handle ID in wearableAction.handle rather than hard-coding the calculation
Should fix ZeppOS too which was copy&paste from Bangle.js
2024-03-27 10:50:50 +00:00
Misaka 0x4e21
d68cb8c743
Huawei: Fix cycling workout type
Cycling workout type is actually 3 instead of 5.
2024-03-26 19:35:53 +08:00
g_p
7cb7c0ea8a Nothing CMF Watch Pro: Add weather support
This patch adds support for current weather, and next 6 days' weather. Condition mapping added to align with the available icons on the watch.
It also transmits the hourly condition and temperature for the coming 24 hours as part of the update.

Tested on CMF Nothing Watch Pro firmware 11.0.0.50 with weather data cooming from Breezy Weather (using Accuweather)

For current day:
- Weather symbol shows
- Name of current location shows (long names scroll)
- Current temperature shows
- Written condition shows (e.g. "Cloudy")
- Min/max temperatures show
- Air quality indicator shows

For upcoming days:
- Weather symbol shows
- Min/max temperatures show
- Name of day shows (patch doesn't touch this)

Nothing CMF Watch Pro: Use putShort() for air quality indicator; fix max location length

- Using putShort() as suggested from code review - tested to give same result
- Reduced max location length to 16 bytes, as 32 was not working

Nothing CMF Watch Pro: Better handle limited data from weather providers

- Check max length of daily and hourly datasets
- Populate with dummy data if insufficient data available
- Use null as the weather condition in any situation where no data available

Nothing CMF Watch Pro: If hourly weather data is missing, use current data

This should create a better fallback behaviour if a weather source is lacking hour-by-hour data.
Assuming the current data will apply in the next hour is less messy than showing placeholder (inaccurate) figures.

Nothing CMF Watch Pro: Allow location names of up to 30 characters, improve string processing
2024-03-25 22:45:36 +00:00
José Rebelo
1e2a561dfd Bangle.js: Add screenshot support 2024-03-25 20:38:37 +00:00
José Rebelo
705651e5f6 BondingUtil: Fix linter
The code was valid, but gradle lint will not realize that the API check
is performed, so it would fail. Inline the condition to fix this.
2024-03-25 20:38:18 +00:00
José Rebelo
852893408f Ask for companion device during pairing 2024-03-25 20:31:33 +00:00
José Rebelo
8085eb6ec3 Discover bonded devices by default
A lof of devices will simply work anyway even if already paired in
Android bluetooth settings. Discover them by default, but warn the user
if the device is not known to pair correctly if already paired in Android
settings. Allows this warning to be disabled to known working devices.
2024-03-25 20:31:33 +00:00
arjan-s
f05043481c
Translated using Weblate (Dutch)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-03-25 20:25:52 +01:00
ritchierope
efa831b67c
Translated using Weblate (Hungarian)
Currently translated at 81.3% (2139 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-03-25 20:25:51 +01:00
José Rebelo
d82e74384d Update changelog 2024-03-25 18:16:01 +00:00
Ganblejs
f8e15068ea Bangle.js: add save file to android functionality
Bangle.js:file handling LOG.warn -> info

Bangle.js: sync file can't escape device directory

Naïve solution. I wanted to use `Path.normalize()` but Android Studio
said it could not be used from the static context. This does not attempt
to normalize the path, but just remove the special names `..\` and `.\`.

Bangle.js:simpler hindering of escaping device dir
2024-03-25 17:04:21 +00:00
Misaka 0x4e21
cef277261a [Huawei] Support workout type of cycling
Add support for workout type of (outdoor) cycling, which is 5 on the device.
2024-03-25 23:28:53 +08:00
Andreas Shimokawa
7fe619c976 BLEScanService: Allow supported ScanSettings on Android API level 23 2024-03-25 10:34:44 +01:00
José Rebelo
cbc9bb4e11 Update changelog 2024-03-25 09:21:24 +00:00
José Rebelo
435b4bec60 BLEScanService: Fix linter 2024-03-25 09:20:51 +00:00
Andreas Shimokawa
668ed5ab71 update changelogs, bump version 2024-03-25 09:46:40 +01:00
Mikel Larreategi
7d1f9ca007
Added translation using Weblate (Basque) 2024-03-24 21:31:04 +01:00
0que
88a8395419
Translated using Weblate (Russian)
Currently translated at 97.3% (2561 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:04 +01:00
Mates K
afe894c853
Translated using Weblate (Czech)
Currently translated at 90.4% (2380 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-03-24 21:31:04 +01:00
Rex_sa
de5514ad63
Translated using Weblate (Arabic)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:04 +01:00
Oğuz Ersen
2bea4a0338
Translated using Weblate (Turkish)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:04 +01:00
Linerly
f7d6ad7baf
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:04 +01:00
陈少举
d8ddcd4be4
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:04 +01:00
gallegonovato
162fd9b7c4
Translated using Weblate (Spanish)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:04 +01:00
skdubg
01d46a98b0
Translated using Weblate (German)
Currently translated at 100.0% (2630 of 2630 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:04 +01:00
gallegonovato
f1875f3bb8
Translated using Weblate (Spanish)
Currently translated at 100.0% (2629 of 2629 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:04 +01:00
Rex_sa
9cdb23bb9e
Translated using Weblate (Arabic)
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:04 +01:00
0que
cf64d50780
Translated using Weblate (Russian)
Currently translated at 97.3% (2558 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:04 +01:00
Oğuz Ersen
78974e759c
Translated using Weblate (Turkish)
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
skdubg
9afd34fe59
Translated using Weblate (German)
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
Linerly
79d378ddc4
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
陈少举
0140fe29be
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
gallegonovato
88812abd7f
Translated using Weblate (Spanish)
Currently translated at 100.0% (2627 of 2627 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:03 +01:00
José Rebelo
5f95f00707
Translated using Weblate (Portuguese)
Currently translated at 56.6% (1487 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pt/
2024-03-24 21:31:03 +01:00
Rex_sa
a2813b5d0f
Translated using Weblate (Arabic)
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
Linerly
c2c8f51276
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
陈少举
aacfc08bd0
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
Oğuz Ersen
17e284f7d2
Translated using Weblate (Turkish)
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
0que
65705bc8c0
Translated using Weblate (Russian)
Currently translated at 97.3% (2557 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:03 +01:00
gallegonovato
d67c260821
Translated using Weblate (Spanish)
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:03 +01:00
skdubg
d273246cd3
Translated using Weblate (German)
Currently translated at 100.0% (2626 of 2626 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
skdubg
6148c93f08
Translated using Weblate (German)
Currently translated at 99.9% (2623 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
bowornsin
57bbd5813d
Translated using Weblate (Thai)
Currently translated at 3.2% (86 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/th/
2024-03-24 21:31:03 +01:00
Rex_sa
b3ec0d6214
Translated using Weblate (Arabic)
Currently translated at 100.0% (2624 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
Linerly
b6d0e9223b
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2624 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
陈少举
4c16b0b9a6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2624 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
Oğuz Ersen
2222097488
Translated using Weblate (Turkish)
Currently translated at 100.0% (2624 of 2624 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
Michal L
60347ab742
Translated using Weblate (Polish)
Currently translated at 98.6% (2582 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-03-24 21:31:03 +01:00
Ghost of Sparta
7fedb80d1d
Translated using Weblate (Hungarian)
Currently translated at 79.2% (2075 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
5cc37f1fe3
Translated using Weblate (Hebrew)
Currently translated at 97.8% (2563 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:03 +01:00
Kryštof Černý
237ceda690
Translated using Weblate (Czech)
Currently translated at 88.7% (2323 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-03-24 21:31:03 +01:00
Kryštof Černý
b6a33a0aa8
Translated using Weblate (Czech)
Currently translated at 84.3% (2208 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-03-24 21:31:03 +01:00
Rex_sa
95f6363842
Translated using Weblate (Arabic)
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
0que
6de5ddcf52
Translated using Weblate (Russian)
Currently translated at 97.4% (2550 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
4c8e20dfc4
Translated using Weblate (Hebrew)
Currently translated at 97.8% (2562 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
2432540e18
Translated using Weblate (Arabic)
Currently translated at 99.9% (2617 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
Linerly
cdfd60c169
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
Oğuz Ersen
824301923a
Translated using Weblate (Turkish)
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
6c98b3ae7c
Translated using Weblate (Hebrew)
Currently translated at 96.1% (2518 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:03 +01:00
Manuel-Senpai
4ba04e2238
Translated using Weblate (Spanish)
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:03 +01:00
skdubg
0948779a55
Translated using Weblate (German)
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
陈少举
5f4fe078ef
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2618 of 2618 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
gallegonovato
83fc313c5d
Translated using Weblate (Spanish)
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:03 +01:00
Rex_sa
64a4264690
Translated using Weblate (Arabic)
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
Linerly
82338cd10e
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
陈少举
20168e1f31
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
Oğuz Ersen
6d57c932a6
Translated using Weblate (Turkish)
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
0que
fe9de288b9
Translated using Weblate (Russian)
Currently translated at 97.4% (2549 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:03 +01:00
skdubg
a5c8b221ed
Translated using Weblate (German)
Currently translated at 100.0% (2617 of 2617 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
Rex_sa
7fa723200c
Translated using Weblate (Arabic)
Currently translated at 100.0% (2616 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:03 +01:00
Linerly
ed6443b7bb
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2616 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:03 +01:00
陈少举
b0b1749c26
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2616 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:03 +01:00
Oğuz Ersen
fef0dc7e8f
Translated using Weblate (Turkish)
Currently translated at 100.0% (2616 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
07deb1782f
Translated using Weblate (Hebrew)
Currently translated at 94.4% (2471 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:03 +01:00
skdubg
3987eba955
Translated using Weblate (German)
Currently translated at 100.0% (2616 of 2616 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:03 +01:00
Michel PECASTAING
2559358661
Translated using Weblate (French)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-03-24 21:31:03 +01:00
Vincèn PUJOL
b3121e96de
Translated using Weblate (French)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-03-24 21:31:03 +01:00
Yaron Shahrabani
760467637f
Translated using Weblate (Hebrew)
Currently translated at 92.1% (2400 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:02 +01:00
0que
a21a3bcc93
Translated using Weblate (Russian)
Currently translated at 97.5% (2542 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:02 +01:00
Yaron Shahrabani
0cf7bc438c
Translated using Weblate (Hebrew)
Currently translated at 90.7% (2365 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-03-24 21:31:02 +01:00
Rex_sa
91c1287e57
Translated using Weblate (Arabic)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-03-24 21:31:02 +01:00
Ghost of Sparta
c949911c2f
Translated using Weblate (Hungarian)
Currently translated at 79.6% (2075 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-03-24 21:31:02 +01:00
Michal L
82ecfcb55b
Translated using Weblate (Polish)
Currently translated at 98.9% (2578 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-03-24 21:31:02 +01:00
Oğuz Ersen
025702760a
Translated using Weblate (Turkish)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:02 +01:00
gallegonovato
1f70fd9f1d
Translated using Weblate (Spanish)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-03-24 21:31:02 +01:00
Oğuz Ersen
ac3141022a
Translated using Weblate (Turkish)
Currently translated at 92.6% (2414 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:02 +01:00
Linerly
2b710fad18
Translated using Weblate (Indonesian)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-03-24 21:31:02 +01:00
陈少举
6c7d518fe1
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-03-24 21:31:02 +01:00
Oğuz Ersen
2b52fbdf54
Translated using Weblate (Turkish)
Currently translated at 91.2% (2376 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-03-24 21:31:02 +01:00
0que
03b29500e4
Translated using Weblate (Russian)
Currently translated at 97.5% (2542 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-03-24 21:31:02 +01:00
skdubg
4209548410
Translated using Weblate (German)
Currently translated at 100.0% (2605 of 2605 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-03-24 21:31:02 +01:00
arjan-s
b30f869f21
Translated using Weblate (Dutch)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-03-24 21:31:02 +01:00
g_p
0becaa4334 Nothing CMF Watch Pro: Fix music playback status
These two values were swapped, meaning a double press of play/pause was needed to change state.
This also fixes the wrong play/pause button state showing during playback.

Tested on firmware 11.0.0.50
2024-03-24 20:15:56 +00:00
Damien 'Psolyca' Gaignon
731ca67dcb
[Huawei] Fix GT3(Pro) encrypted transaction 2024-03-23 21:50:09 +01:00
Damien 'Psolyca' Gaignon
78ee68f426
[Huawei] Fix MediumToStrengthThreshold request 2024-03-23 21:27:47 +01:00
Damien 'Psolyca' Gaignon
df3273be7c
[Huawei] Fix SendExtendedAccountToDevice tag 0x01 2024-03-23 18:52:50 +01:00
Damien 'Psolyca' Gaignon
3f7a7304bb
[Huawei] Change display of command IDs to hex 2024-03-23 18:21:33 +01:00
Damien 'Psolyca' Gaignon
1392f24f4c
[Huawei] Add Rotate Cycle Info into dynamic service 2024-03-23 18:09:04 +01:00
José Rebelo
3a22211392 Mi Band 1/2: Fix vibration settings preference screens 2024-03-22 20:27:55 +00:00
Gordon Williams
8d43624a9a Bangle.js: filter calendar events to try and remove :~:~:~:~:~ lines for google meet, double newlines, and HTML 2024-03-22 11:43:30 +00:00
Ganblejs
de1faf6f00 Bangle.js:actTrk:replace RuntimeException with LOG 2024-03-21 23:28:29 +00:00
Ganblejs
ac4273fc1b Bangle.js:actTrk:dont apnd device mac str to files 2024-03-21 23:28:29 +00:00
Ganblejs
5c183da78c Bangle.js:actTrk: store files in device subfolder 2024-03-21 23:28:29 +00:00
Ganblejs
5540dc18a4 Bangle.js:actTrk: use last 4 chars of mac in names
... of files
2024-03-21 23:28:29 +00:00
Ganblejs
2803c62a7c Bangle.js:actTrk: add first timestamp to gpx name 2024-03-21 23:28:29 +00:00
Ganblejs
cd2535f49a Bangle.js:actTrk: fix activity point times 2024-03-21 23:28:29 +00:00
Ganblejs
f0826286dc Bangle.js:actTrk:add error msg re get file dir 2024-03-21 23:28:29 +00:00
Ganblejs
0ac6da3903 Bangle.js:ActTrk: fix requestTrackObj can be null 2024-03-21 23:28:29 +00:00
Ganblejs
9309ac8d38 Bangle.js:actTrk: comment out LAPS summary info 2024-03-21 23:28:29 +00:00
Ganblejs
1e2ea97391 Bangle.js:actTrk: curly brace to scope cases 2024-03-21 23:28:29 +00:00
Ganblejs
571410ff4b Bangle.js:actTrk: don't throw RuntimeException 2024-03-21 23:28:29 +00:00
Ganblejs
f3f9a75633 Bangle.js:actTrk: dataflow tweaks 2024-03-21 23:28:29 +00:00
Ganblejs
d2e61c5fe8 Bangle.js:actTrk: move tracksList inside class 2024-03-21 23:28:29 +00:00
Ganblejs
1660f4b7fa Bangle.js:actTrk: move package count inside class 2024-03-21 23:28:29 +00:00
Ganblejs
6eb97eeb15 Bangle.js:actTrk: see dataTypes as bitmask 2024-03-21 23:28:29 +00:00
Ganblejs
d94ac25cd1 Bangle.js:actTrk:refactor compileDateStringFromCal 2024-03-21 23:28:29 +00:00
Ganblejs
cd8fad29b1 Bangle.js:actTrk: reference ActivitySummaryEntries 2024-03-21 23:28:29 +00:00
Ganblejs
8715cc7e81 Bangle.js:actTrk:dont extend BangleJSDeviceSupport 2024-03-21 23:28:29 +00:00
Ganblejs
7182f4be67 Bangle.js:actTrk:cmnt out some faulty summary data 2024-03-21 23:28:29 +00:00
Ganblejs
35021f28fa Bangle.js:actTrk: fix 'Reset fetch date' function 2024-03-21 23:28:29 +00:00
Ganblejs
c2a4eed13a Bangle.js:actTrk: pckts out of order->stop timeout 2024-03-21 23:28:29 +00:00
Ganblejs
cd9fdca397 Bangle.js:actTrk: cmt re send "stop" on interrupt 2024-03-21 23:28:29 +00:00
Ganblejs
21882042c4 Bangle.js:actTrk: fix fastest/slowest pace 2024-03-21 23:28:29 +00:00
Ganblejs
9f2df0262f Bangle.js:actTrk: refactor LOG.info to debug/error 2024-03-21 23:28:29 +00:00
Ganblejs
8060911d42 Bangle.js:actTrk: move private methods down 2024-03-21 23:28:29 +00:00
Ganblejs
70a7d8f8da Bangle.js:actTrk: add private modifier 2024-03-21 23:28:29 +00:00
Ganblejs
546102f01f Bangle.js:actTrk: accommodate "erase" keyword 2024-03-21 23:28:29 +00:00
Ganblejs
e7f8c9e7a6 Bangle.js:actTrk:upd cmt re fetch all then parse 2024-03-21 23:28:29 +00:00
Ganblejs
7734fbe4b0 Revert "Bangle.js:actTrk:fetch all logs, then parse them"
This reverts commit 6b941f9277f70d642cfaa430d3d917ba6b559d17.
2024-03-21 23:28:29 +00:00
Ganblejs
6936053734 Revert "Bangle.js:actTrk: try fix parsing after interrupt"
This reverts commit 638f12e96bdb44445902b3bbd477c742e1d88299.
2024-03-21 23:28:29 +00:00
Ganblejs
d93ef074c3 Bangle.js:actTrk: try fix parsing after interrupt 2024-03-21 23:28:29 +00:00
Ganblejs
46be3c47f9 Bangle.js:actTrk:fetch all logs, then parse them 2024-03-21 23:28:29 +00:00
Ganblejs
d8172295cb Bangle.js:actTrk: note on postponing parsing 2024-03-21 23:28:29 +00:00
Ganblejs
ddca4ad90d Bangle.js:actTrk: remove unrelated comments 2024-03-21 23:28:29 +00:00
Ganblejs
a077e867b4 Bangle.js:actTrk:rm newline on latest fetch string 2024-03-21 23:28:29 +00:00
Ganblejs
6ce8f336b4 Bangle.js:actTrk: break out file operations 2024-03-21 23:28:29 +00:00
Ganblejs
f1053c5b80 Bangle.js:actTrk: add private modifier 2024-03-21 23:28:29 +00:00
Ganblejs
f97dda37c7 Bangle.js:actTrk: simplify timeout 2024-03-21 23:28:29 +00:00
Ganblejs
c250a70196 Bangle.js:actTrk: remove public modifier 2024-03-21 23:28:29 +00:00
Ganblejs
0c10edb9f2 Bangle.js:actTrk: small refactor of return 2024-03-21 23:28:29 +00:00
Ganblejs
49bd363d0f Bangle.js:actTrk: no timeout during data-parsing 2024-03-21 23:28:29 +00:00
Ganblejs
8ab77f148f Bangle.js:actTrk: speed determines activity type 2024-03-21 23:28:29 +00:00
Ganblejs
466349fbe7 Bangle.js:actTrk: refactor a name 2024-03-21 23:28:29 +00:00
Ganblejs
2683fd9495 Bangle.js:actTrk:add LOG.warn re interrupted fetch 2024-03-21 23:28:29 +00:00
Ganblejs
6a9c037926 Bangle.js:actTrk: notify on fetch interrupted 2024-03-21 23:28:29 +00:00
Ganblejs
af740d4dc3 Bangle.js:actTrk: fix timeout for interruptions 2024-03-21 23:28:29 +00:00
Ganblejs
4f04b61dbd Bangle.js:actTrk:unsuccessful try at fetch timeout 2024-03-21 23:28:29 +00:00
Ganblejs
49c4f34f42 Bangle.js:actTrk: refactor function names 2024-03-21 23:28:29 +00:00
Ganblejs
945a28c279 Bangle.js:actTrk: tweak start/stop messagaging 2024-03-21 23:28:29 +00:00
Ganblejs
40c3eade21 Bangle.js:actTrk:fix transfer notification 2024-03-21 23:28:29 +00:00
Ganblejs
bfa5d94587 Bangle.js:actTrk: Auto-reload when fetch done 2024-03-21 23:28:29 +00:00
Ganblejs
e492160531 Bangle.js:actTrk: fix packet counting 2024-03-21 23:28:29 +00:00
Ganblejs
8338b03b3b Bangle.js:actTrk:try at packet counting
... might not be necessary. Since I got the fetching to work with
intervals on the the Bangle.js side it's been stable.

Didn't manage to make packet counting work yet.
2024-03-21 23:28:29 +00:00
Ganblejs
ddc2d7a34a Bangle.js: remove imports marked as unused 2024-03-21 23:28:29 +00:00
Ganblejs
3ac3519f3e Bangle.js:break out to class BangleJSActivityTrack 2024-03-21 23:28:29 +00:00
Ganblejs
9919bb2d6f Bangle.js: actTrk- fix logic re requesting logs 2024-03-21 23:28:29 +00:00
Ganblejs
7146fce683 Bangle.js: actTrk- sync one log at a time 2024-03-21 23:28:29 +00:00
Ganblejs
ee274510ac Bangle.js:actTrk- check if HRM could be exported
... to GPX track file. But commented out to avoid error.
2024-03-21 23:28:29 +00:00
Ganblejs
64b3468671 Bangle.js:actTrk- don't export GPX if no such data 2024-03-21 23:28:29 +00:00
Ganblejs
19ec7344ca Bangle.js: comment out some LOG.info 2024-03-21 23:28:29 +00:00
Ganblejs
2c918f6a7c Bangle.js: actTrk receive multiple lines per UARTRX 2024-03-21 23:28:29 +00:00
Ganblejs
d3229dea96 Bangle.js: clear fetched csv if refetching 2024-03-21 23:28:29 +00:00
Ganblejs
6255ff615d Bangle.js: activity track logic tweak
... to make string sent from Bangle.js shorter. And some other changes.
2024-03-21 23:28:29 +00:00
Ganblejs
c572cae161 Bangle.js: use FileUtils to read/write files 2024-03-21 23:28:29 +00:00
Ganblejs
cba2cf38f6 Bangle.js:actTrck change stride unit to only meter 2024-03-21 23:28:29 +00:00
Ganblejs
2429f64412 Bangle.js: avoid infinities, cardiac arrest, etc. 2024-03-21 23:28:29 +00:00
Ganblejs
c2c53d5495 Bangle.js: actTrack reorder activity details 2024-03-21 23:28:29 +00:00
Ganblejs
e23c5f2dd4 Bangle.js: actTrack handle empty lines on analyze 2024-03-21 23:28:29 +00:00
Ganblejs
acdde68fab Bangle.js: handle if time was given with decimals 2024-03-21 23:28:29 +00:00
Ganblejs
e39e67100e Bangle.js: actTrk WIP 2024-03-21 23:28:29 +00:00
Ganblejs
bcd1fc8681 Bangle.js: more work on summary data 2024-03-21 23:28:29 +00:00
Ganblejs
e10fae00cf Bangle.js: activity tracks summary entries 2024-03-21 23:28:29 +00:00
Ganblejs
eec3d2b89a Bangle.js:don't show stride if not sufficient data 2024-03-21 23:28:29 +00:00
Ganblejs
6d82980cc3 Bangle.js: Activity tracks analytics 2024-03-21 23:28:29 +00:00
Ganblejs
70b9911153 Bangle.js: WIP adding summary data
Calculate distances from lat/long coordinates.
2024-03-21 23:28:29 +00:00
Ganblejs
b4879a92d9 Bangle.js: Activity tracks, addSummaryData 2024-03-21 23:28:29 +00:00
Ganblejs
517f9ac214 Bangle.js:Activity traks attempt (un-)setBusyTask 2024-03-21 23:28:29 +00:00
Ganblejs
6faa4452e2 Bangle.js:Act Tracks follow refactored code style 2024-03-21 23:28:29 +00:00
Ganblejs
c6cec7a0f8 Bangle.js:WIP add activity tracks support
Bangle.js: WIP add supportsActivityTracks

Bangle.js: testing flow of info

Bangle.js:WIP receive and store csv from Bangle.js

Bangle.js:store and transmit ID of last synced log

bangle.js:activity tracks, act on completed fetch

... of the recorder csv file.

Bangle.js: Activity tracks, now in database

... but not all data is persisted correctly I think. It's presented as
'Unknown activity'.

Bangle.js:Activity tracks, try to add gps info

I haven't tested with recordings where I have gps values, so far only
empty values. With empty values I currently get "This activity does not
contain GPX tracks" when trying to use the GPXExporter.

Bangle.js: Activity tracks, now adds GPS points

... to the activity to be shown when on the "Sport Activity Detail"
screen.
2024-03-21 23:28:29 +00:00
Ganblejs
fc9d18100d ActivitySummariesActivity:fix no fetch btn spinner 2024-03-21 23:28:29 +00:00
Ganblejs
a59b5de343 ActivitySummariesActivity:FIXME unreachable reload 2024-03-21 23:28:29 +00:00
Ganblejs
57c0c4dfcb FileUtils: refactor copyStringToFile
With the goal to hinder potential leak of file.
2024-03-21 23:28:29 +00:00
Ganblejs
758e9223d1 FileUtils:copyStringToFile: Try not to leak file. 2024-03-21 23:28:29 +00:00
Ganblejs
8907757674 FileUtils: add description for copyStringtoFile
... and remove commented out code
2024-03-21 23:28:29 +00:00
Ganblejs
3c32636089 FileUtils: Add copyStringToFile method 2024-03-21 23:28:29 +00:00
Damien 'Psolyca' Gaignon
717bc3035d
[Huawei] Add settings to new gadgets 2024-03-21 19:06:03 +01:00
Vitaliy Tomin
6167f3f781
[Huawei] Initial AcceptAgreement packet and request 2024-03-21 19:06:03 +01:00
Damien 'Psolyca' Gaignon
924088e5a3
[Huawei] Check pinCode and authType not BondState 2024-03-21 19:06:03 +01:00
Damien 'Psolyca' Gaignon
88043aa813
[Huawei] Add Huawei Watch Ultimate support 2024-03-21 19:06:02 +01:00
Vitaliy Tomin
014b453693
[Huawei] Add Huawei Watch GT4 support 2024-03-20 13:41:49 +01:00
Damien 'Psolyca' Gaignon
d59b7c7bfa
[Huawei] Add SendExtendedAccountRequest 2024-03-20 13:41:49 +01:00
José Rebelo
d1eb6ae740 Fix typo in charts option label for sleep 2024-03-19 22:18:04 +00:00
José Rebelo
9971a14648 Fix chart option labels 2024-03-19 21:10:39 +00:00
José Rebelo
c79bb53f74 Xiaomi: Fix temperature sample range 2024-03-19 21:00:21 +00:00
Gordon Williams
d3c16a1d40 Bangle.js ensure we don't try and use base64 to encode something that is actually UTF8 2024-03-19 13:36:55 +00:00
José Rebelo
fa59dfe72e Bangle.js: Add saveFile javascript interface 2024-03-18 20:10:06 +00:00
José Rebelo
8aa3fa3689 Bangle.js: Fix crash when file save is cancelled 2024-03-18 20:10:06 +00:00
José Rebelo
b7ab61f233 Use existing string for temperature 2024-03-18 09:12:33 +00:00
José Rebelo
fc88a4ea9b Xiaomi: Fix temperature charts crash 2024-03-18 09:09:18 +00:00
José Rebelo
ee6340c848 Amazfit Bip 3: Initial support 2024-03-17 13:06:31 +00:00
José Rebelo
ae05f7fd42 Xiaomi Watch S1 Pro: Enable charts for body temperature 2024-03-16 21:44:11 +00:00
José Rebelo
9db60f16d1 Allow for device settings sub-screens (#3620)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3620
Co-authored-by: José Rebelo <joserebelo@outlook.com>
Co-committed-by: José Rebelo <joserebelo@outlook.com>
2024-03-16 17:21:42 +00:00
José Rebelo
fcc930749e Sony LinkBuds: Initial support 2024-03-15 23:36:50 +00:00
José Rebelo
5798466e55 Sony Headphones: Fix protocol v2 2024-03-15 23:34:17 +00:00
José Rebelo
0301d0e9a8 Sony Headphones: Merge V3 protocol into V2
The protocols are not actually different - the different messages only
depended on whether the devices supports wind noise reduction or not.
2024-03-15 22:56:11 +00:00
Gordon Williams
f91156cd3e Bangle.js - fix issue where a newline right at the beginning of a received string could cause "String index out of range: -1" errors for all subsequent received data 2024-03-13 09:52:03 +00:00
José Rebelo
fe2a760891 Refactor language and Mi Band 6 preferences code 2024-03-09 14:24:50 +00:00
José Rebelo
99dc218cd1 Fix temperature preferences 2024-03-09 14:00:31 +00:00
ahormann
f5b46b295b Plotting Temperature (#3381)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3381
Co-authored-by: ahormann <ahormann@gmx.net>
Co-committed-by: ahormann <ahormann@gmx.net>
2024-03-09 14:00:09 +00:00
Daniel Dakhno
ec6fa23176 Device settings: simplified array conversion 2024-03-09 13:58:20 +00:00
Daniel Dakhno
f1968f4103 Device settings: removed menu entry 2024-03-09 13:58:20 +00:00
Daniel Dakhno
b30b9083d0 Device settings: use ArrayList instead of rigid int[] 2024-03-09 13:58:20 +00:00
Daniel Dakhno
8e6571d354 Device settings: merged application and device settings 2024-03-09 13:58:20 +00:00
José Rebelo
f9917851ef Xiaomi: Fix NPE when notification lookup fails 2024-03-06 20:47:57 +00:00
José Rebelo
96668368c5 Xiaomi Smart Band 8 Active: Initial support 2024-03-06 20:45:13 +00:00
Daniel Dakhno
afe3c1fd50 Testing: fixed unit tests 2024-03-05 00:11:32 +01:00
Daniel Dakhno
ee1c3e4db9 Device connection: classify more states as reconnecting 2024-03-05 00:11:32 +01:00
Daniel Dakhno
a75b3afc84 Code refactoring: introduced GBDevice.State.equalsOrHigherThan 2024-03-05 00:11:32 +01:00
Daniel Dakhno
7219bd377b Device connection: consider WAITING_FOR_SCAN as reconnecting state 2024-03-05 00:11:32 +01:00
Daniel Dakhno
07744331ac Device connection: removed duplicate strings entry 2024-03-05 00:11:32 +01:00
Daniel Dakhno
b1b5eada68 Device connection: added Scan service channel 2024-03-05 00:11:32 +01:00
Daniel Dakhno
281a087550 Device connection: refactoring, string extraction 2024-03-05 00:11:32 +01:00
Daniel Dakhno
d0f8eccd75 Device connection: removed references to ACTION_START 2024-03-05 00:11:32 +01:00
Daniel Dakhno
3ceba883dd Device connection: allow to disconnect from scanned devices 2024-03-05 00:11:32 +01:00
Daniel Dakhno
7816e131e9 Device connection: stop ScanService when quitting application 2024-03-05 00:11:32 +01:00
Daniel Dakhno
f5213f39f7 Device connection: dont try to scan for BT classic devices 2024-03-05 00:11:32 +01:00
Daniel Dakhno
00c0a8e897 Device connection: added device scan reconnection logic 2024-03-05 00:11:32 +01:00
José Rebelo
b8b8b5f681 Huami: Display unknown raw activity kind in the activity summary 2024-03-04 21:07:59 +00:00
Stefan Tomanek
e86912e681 Use TypeName for identifying non-LE device when pairing LE counterpart.
Previous changes deprecated the numeric Type property, making the
database query fail when pairing the BT-LE part of a Pebble device.
2024-02-27 20:40:54 +01:00
Arjan Schrijver
08a8b6a8fd Fossil/Skagen Hybrids: Remove activity fetching toasts and add finished signal 2024-02-27 14:36:28 +01:00
José Rebelo
ab41adbc7f Xiaomi: Fix sleep samples when sleep stages are not found
We can at least show light sleep now.
2024-02-25 22:53:15 +00:00
José Rebelo
dd952e335f Xiaomi: Implement complex activity details header parsing
This should improve activity parsing across all devices, as we now take
the header into account, which indicates what groups are actually
present.

Thanks to @opcode for figuring out the header structure and providing
the ImHex patterns for the activity data.
2024-02-25 22:27:20 +00:00
José Rebelo
0b0aedfb52 Revert Xiaomi steps and stress parsing fixes
- This reverts commit 789292d318.
- This reverts commit 641eb1bee7.

Further changes are required
2024-02-25 21:08:44 +00:00
José Rebelo
3902db5abd Huami: Keep track of last debug logs titmestamp 2024-02-25 13:25:12 +00:00
José Rebelo
58d4ebf509 Huami: Refactor activity data fetching
Activity data fetching on Huami devices was filled with duplicated code,
and the handleActivityFetchFinish was called from multiple places where
it did not make sense. This made us signal to the band that activity
fetch was finished when it sometimes was not, causing some race
condititions that would make activity fetch fail or get stuck.

This refactor defines a clear "processBufferedData" that is called
upstream, signaling to the fetch operation that we have received all
data and the buffer can be processed. All handling of metadata and ack
messages is also delegated to the upstream class.
2024-02-25 13:10:25 +00:00
José Rebelo
9b0229cdf0 Huami: Split fetch, init and update operations 2024-02-25 13:10:25 +00:00
José Rebelo
5e068ee4ca Huami: Extract activity fetch data types to enum 2024-02-25 13:10:25 +00:00
José Rebelo
789292d318 Xiaomi: Fix stress parsing 2024-02-25 00:04:03 +00:00
José Rebelo
641eb1bee7 Xiaomi: Fix steps and stress parsing for some devices 2024-02-25 00:02:52 +00:00
Martin.JM
facf87fc59 Limit smart alarm interval to 255 2024-02-24 09:56:56 +01:00
Martin.JM
91dc81d5dd Move snooze checkbox 2024-02-24 09:56:56 +01:00
Martin.JM
5968a04cf7 Change colors 2024-02-24 09:56:56 +01:00
Martin.JM
a4eaf66386 Change strings 2024-02-24 09:56:56 +01:00
Martin.JM
0eb2bf7dfa Fix bugs, cleanup, test device
Implemented the TestDevice, which showed some bugs.
Solved these bugs and cleaned up a bit in the process.
2024-02-24 09:56:56 +01:00
Martin.JM
71ea39efde [Huawei] Hookup smart wakeup interval and update Coordinators 2024-02-24 09:56:56 +01:00
Martin.JM
51024f7b5e Add smart wakeup interval 2024-02-24 09:56:56 +01:00
Martin.JM
37b5d0404a Update alarm unused and enabled states
- Set alarm as used when enabled in the list
- Set alarm as disabled when set as unused in the list
2024-02-24 09:56:56 +01:00
Arjan Schrijver
0383169767 Fossil/Skagen Hybrids: While syncing, mark device busy and show transfer notification 2024-02-23 20:59:01 +01:00
Arjan Schrijver
28e0914330 Fossil/Skagen Hybrids: Use steps instead of calories for activity intensity 2024-02-23 20:54:49 +01:00
José Rebelo
539579c98e
Translated using Weblate (Hungarian)
Currently translated at 77.5% (2018 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 20:32:35 +01:00
Ghost of Sparta
b3aba085e0
Translated using Weblate (Hungarian)
Currently translated at 77.5% (2018 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 20:32:35 +01:00
Andreas Shimokawa
8d6110e9b3 update changelog again 2024-02-22 17:49:36 +01:00
Ihor Hordiichuk
41da3d8208
Translated using Weblate (Ukrainian)
Currently translated at 94.5% (2462 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-02-22 13:39:04 +01:00
0que
f5376572eb
Translated using Weblate (Russian)
Currently translated at 97.5% (2540 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-22 13:39:04 +01:00
Ghost of Sparta
4158d45bf6
Translated using Weblate (Hungarian)
Currently translated at 75.4% (1964 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 13:39:03 +01:00
Yaron Shahrabani
0bd9ee8f5a
Translated using Weblate (Hebrew)
Currently translated at 90.0% (2344 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/he/
2024-02-22 13:39:03 +01:00
gallegonovato
04c810f8c2
Translated using Weblate (Spanish)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-22 13:39:02 +01:00
Rex_sa
e017f0dcc9
Translated using Weblate (Arabic)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-22 13:39:01 +01:00
Linerly
83038ad3c1
Translated using Weblate (Indonesian)
Currently translated at 88.6% (2308 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/id/
2024-02-22 13:39:01 +01:00
陈少举
0a7502a282
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-22 13:39:00 +01:00
Ghost of Sparta
8b9fc6f0e9
Translated using Weblate (Hungarian)
Currently translated at 70.0% (1824 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 13:38:59 +01:00
skdubg
e8396cd1d2
Translated using Weblate (German)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-22 13:38:59 +01:00
skdubg
0f9908c193
Translated using Weblate (German)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-22 13:38:58 +01:00
陈少举
a45da4af33
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-22 13:38:57 +01:00
Oğuz Ersen
a5aef35df4
Translated using Weblate (Turkish)
Currently translated at 79.6% (2073 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2024-02-22 13:38:57 +01:00
0que
c001d3cff6
Translated using Weblate (Russian)
Currently translated at 97.5% (2540 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-22 13:38:56 +01:00
Ghost of Sparta
c13c3ac4a3
Translated using Weblate (Hungarian)
Currently translated at 61.3% (1597 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 13:38:55 +01:00
gallegonovato
5a2972d446
Translated using Weblate (Spanish)
Currently translated at 100.0% (2603 of 2603 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-22 13:38:55 +01:00
Rex_sa
9c6e30365b
Translated using Weblate (Arabic)
Currently translated at 100.0% (2602 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-22 13:38:54 +01:00
Ghost of Sparta
602e4c9f67
Translated using Weblate (Hungarian)
Currently translated at 56.8% (1478 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 13:38:53 +01:00
skdubg
21aa36b090
Translated using Weblate (German)
Currently translated at 100.0% (2602 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-22 13:38:52 +01:00
Ghost of Sparta
1996059d2e
Translated using Weblate (Hungarian)
Currently translated at 55.1% (1435 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-22 13:38:51 +01:00
gallegonovato
43b348281d
Translated using Weblate (Spanish)
Currently translated at 100.0% (2602 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-22 13:38:51 +01:00
陈少举
2050d24d8e
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2602 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-22 13:38:50 +01:00
0que
fedd1ce7e2
Translated using Weblate (Russian)
Currently translated at 97.5% (2539 of 2602 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-22 13:38:49 +01:00
Rex_sa
48e701b03c
Translated using Weblate (Arabic)
Currently translated at 100.0% (2600 of 2600 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-22 13:38:48 +01:00
陈少举
45bd6b5914
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2600 of 2600 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-22 13:38:48 +01:00
0que
6a5e43f004
Translated using Weblate (Russian)
Currently translated at 97.5% (2537 of 2600 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-22 13:38:46 +01:00
gallegonovato
09c7dae58d
Translated using Weblate (Spanish)
Currently translated at 100.0% (2600 of 2600 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-22 13:38:45 +01:00
陈少举
f6eb32d19c
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2599 of 2599 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-22 13:38:44 +01:00
gallegonovato
8b759fc7b7
Translated using Weblate (Spanish)
Currently translated at 100.0% (2599 of 2599 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-22 13:38:44 +01:00
skdubg
0b1a1dcfb3
Translated using Weblate (German)
Currently translated at 100.0% (2599 of 2599 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-22 13:38:43 +01:00
Andreas Shimokawa
59dcea5d94 bump version, update changelogs 2024-02-22 13:38:22 +01:00
Gordon Williams
dd0dfb23ac Bangle.js: Ensure we request a higher MTU if it's been enabled in settings (otherwise Android just uses the default). Really improves communication speed. 2024-02-22 12:00:33 +00:00
Arjan Schrijver
7eb11249b9 Update linter baseline 2024-02-19 12:14:36 +01:00
Martin.JM
9a388ca386 Updated according to review
Thank you José Rebelo!
2024-02-18 20:54:59 +00:00
Martin.JM
c66051f580 Cleanup of Huawei weather implementation 2024-02-18 20:54:59 +00:00
Martin.JM
1c2516186d Small cleanup 2024-02-18 20:54:59 +00:00
Martin.JM
5ebfe9b39f Add weather settings to forecast 2024-02-18 20:54:59 +00:00
Martin.JM
b231104a88 Add moon phase support 2024-02-18 20:54:59 +00:00
Martin.JM
242f3c6dbc Add unit support and some cleanup 2024-02-18 20:54:59 +00:00
Martin.JM
043f839a4d Fix tomorrow appearing twice 2024-02-18 20:54:59 +00:00
Martin.JM
6a2186919c Always initialize weather before sending 2024-02-18 20:54:59 +00:00
Martin.JM
4b70f3fcdb Hookup Huawei GPS values 2024-02-18 20:54:59 +00:00
Vitaliy Tomin
d379b11535 Add HuaweiTLV put for double 2024-02-18 20:54:59 +00:00
Martin.JM
ee14b5d821 Small changes 2024-02-18 20:54:59 +00:00
Martin.JM
65aa5faec5 Implement Huawei weather icons 2024-02-18 20:54:59 +00:00
Martin.JM
f970b7482b Set wind values 2024-02-18 20:54:59 +00:00
Vitaliy Tomin
287b720350 Send gps and time before forecast 2024-02-18 20:54:59 +00:00
Martin.JM
14eaba858c Weather fix 2024-02-18 20:54:59 +00:00
Martin.JM
0b64408b33 Add outgoing parsing 2024-02-18 20:54:59 +00:00
Martin.JM
2b1c5b5819 Add weather forecast 2024-02-18 20:54:59 +00:00
Martin.JM
b2b176b65c Add weather support for Huawei 2024-02-18 20:54:59 +00:00
MrYoranimo
3af5a412fe Add missing ic_launcher drawables in nightly 2024-02-18 20:52:53 +00:00
MrYoranimo
fa1f99642a Move build variant-specific strings from build.gradle to separate resource files 2024-02-18 20:52:53 +00:00
Davis Mosenkovs
c1f2f5bb4b Periodic time sync: update changelog and strings 2024-02-18 22:15:24 +02:00
Davis Mosenkovs
7a79a1d0f5 Add wake lock and wakeup for time sync
Wake lock with around 10 second timeout is a quick and dirty solution,
however as the time sync should happen once per several days the 10
second wake time should not be an issue.
2024-02-18 19:12:30 +00:00
Davis Mosenkovs
cc5078332b TimeChangeReceiver: Ensure the alarm is set
Ensure TimeChangeReceiver alarm is scheduled when enabling
datetime_synconconnect and registering TimeChangeReceiver broadcast
receiver.

It is important to re-schedule the alarm after registering broadcast
receiver, because:
1. if broadcast receiver was unregistered while previous alarm arrived,
there is no alarm scheduled;
2. re-scheduling the alarm resets the periodic time sync timer when
first device is connected (which is desired).

It is important to re-schedule the alarm when datetime_synconconnect
gets enabled, because there might be no alarm scheduled.

Call onSetTime() when enabling datetime_synconconnect.
2024-02-18 19:12:30 +00:00
Davis Mosenkovs
31fc266f94 Periodically sync time on all connected devices
Sync time every 43 hours, 53 minutes and 23 seconds.
Interval is a bit smaller than 2 days.
Interval is a prime (in seconds) so time of sync will slide over time.

If next DST change is less than 48 hours in future, wait for it.
2024-02-18 19:12:30 +00:00
Martin.JM
22e51f841b Add additional smart wakeup functionality in test device
Code by José Rebelo:
https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3583#issuecomment-1571835
2024-02-18 19:01:19 +01:00
Martin.JM
275b662188 Always check smart wakeup if forced 2024-02-18 18:55:54 +01:00
Martin.JM
89b6ae9f24 Add more granular smart wakeup support
Specifically:
- Add position to smart wakeup support coordinator function
- Add interface to stop smart alarm checkbox from being changed
2024-02-18 17:24:29 +01:00
Martin.JM
01ef422812 Set alarm as used and enabled if time has changed 2024-02-18 16:33:50 +01:00
JdM
64c024a5ce Added support for xiaomi redmi watch 3 (#3582)
Co-authored-by: JdM <julien@rmbi.ch>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3582
Co-authored-by: JdM <judemont@noreply.codeberg.org>
Co-committed-by: JdM <judemont@noreply.codeberg.org>
2024-02-18 13:55:14 +00:00
Arjan Schrijver
122ff5f7f4 Fossil/Skagen Hybrids: Fix crash on multi-byte unicode characters in menu
The FosslAppWriter was writing string length instead of the bytes length
into the wapp file, causing a crash when reading the file.

Fixes #3577
2024-02-17 21:25:25 +01:00
José Rebelo
ad256fade0 Test Device: Fix NPE when using the database 2024-02-16 23:09:46 +00:00
José Rebelo
a3bd7a297a Test Device: Add fake features and data 2024-02-16 22:56:27 +00:00
Damien 'Psolyca' Gaignon
6a576202a9
[Huawei] Add Huawei Watch Fit gadget 2024-02-13 14:12:23 +01:00
Arjan Schrijver
d637b9263c Fix linter errors 2024-02-13 10:54:12 +01:00
Damien 'Psolyca' Gaignon
874bb1a14e
[Huawei] Fix test 2024-02-13 00:18:48 +01:00
Daniel Dakhno
264b6470cd Revert "Device connection: added basic code for scan-reconnect"
This reverts commit adf55fea93.
2024-02-12 23:30:32 +01:00
Daniel Dakhno
adf55fea93 Device connection: added basic code for scan-reconnect 2024-02-12 23:28:10 +01:00
Andreas Shimokawa
8b9462f521 fix tests 2024-02-12 18:31:48 +01:00
arjan-s
a977436200
Translated using Weblate (Dutch)
Currently translated at 100.0% (2598 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-02-12 15:37:05 +01:00
arjan-s
88dacc2d3b
Translated using Weblate (Dutch)
Currently translated at 96.8% (2516 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-02-12 15:37:05 +01:00
skdubg
151cc6120a
Translated using Weblate (German)
Currently translated at 100.0% (2598 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
gallegonovato
a8e7e3fb10
Translated using Weblate (Spanish)
Currently translated at 96.7% (2514 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
Rex_sa
0b0b3876a5
Translated using Weblate (Arabic)
Currently translated at 100.0% (2598 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-12 15:37:04 +01:00
Ghost of Sparta
43c3d85762
Translated using Weblate (Hungarian)
Currently translated at 53.5% (1390 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-12 15:37:04 +01:00
0que
099a4bf8ef
Translated using Weblate (Russian)
Currently translated at 97.5% (2535 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-12 15:37:04 +01:00
Ihor Hordiichuk
cd9e22a2a4
Translated using Weblate (Ukrainian)
Currently translated at 94.3% (2450 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-02-12 15:37:04 +01:00
Ács Zoltán
4603be0993
Translated using Weblate (Hungarian)
Currently translated at 52.6% (1367 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-02-12 15:37:04 +01:00
陈少举
8ff2051430
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2598 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-12 15:37:04 +01:00
skdubg
b7122aeb29
Translated using Weblate (German)
Currently translated at 100.0% (2598 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
skdubg
d913c4e082
Translated using Weblate (German)
Currently translated at 98.8% (2568 of 2598 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
陈少举
11e2d55cf6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2597 of 2597 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-12 15:37:04 +01:00
0que
a8a94d8a23
Translated using Weblate (Russian)
Currently translated at 97.3% (2528 of 2597 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-12 15:37:04 +01:00
Gregory Blanco
7aa66605a2
Translated using Weblate (Polish)
Currently translated at 98.9% (2571 of 2597 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
skdubg
ad46e23ebc
Translated using Weblate (German)
Currently translated at 98.8% (2567 of 2597 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
gallegonovato
1474692a69
Translated using Weblate (Spanish)
Currently translated at 96.7% (2513 of 2597 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
Rex_sa
b6140c8879
Translated using Weblate (Arabic)
Currently translated at 100.0% (2511 of 2511 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-12 15:37:04 +01:00
Ihor Hordiichuk
c5753d3ab9
Translated using Weblate (Ukrainian)
Currently translated at 97.2% (2441 of 2511 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-02-12 15:37:04 +01:00
0que
b33e36eec2
Translated using Weblate (Russian)
Currently translated at 99.5% (2499 of 2511 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-12 15:37:04 +01:00
gallegonovato
2dee70022f
Translated using Weblate (Spanish)
Currently translated at 100.0% (2511 of 2511 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
MattSolo451
4a43e31a0f
Translated using Weblate (Polish)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
Xtremo3
e8936124c1
Translated using Weblate (Polish)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
MattSolo451
cb38d095e1
Translated using Weblate (Polish)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
gallegonovato
9300e7035f
Translated using Weblate (Spanish)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
skdubg
af204c7f95
Translated using Weblate (German)
Currently translated at 98.9% (2484 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
Rex_sa
3dda7621cf
Translated using Weblate (Arabic)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-02-12 15:37:04 +01:00
nautilusx
8dc09c631d
Translated using Weblate (German)
Currently translated at 98.2% (2467 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
Software In Interlingua
a91dc76d82
Added translation using Weblate (Interlingua) 2024-02-12 15:37:04 +01:00
skdubg
1fe4c2db35
Translated using Weblate (German)
Currently translated at 94.8% (2381 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
0que
14635dbf3a
Translated using Weblate (Russian)
Currently translated at 99.5% (2498 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-12 15:37:04 +01:00
skdubg
411197c8f3
Translated using Weblate (German)
Currently translated at 94.8% (2380 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
arjan-s
40aba39ea5
Translated using Weblate (Dutch)
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-02-12 15:37:04 +01:00
skdubg
9ad503cfe0
Translated using Weblate (German)
Currently translated at 94.9% (2383 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
Traladarer
d647def609
Translated using Weblate (German)
Currently translated at 92.9% (2333 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
Traladarer
7f5ce81685
Translated using Weblate (German)
Currently translated at 92.9% (2333 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
skdubg
4f6bc46168
Translated using Weblate (German)
Currently translated at 92.9% (2333 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-02-12 15:37:04 +01:00
陈少举
2286839891
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2510 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-12 15:37:04 +01:00
Gregory Blanco
969ee2c55e
Translated using Weblate (Polish)
Currently translated at 99.8% (2505 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
gallegonovato
8a1bc1b524
Translated using Weblate (Spanish)
Currently translated at 99.9% (2509 of 2510 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
陈少举
3f0e0c203d
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2487 of 2487 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-02-12 15:37:04 +01:00
0que
8da0b76af1
Translated using Weblate (Russian)
Currently translated at 99.5% (2475 of 2487 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-02-12 15:37:04 +01:00
Gregory Blanco
2a2c2de041
Translated using Weblate (Polish)
Currently translated at 100.0% (2487 of 2487 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-02-12 15:37:04 +01:00
gallegonovato
6f48f67dcd
Translated using Weblate (Spanish)
Currently translated at 100.0% (2487 of 2487 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-02-12 15:37:04 +01:00
Andreas Shimokawa
5b804bfb17 update changelogs, bump version 2024-02-12 15:36:50 +01:00
Aleksandr Ivanov
2c316bfe9d Pebble: fix of pairing issue with Pebble 2 2024-02-10 16:01:45 +00:00
José Rebelo
983b7352cb Galaxy Buds2 Pro: Fix recognition of some versions
Not all earbuds use "Galaxy" in the name, apparently.

Fixes #3569
2024-02-10 12:46:55 +00:00
Damien 'Psolyca' Gaignon
88f3cc4fd0
[Huawei] Fix regression introduced with HiChainLite 2024-02-09 22:22:33 +01:00
Damien 'Psolyca' Gaignon
fc857b8adb
[Huawei] Fix attribut keyword 2024-02-09 12:03:04 +01:00
Damien 'Psolyca' Gaignon
ef06fd4d5e
[Huawei] Fix test 2024-02-09 12:03:03 +01:00
Damien 'Psolyca' Gaignon
21b97a9276
[Huawei] Fix BondParamsRequest stopChain 2024-02-09 12:03:03 +01:00
Damien 'Psolyca' Gaignon
510b8096ed
[Huawei] Fix transactions encryption 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
d5cecc4a84
[Huawei] GT2 transaction crypted 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
bb5fe00643
[Huawei] Change bond request behaviour 2024-02-09 12:03:02 +01:00
Damien 'Psolyca' Gaignon
05c11cbd14
[Huawei] Add HiChainLite firstKey handling 2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
270212a771
[Huawei] Rename authMode to deviceSupportType 2024-02-09 12:03:01 +01:00
Damien 'Psolyca' Gaignon
2880297c51
[Huawei] Fix pin code encoding 2024-02-09 12:02:53 +01:00
Arjan Schrijver
8aaa766dcd Fix crash when receiving empty music state 2024-02-04 20:35:40 +01:00
José Rebelo
145c2b8c6c Zepp OS: Recognize devices with a dash before mac address suffix 2024-02-02 20:58:00 +00:00
José Rebelo
944e0d92a7 Zepp OS: Fix AGPS uploads
Regression introduced by 34fd18885a - UIHH upload is needed for AGPS
updates on older devices.
2024-02-02 20:51:06 +00:00
Damien 'Psolyca' Gaignon
2a377ba5ab
[Huawei] Change bonding style for all BR gadgets 2024-02-01 22:14:45 +01:00
José Rebelo
3e08a754e0 Xiaomi: Fix indoor cycling recognition 2024-02-01 20:02:31 +00:00
Victor Kareh
b647631c07 pinetime: Fix weather forecast write
Fixes a typo in the weather forecast characteristic writer that causes
Gadgetbridge to send the current weather twice rather than sending the
forecast.
2024-02-01 18:59:06 +00:00
José Rebelo
dbfb8e5c38 Zepp OS: Improve logging
- Do not log characteristic changes handled by parent class
- Log discovered service names
- Request and log supported config groups
2024-02-01 18:48:15 +00:00
José Rebelo
aa4a7912ef Zepp OS: Match devices by exact bluetooth name
This attemts to reduce false positives, especially for devices that
present as two bluetooth devices such as the GTR 4.
2024-02-01 18:47:36 +00:00
José Rebelo
34fd18885a Zepp OS: Refactor firmware uploads
Zepp OS 3 firmware upgrades are big (200MB+). Gadgetbridge was crashing,
since the entire firmware file would be pulled into memory.

This commit unifies all the logic for Zepp OS firmware handling.

However, since the needed refactor was big, this commit duplicates some
of the code from Huami classes, namely:
- ZeppOsFirmwareUpdateOperation clones UpdateFirmwareOperation2020
- ZeppOsFwInstallHandler clones AbstractMiBandFWInstallHandler

This avoids changes to older device logic and introducing regressions.

Lost functionality:
- Repackaging firmwares as UIHH (does not seem to be needed, and was not
  used anyway). Code can be recovered from this commit if needed in the
  future
- Whitelisted firmwares by checksum (we do not have a lot of them at
  this point anyway)

Other misc changes:
- Rename ZipFile to GBZipFile not to clash with the java class

Tested by updating the Amazfit GTR 4 to Zepp OS 3.
2024-02-01 18:47:28 +00:00
Martin.JM
4b38a67a58 Fix Huawei exceptions related to early packets
Also adds more robust tag checks for Huawei packets
2024-01-30 12:15:46 +01:00
José Rebelo
773132c4e1 Make all Zepp OS classes explicit
There are still some actual "Huami 2021" classes that are used in
non-ZeppOS devices, but this refactor improves the distinction.
2024-01-29 23:30:28 +00:00
Damien 'Psolyca' Gaignon
86461ada1a
[Huawei] Add new Crypto and authMode 2024-01-29 21:51:45 +01:00
Damien 'Psolyca' Gaignon
f759072a7c
[Huawei] Add PBKDF2 crypto 2024-01-29 21:34:08 +01:00
Damien 'Psolyca' Gaignon
2b5a49641a
[Huawei] Fix clientNonce for HiChainLite 2024-01-29 21:21:20 +01:00
José Rebelo
61116c5fc8 Upgrade to gradlew 7.6, mockito-core 2.28.2
Fixes the unit tests after the AGP upgrade from 1a92bcf8a
2024-01-29 18:50:40 +00:00
José Rebelo
c472f0ab9a Redmi Watch 2: Experimental support 2024-01-29 18:14:34 +00:00
opcode
cf0e8be816 Xiaomi: Further sleep parsing fix 2024-01-28 21:01:20 +00:00
José Rebelo
b0ff9eae88 MusicManager: Fix NPE when music not playing 2024-01-28 20:26:35 +00:00
Damien 'Psolyca' Gaignon
a53d59f907
Add AW for bond request 2024-01-28 20:46:47 +01:00
Damien 'Psolyca' Gaignon
b860ab116f
Add uncrypted transactions for TalkBand 6 2024-01-28 20:46:47 +01:00
Damien 'Psolyca' Gaignon
2a41b77ffc
Add uncrypted transactions for GT3 2024-01-28 20:46:46 +01:00
Damien 'Psolyca' Gaignon
a64317fe7a
Add uncrypted transactions for GT2 2024-01-28 20:46:46 +01:00
Damien 'Psolyca' Gaignon
e974d00104
Set transaction encryption to false 2024-01-28 20:46:45 +01:00
Damien 'Psolyca' Gaignon
0ed9e5b1a8
Fix normal mode connection 2024-01-28 20:46:45 +01:00
Damien 'Psolyca' Gaignon
0e5545191d
Add Honor Magic Watch 2 2024-01-28 20:46:27 +01:00
José Rebelo
5999eb01d0 Nothing CMF Watch Pro: Initial support 2024-01-28 18:46:13 +00:00
Denis Pitzalis
207a2a9b01 initial support for sony WI-SP600N (#3522)
Initial support for sony wi-sp600n reported working . minor difference with the inspiring wf-sp800n

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3522
Co-authored-by: Denis Pitzalis <denics@free.fr>
Co-committed-by: Denis Pitzalis <denics@free.fr>
2024-01-27 23:21:11 +00:00
Aleksandr Ivanov
139e9cfb14 Pebble: fix of app configuration webview 2024-01-28 01:54:12 +03:00
opcode
4dbe5744da Xiaomi: Fix parsing sleep headers 2024-01-26 21:49:40 +01:00
José Rebelo
1a92bcf8a5 Upgrade to Android Gradle Plugin 7.4.2
Rename "main" flavor to "mainline", since that breaks the build.

https://stackoverflow.com/questions/72775247/productflavors-main-gradle-error-multiple-entries-with-same-key-main-and
2024-01-22 20:18:49 +00:00
MrYoranimo
8a7de15841 BtLEQueue: update device state on main looper
If the device connection state is updated from two threads simultaneously
(as in, from the main looper and from the thread that handles
BluetoothDevice.connectGatt), a second update may get overridden by the
first update if the broadcasts are handled out-of-order by the
LocalBroadcastManager.

By updating the device state through a handler on the main looper, the
broadcasts are sent in order as they are processed from the looper's
queue.

This may be a potential solve for issue #3524.
2024-01-21 01:56:34 +01:00
José Rebelo
7955bdfb6f Xiaomi: Improve sleep parsing
- Some devices send a random int 0, which would prevent sleep stage
  parsing
- Some devices send the details as a file of type summary, but same
  structure
- It is still not stable for all devices

Thanks to @opcode for the parsing logic
2024-01-20 23:16:36 +00:00
José Rebelo
6b2cb05027 Xiaomi: Fetch manual samples 2024-01-18 21:06:40 +00:00
José Rebelo
ec01e456aa Fix material design switch on sleep mode preferences
Fixes #3516
2024-01-18 18:12:27 +00:00
José Rebelo
94c763ef99 Zepp OS: Ensure all communication respects service encryption flag
Not all communication was moved to services, and some might not be
respecting the encryption flag sent during initialization implemented
in 3a2b02df2. Some services are encrypted or not across different
watches - see #3308.
2024-01-17 20:43:17 +00:00
José Rebelo
0e56af4ce9 Xiaomi Watch S3: Experimental support 2024-01-17 20:29:06 +00:00
MrYoranimo
b395e889c3 Xiaomi: temporary fix for database errors when reconnecting 2024-01-17 20:16:38 +00:00
MrYoranimo
7f68dc5449 Set default year for date-of-birth to 1970
Prevent undefined behavior on devices that do not have a range check on
the year from the DOB before calculating someone's age
2024-01-17 20:16:38 +00:00
MrYoranimo
1185699c56 BtBRQueue: use Handler(Thread) for sending messages and connecting socket 2024-01-17 20:16:38 +00:00
MrYoranimo
ae97e961b9 Xiaomi: add potential service and characteristic UUIDs 2024-01-17 20:16:38 +00:00
MrYoranimo
339859c829 Xiaomi: change BLE max chunk size with MTU changes 2024-01-17 20:16:38 +00:00
MrYoranimo
53a7cc5b30 Xiaomi: run data upload service finalization on respective queue 2024-01-17 20:16:38 +00:00
MrYoranimo
d217a0b15f Xiaomi: fix only short-bytes from int nonce being used during encryption 2024-01-17 20:16:38 +00:00
MrYoranimo
b9cbd14ffe Xiaomi: fix logic for ability to select widget workout type 2024-01-17 20:16:38 +00:00
MrYoranimo
b31d98c7a0 Xiaomi: add support for data uploading over SPP 2024-01-17 20:16:38 +00:00
MrYoranimo
e5c2bd51c2 Xiaomi: refactor XiaomiCharacteristic to use callback per message 2024-01-17 20:16:38 +00:00
MrYoranimo
592a52054f Xiaomi: request battery level and charging state on an interval 2024-01-17 20:16:38 +00:00
MrYoranimo
429d717630 Xiaomi: recognize a full battery as a valid charger state 2024-01-17 20:16:38 +00:00
MrYoranimo
2ef461ab90 Add header to device-specific activity data settings 2024-01-17 20:16:38 +00:00
MrYoranimo
399248e22c Xiaomi: allow forcing the connection type from connection settings 2024-01-17 20:16:38 +00:00
MrYoranimo
2812ad1429 Xiaomi Watch S1 Active: disable find device and override connection type 2024-01-17 20:16:38 +00:00
MrYoranimo
815582354d Redmi Watch 3 Active: override connection type 2024-01-17 20:16:38 +00:00
MrYoranimo
c9d880456a Xiaomi Smart Band 8 Pro: add experimental support 2024-01-17 20:16:38 +00:00
MrYoranimo
1d1ef9fba6 Xiaomi Watch S1: add experimental support 2024-01-17 20:16:38 +00:00
MrYoranimo
04460fc3f4 Xiaomi Watch S1 Pro: add experimental support 2024-01-17 20:16:38 +00:00
MrYoranimo
ce179a29ae Xiaomi: introduce XiaomiSppSupport 2024-01-17 20:16:38 +00:00
MrYoranimo
ac1991104b BtLEQueue: add null check in onMtuChanged for mWaitForActionResultLatch 2024-01-17 20:16:38 +00:00
MrYoranimo
98e8ec2329 Xiaomi: Introduce XiaomiConnectionSupport
Co-Authored-By: José Rebelo <joserebelo@outlook.com>
2024-01-17 20:16:38 +00:00
MrYoranimo
25dcba23c3 Upgrade build-tools (33.0.0 -> 33.0.1)
This fixes a segfault in the aidl utility on Windows.
2024-01-17 20:16:38 +00:00
José Rebelo
8574a41fe7 Xiaomi: Fix sleep sometimes extending past the wakeup time 2024-01-17 20:13:07 +00:00
José Rebelo
4231e97cff Sony Headphones: Allow choice of protocol version 2024-01-17 18:48:10 +00:00
Oleg Afanasyev
c60ff90779 Missing string for sport activity summary. 2024-01-17 18:16:01 +00:00
Oleg Afanasyev
414cf5e472 Sport Activity Summary: fix group order instability
Previously group order was determined on the fly by available entries order or appearance.
This commit changes it to use group definition order.
2024-01-17 18:16:01 +00:00
José Rebelo
9095ffad8b Mijia MHO-C303: Initial support 2024-01-17 17:55:15 +00:00
Martin.JM
e6aa0afa7e Fix huawei debug request 2024-01-17 14:55:13 +01:00
José Rebelo
3b8428e795 Redmi Smart Band Pro: Fix password digits 2024-01-16 20:52:10 +00:00
José Rebelo
3a2b02df2a Zepp OS: Query supported services and encryption flag 2024-01-15 21:27:01 +00:00
Andreas Shimokawa
baaee8f589 update fastland and xml changelog 2024-01-14 22:55:22 +01:00
Andreas Shimokawa
aae820a6e7 make changelog smaller, bump version 2024-01-14 22:42:05 +01:00
Ács Zoltán
37f342dae2
Translated using Weblate (Hungarian)
Currently translated at 54.8% (1363 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-01-14 21:31:15 +01:00
陈少举
c6ab0fc2f6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2486 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-14 21:31:15 +01:00
0que
019eca6843
Translated using Weblate (Russian)
Currently translated at 99.5% (2474 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-14 21:31:15 +01:00
Gregory Blanco
26243daaf6
Translated using Weblate (Polish)
Currently translated at 100.0% (2486 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-14 21:31:15 +01:00
Xtremo3
3ddd00bd2e
Translated using Weblate (Polish)
Currently translated at 100.0% (2486 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-14 21:31:15 +01:00
gallegonovato
88ad74b87a
Translated using Weblate (Spanish)
Currently translated at 100.0% (2486 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-14 21:31:15 +01:00
foxstidious
ba59c62fa4 Add support for snooze alarm on CasioGBX100 devices 2024-01-14 20:29:30 +00:00
José Rebelo
0b7c53698a Xiaomi: Fix sleep stages extending past wakeup time 2024-01-14 17:02:42 +00:00
opcode
f5cf21bf05 Xiaomi: Parse SleepSummary 2024-01-14 17:02:42 +00:00
opcode
e06b2e1f95 Xiaomi: Implement sleep stage parsing
This allows sleep stage detection to work by parsing
some of the data sent in SleepDetails.

It's still missing parsing the summary contained inside SleepDetails.
and decoding the large amount of other mostly unknown data.
2024-01-14 17:02:42 +00:00
Damien 'Psolyca' Gaignon
1e1f0014c7
Huawei : Change method to get device name round 2 2024-01-13 17:27:09 +01:00
arjan-s
4ce5b59e15
Translated using Weblate (Dutch)
Currently translated at 100.0% (2486 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:07 +01:00
Gregory Blanco
849c6c29b3
Translated using Weblate (Polish)
Currently translated at 98.8% (2458 of 2486 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:07 +01:00
arjan-s
c179f96c63
Translated using Weblate (Dutch)
Currently translated at 99.8% (2481 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:07 +01:00
Ihor Hordiichuk
40985f0f62
Translated using Weblate (Ukrainian)
Currently translated at 97.8% (2432 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:07 +01:00
Gregory Blanco
fab6f540a4
Translated using Weblate (Polish)
Currently translated at 98.8% (2457 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:07 +01:00
Kim Tae Kyeong
493202e860
Translated using Weblate (Korean)
Currently translated at 23.9% (595 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ko/
2024-01-10 23:54:07 +01:00
陈少举
b23acf0de1
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2485 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:07 +01:00
0que
8c43e53db4
Translated using Weblate (Russian)
Currently translated at 99.5% (2473 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:07 +01:00
Gregory Blanco
8a036596d5
Translated using Weblate (Polish)
Currently translated at 98.6% (2452 of 2485 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:07 +01:00
陈少举
023be0d603
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2484 of 2484 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:07 +01:00
0que
0a6e75807d
Translated using Weblate (Russian)
Currently translated at 99.5% (2472 of 2484 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
gallegonovato
5302a9b3c3
Translated using Weblate (Spanish)
Currently translated at 100.0% (2484 of 2484 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
arjan-s
e1aeeaaf45
Translated using Weblate (Dutch)
Currently translated at 99.3% (2466 of 2482 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
陈少举
101fd344fc
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2482 of 2482 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
0que
58058d7d48
Translated using Weblate (Russian)
Currently translated at 98.0% (2433 of 2482 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
MattSolo451
69cf771504
Translated using Weblate (Polish)
Currently translated at 98.0% (2433 of 2482 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
Сергій
8a029cb8d2
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2425 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
陈少举
00a9fb2303
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2425 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
0que
f3c82bfae8
Translated using Weblate (Russian)
Currently translated at 99.3% (2409 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
Xtremo3
6f7788f151
Translated using Weblate (Polish)
Currently translated at 100.0% (2425 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
gallegonovato
a7e1a7e2db
Translated using Weblate (Spanish)
Currently translated at 100.0% (2425 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
Jan Peter
547da9de0d
Translated using Weblate (German)
Currently translated at 94.5% (2294 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2024-01-10 23:54:06 +01:00
Rex_sa
ec5b922a45
Translated using Weblate (Arabic)
Currently translated at 100.0% (2425 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
Ács Zoltán
b233c1058d
Translated using Weblate (Hungarian)
Currently translated at 54.9% (1333 of 2425 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-01-10 23:54:06 +01:00
Rex_sa
705d9b7ff2
Translated using Weblate (Arabic)
Currently translated at 100.0% (2422 of 2422 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
Xtremo3
e9f82ed2f3
Translated using Weblate (Polish)
Currently translated at 100.0% (2422 of 2422 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
gallegonovato
70789c5b42
Translated using Weblate (Spanish)
Currently translated at 100.0% (2422 of 2422 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
Koen
42800ecfe4
Translated using Weblate (Dutch)
Currently translated at 100.0% (2421 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
Ács Zoltán
3ef8965e2d
Translated using Weblate (Hungarian)
Currently translated at 55.0% (1333 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-01-10 23:54:06 +01:00
Rex_sa
0d421c5745
Translated using Weblate (Arabic)
Currently translated at 100.0% (2421 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
陈少举
be3cab9388
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2421 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
0que
5939691b68
Translated using Weblate (Russian)
Currently translated at 99.3% (2406 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
Xtremo3
7d7a376aa8
Translated using Weblate (Polish)
Currently translated at 100.0% (2421 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
gallegonovato
b7c4d6551a
Translated using Weblate (Spanish)
Currently translated at 100.0% (2421 of 2421 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
Rex_sa
107669d60c
Translated using Weblate (Arabic)
Currently translated at 100.0% (2420 of 2420 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
陈少举
41c18dd2db
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2420 of 2420 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
Сергій
abbd6c9a67
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2420 of 2420 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
Ihor Hordiichuk
ccbf25a05d
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
Hikaru
d73b209d91
Translated using Weblate (Japanese)
Currently translated at 28.3% (686 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ja/
2024-01-10 23:54:06 +01:00
Сергій
08b63a7ded
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
0que
7220fda85b
Translated using Weblate (Russian)
Currently translated at 99.3% (2404 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
Xtremo3
199d57bcc9
Translated using Weblate (Polish)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
arjan-s
9bcb9dc0dc
Translated using Weblate (Dutch)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
José Rebelo
94ef8d58e1
Translated using Weblate (Spanish)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
Rex_sa
fd56c2358d
Translated using Weblate (Arabic)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
Shimon
3fed2abe65
Translated using Weblate (Czech)
Currently translated at 89.8% (2173 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-01-10 23:54:06 +01:00
陈少举
4e4e64e7af
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
gallegonovato
08301beb48
Translated using Weblate (Spanish)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
陈少举
9504a1fe5e
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2418 of 2418 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
arjan-s
9644b99985
Translated using Weblate (Dutch)
Currently translated at 100.0% (2418 of 2418 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
Shimon
b9544c2f37
Translated using Weblate (Czech)
Currently translated at 89.7% (2170 of 2418 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2024-01-10 23:54:06 +01:00
Ihor Hordiichuk
5e8d511f2f
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2417 of 2417 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
Ihor Hordiichuk
81a89d3292
Translated using Weblate (Ukrainian)
Currently translated at 99.4% (2398 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
Ihor Hordiichuk
adaba8a4c6
Translated using Weblate (Ukrainian)
Currently translated at 99.1% (2391 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:06 +01:00
Xtremo3
6a195bf935
Translated using Weblate (Polish)
Currently translated at 100.0% (2411 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:06 +01:00
0que
d755456124
Translated using Weblate (Russian)
Currently translated at 99.2% (2394 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:06 +01:00
Rex_sa
b169026c04
Translated using Weblate (Arabic)
Currently translated at 100.0% (2411 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
arjan-s
9db7f9df15
Translated using Weblate (Dutch)
Currently translated at 100.0% (2411 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
陈少举
b3bcc241ba
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2411 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:06 +01:00
gallegonovato
969758fc91
Translated using Weblate (Spanish)
Currently translated at 100.0% (2411 of 2411 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:06 +01:00
Rex_sa
d5245485ee
Translated using Weblate (Arabic)
Currently translated at 100.0% (2410 of 2410 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:06 +01:00
arjan-s
8503a5fdde
Translated using Weblate (Dutch)
Currently translated at 100.0% (2410 of 2410 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:06 +01:00
陈少举
4d6ff446a0
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2410 of 2410 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
0que
e8130fe699
Translated using Weblate (Russian)
Currently translated at 99.2% (2393 of 2410 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
Ihor Hordiichuk
47ef7ec970
Translated using Weblate (Ukrainian)
Currently translated at 98.1% (2363 of 2407 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/uk/
2024-01-10 23:54:05 +01:00
gallegonovato
663e5ef40e
Translated using Weblate (Spanish)
Currently translated at 100.0% (2407 of 2407 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
陈少举
2c45f4606a
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2407 of 2407 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
0que
e62d75b443
Translated using Weblate (Russian)
Currently translated at 99.2% (2390 of 2407 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
gallegonovato
3ab8521801
Translated using Weblate (Spanish)
Currently translated at 100.0% (2405 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
陈少举
9c5c45331b
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2405 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
Ray
257be4106a
Translated using Weblate (Russian)
Currently translated at 99.2% (2388 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
0que
b50f214f45
Translated using Weblate (Russian)
Currently translated at 99.2% (2388 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
Xtremo3
bac5d6e6ff
Translated using Weblate (Polish)
Currently translated at 98.2% (2362 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:05 +01:00
陈少举
c21fbb42bb
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2405 of 2405 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
陈少举
e7dbc2d052
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2384 of 2384 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
gallegonovato
c1929948b4
Translated using Weblate (Spanish)
Currently translated at 100.0% (2384 of 2384 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
arjan-s
65f45297bc
Translated using Weblate (Dutch)
Currently translated at 100.0% (2383 of 2383 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
陈少举
a9fab7dd89
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2379 of 2379 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
Storm
13bb025c1b
Translated using Weblate (French)
Currently translated at 100.0% (2375 of 2375 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-01-10 23:54:05 +01:00
Vincèn PUJOL
01f80500e3
Translated using Weblate (French)
Currently translated at 100.0% (2375 of 2375 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-01-10 23:54:05 +01:00
Manuel-Senpai
a69101ed33
Translated using Weblate (Spanish)
Currently translated at 100.0% (2375 of 2375 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
gallegonovato
972aaa3103
Translated using Weblate (Spanish)
Currently translated at 99.8% (2372 of 2375 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
gallegonovato
555cf27aeb
Translated using Weblate (Spanish)
Currently translated at 100.0% (2370 of 2370 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
陈少举
4857b92847
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2367 of 2367 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
gallegonovato
4eb30a7951
Translated using Weblate (Spanish)
Currently translated at 100.0% (2367 of 2367 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
arjan-s
2bc0b33c69
Translated using Weblate (Dutch)
Currently translated at 100.0% (2362 of 2362 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
0que
2dcac19665
Translated using Weblate (Russian)
Currently translated at 99.4% (2348 of 2362 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
gallegonovato
b85c40313b
Translated using Weblate (Spanish)
Currently translated at 100.0% (2362 of 2362 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
陈少举
48f30b3d26
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2362 of 2362 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
Storm
a795020b37
Translated using Weblate (French (Canada))
Currently translated at 34.0% (804 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr_CA/
2024-01-10 23:54:05 +01:00
陈少举
19aac0f738
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2360 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
0que
9846ae8988
Translated using Weblate (Russian)
Currently translated at 99.4% (2346 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
Xtremo3
a39696d81a
Translated using Weblate (Polish)
Currently translated at 100.0% (2360 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:05 +01:00
Ács Zoltán
374fda85b6
Translated using Weblate (Hungarian)
Currently translated at 52.5% (1241 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-01-10 23:54:05 +01:00
Vincèn PUJOL
4423c7098b
Translated using Weblate (French)
Currently translated at 100.0% (2360 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-01-10 23:54:05 +01:00
Storm
b01804049f
Translated using Weblate (French)
Currently translated at 100.0% (2360 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2024-01-10 23:54:05 +01:00
gallegonovato
9ff4d47368
Translated using Weblate (Spanish)
Currently translated at 100.0% (2360 of 2360 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
arjan-s
7c6fac1dab
Translated using Weblate (Dutch)
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
Ács Zoltán
89487b540d
Translated using Weblate (Hungarian)
Currently translated at 52.4% (1238 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2024-01-10 23:54:05 +01:00
Manuel-Senpai
b04dbec566
Translated using Weblate (Spanish)
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
0que
d78354cd36
Translated using Weblate (Russian)
Currently translated at 99.4% (2345 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
Xtremo3
237048c8f7
Translated using Weblate (Polish)
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:05 +01:00
Rex_sa
f4c353dca7
Translated using Weblate (Arabic)
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:05 +01:00
陈少举
dd779804e6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
gallegonovato
42763d1b86
Translated using Weblate (Spanish)
Currently translated at 100.0% (2359 of 2359 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
arjan-s
25eb1417b0
Translated using Weblate (Dutch)
Currently translated at 100.0% (2358 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
0que
8260016dc7
Translated using Weblate (Russian)
Currently translated at 99.4% (2344 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
Rex_sa
637d9048cb
Translated using Weblate (Arabic)
Currently translated at 100.0% (2358 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:05 +01:00
Mozart Michael
b914dd48c2
Translated using Weblate (Romanian)
Currently translated at 6.8% (161 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ro/
2024-01-10 23:54:05 +01:00
陈少举
270c3269c6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2358 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
arjan-s
97d0ce44c4
Translated using Weblate (Dutch)
Currently translated at 100.0% (2358 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
gallegonovato
02be91e85c
Translated using Weblate (Spanish)
Currently translated at 100.0% (2358 of 2358 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
gallegonovato
a239cbb26d
Translated using Weblate (Spanish)
Currently translated at 100.0% (2357 of 2357 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:05 +01:00
Rex_sa
eed97c7ff4
Translated using Weblate (Arabic)
Currently translated at 100.0% (2356 of 2356 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:05 +01:00
arjan-s
80f179a0ca
Translated using Weblate (Dutch)
Currently translated at 100.0% (2356 of 2356 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:05 +01:00
0que
a0ddfe07b1
Translated using Weblate (Russian)
Currently translated at 99.4% (2342 of 2356 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:05 +01:00
陈少举
f3b0bc8132
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2356 of 2356 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:05 +01:00
gallegonovato
c2cd0d581f
Translated using Weblate (Spanish)
Currently translated at 100.0% (2356 of 2356 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:04 +01:00
Rex_sa
53fae9d6b5
Translated using Weblate (Arabic)
Currently translated at 100.0% (2331 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ar/
2024-01-10 23:54:04 +01:00
陈少举
aef6ff01ef
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2331 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2024-01-10 23:54:04 +01:00
arjan-s
29d9d0613d
Translated using Weblate (Dutch)
Currently translated at 100.0% (2331 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2024-01-10 23:54:04 +01:00
0que
8070800bbe
Translated using Weblate (Russian)
Currently translated at 99.4% (2319 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2024-01-10 23:54:04 +01:00
Xtremo3
6cbf39aa84
Translated using Weblate (Polish)
Currently translated at 100.0% (2331 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/pl/
2024-01-10 23:54:04 +01:00
glemco
f5b22824c8
Translated using Weblate (Italian)
Currently translated at 96.4% (2249 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/it/
2024-01-10 23:54:04 +01:00
Manuel-Senpai
7fe9ffa914
Translated using Weblate (Spanish)
Currently translated at 100.0% (2331 of 2331 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:04 +01:00
gallegonovato
79e419f12b
Translated using Weblate (Spanish)
Currently translated at 100.0% (2327 of 2327 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2024-01-10 23:54:04 +01:00
Mozart Michael
984b22d55f
Translated using Weblate (Romanian)
Currently translated at 6.9% (161 of 2323 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ro/
2024-01-10 23:54:04 +01:00
José Rebelo
8d7a6be7eb Xiaomi: Enable activity fetching for all devices 2024-01-10 22:39:04 +00:00
José Rebelo
823bd829ce Zepp OS: Add some missing control center items 2024-01-10 19:47:25 +00:00
Martin.JM
704875c3c2 Update license headers 2024-01-10 18:25:20 +00:00
FYG_license_bot_ignore_me
4c7476845b Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01:00
José Rebelo
d63db41f90 Huami: Display proper error when battery too low to install firmware 2024-01-09 19:12:03 +00:00
José Rebelo
aeec68aeef Huami: Fetch SpO2 on devices that support it 2024-01-09 17:43:43 +00:00
myxor
5e6d18d413 Debug screen: put both weather buttons in one line next to each other 2024-01-09 17:31:04 +00:00
opcode
372aa88e6e Xiaomi: Weather fixes and Implement wind and AQI
Many fields were incorrectly being sent as uint32 instead of sint32. This caused issues with forecast icons.
2024-01-09 17:28:50 +00:00
Damien 'Psolyca' Gaignon
cb7121a32e Huawei : Change method to get device name 2024-01-09 17:27:37 +00:00
José Rebelo
9bfe3dcd5f Huawei: Fix tests
- Allow the calendar to be passed as parameter for tests
- Disable the setWearMessage test, for now, broken since 5b0736b751
2024-01-09 17:27:18 +00:00
Damien 'Psolyca' Gaignon
e489d0d811
Fix string comparison 2024-01-08 21:29:57 +01:00
Davis Mosenkovs
5bcebe9590 Disconnect all devices that are not NOT_CONNECTED
Disconnect devices in all states except GBDevice.State.NOT_CONNECTED.
This should fix devices getting stuck in GBDevice.State.CONNECTING state
when Bluetooth is switched off.
2024-01-08 17:11:33 +00:00
Davis Mosenkovs
9e10da062e Add "Reconnect only to connected devices" setting
* Add general_reconnectonlytoconnected setting.

* Replace last_device_address shared prefs string with
last_device_addresses shared prefs string set.
Bluetooth address of a device is added to last_device_addresses when
connecting to the device.
Bluetooth address of a device is removed from last_device_addresses only
when deleting the device or explicitly disconnecting from the device
(e.g. by selecting "Disconnect" in the device tile menu).

* Adjust ExternalPebbleJSActivity to better support multiple connected
devices.
2024-01-08 17:11:33 +00:00
Davis Mosenkovs
904a7807a8 Automatically connect to all devices
Automatically connect to all devices instead of connecting only to the
last connected device.
2024-01-08 17:11:33 +00:00
José Rebelo
705361ae3a Huawei: Fix linter
Math.multiplyExact is only available on SDK24 onward. We do not expect
an overflow to occur here, since the hashLength is fixed and the outputLength
is small (32 on all current calls).
2024-01-08 13:43:26 +00:00
Damien 'Psolyca' Gaignon
0c22ecdd51
Huawei: Add initial support for Huawei-Honor 2024-01-07 23:18:08 +01:00
José Rebelo
ab894ae433 Extract hardcoded activity summary entries to constants 2024-01-06 13:54:06 +00:00
José Rebelo
4e54f8137d Xiaomi: Improve walking v2 parsing 2024-01-05 21:29:12 +00:00
José Rebelo
a61f7d70d5 Xiaomi: Parse indoor cycling 2024-01-05 21:25:17 +00:00
José Rebelo
dd1843505e Xiaomi: Fix extreme hr zone parsing 2024-01-05 21:07:22 +00:00
José Rebelo
f7258034cc Xiaomi: Refactor workout summary parsing 2024-01-05 21:04:19 +00:00
José Rebelo
05d8f99312 Nothing Ear (Stick): Initial support
- Refactor common coordinator logic to AbstractEarCoordinator
- Increment message counter on the stick
- Make audio modes translatable
2024-01-05 09:35:03 +00:00
FintasticMan
ecd13b4d8e Update to new simple weather spec 2024-01-04 20:34:21 +00:00
FintasticMan
655d202512 Add simple weather condition
Co-authored-by: Victor Kareh <vkareh@redhat.com>
2024-01-04 20:34:21 +00:00
FintasticMan
127867441a Add support for InfiniTime's new simple weather
Co-authored-by: Jean-François Milants <jf@codingfield.com>
2024-01-04 20:34:21 +00:00
José Rebelo
4d5ce069aa Nothing Ear (2): Initial support 2024-01-04 19:15:07 +00:00
José Rebelo
932ec8336c Xiaomi: Fix persisting unknown workouts 2024-01-03 21:37:27 +00:00
José Rebelo
951d8f25b7 Xiaomi: Add indoor cycling 2024-01-03 21:35:18 +00:00
Jean-François Milants
73a3a4b603 Fix DFU MTU value for PineTime
Explicitely disable the request MTU feature from the NRF DFU library to ensure that it'll send 20 bytes packets (instead of 253B, which will crash InfiniTime).
2024-01-03 20:42:22 +00:00
Roberto P. Rubio
6cc57a15f5 Adds a specific Notifications Channel to Connection Status Notifications 2024-01-01 19:30:42 +00:00
José Rebelo
fa6489b300 Redmi Smart Band Pro: Experimental support 2024-01-01 12:18:36 +00:00
José Rebelo
70e1d852ba Xiaomi: Fix crash when parsing unknown workout summary 2023-12-30 18:37:22 +00:00
José Rebelo
1907912bd2 Xiaomi: Fix outdoor walking parsing on some watches 2023-12-29 19:54:43 +00:00
José Rebelo
e14b2fc382 Pixoo: Enable flashing 2023-12-26 22:12:22 +00:00
José Rebelo
c9fec4e33a Xiaomi: Identify strength training, elliptical and outdoor running 2023-12-26 22:07:35 +00:00
José Rebelo
aa7c2b1731 Xiaomi: Improve workout summary parsing
Outdoor walking on the Mi Band 8, but does not seem to match the summary
from the Mi Band 7 Pro.
2023-12-26 22:02:43 +00:00
Andreas Shimokawa
177fa56bb9 Pixoo: Quick hack to "install" any image on the pixoo 2023-12-26 20:38:13 +01:00
José Rebelo
b77ba8b74c Pebble: Attempt to fix app configuration webview
See #3373 and possibly #3424
2023-12-26 16:48:59 +00:00
Andreas Shimokawa
f4d7a6b490 Pixoo: implement sending bitmaps
Not really used right not - mapped to "test new functionality"
2023-12-26 01:14:16 +01:00
José Rebelo
09fbc2665b Redmi Watch 2 Lite: Experimental support 2023-12-24 16:38:11 +00:00
José Rebelo
1cfd00c924 Pixoo: Add setting to disable notifications 2023-12-23 21:51:54 +00:00
José Rebelo
4a7a201971 Pixoo: Support custom device name 2023-12-23 21:27:57 +00:00
Arjan Schrijver
9c619c6c7c Fossil/Skagen Hybrids: Make navigation options texts translatable 2023-12-23 22:13:36 +01:00
Arjan Schrijver
7aeb0dd2ef Fossil/Skagen Hybrids: Update navigationApp to 1.1
Changes:
- Support locking (keep visible and let hands display time)
- Support merge navigation instruction
- Support wrist flick gesture to move hands
- Support GB-configurable foreground and vibration behaviour
2023-12-23 22:05:51 +01:00
José Rebelo
5ffed2aa62 Xiaomi: Fix crash if device does not provide full stress and spo2 data 2023-12-23 14:08:39 +00:00
José Rebelo
a62ff4eabb Xiaomi: Improve activity details parsing on some devices 2023-12-22 22:44:30 +00:00
José Rebelo
71b55902d0 Mi Band 7 Pro: Disable PAI
Reported not supported on matrix.
2023-12-22 22:42:27 +00:00
José Rebelo
fb803cbdda Xiaomi: Enable REM sleep 2023-12-22 22:21:51 +00:00
José Rebelo
b79f774e3e Xiaomi: Add debug function to parse all activity files from storage 2023-12-22 22:21:51 +00:00
José Rebelo
09c33b3541 Xiaomi: Persist and overlay sleep stages 2023-12-22 22:21:51 +00:00
José Rebelo
82863ff305 Xiaomi: Add sleep stages parser
From Alice
2023-12-22 19:19:56 +00:00
José Rebelo
b535784117 Mijia LYWSD03MMC: Initial support
Same protocol as LYWSD02, but does not support setting the time.
2023-12-22 12:35:35 +00:00
José Rebelo
149b6236a0 Mijia LYWSD: Make support class generic 2023-12-22 12:26:15 +00:00
Arjan Schrijver
4c0750e75a Add missing navigation actions to GMaps handler 2023-12-21 11:16:23 +01:00
LuK1337
0ca35ad935 Xiaomi: Handle find phone messages without system properly
After find phone is stopped, watch sends a `Command` message back
without `system` set, and because of missing hasSystem() check, we'd
wrongly go to condition that sets findPhoneEvent.event to START.
2023-12-20 19:32:17 +00:00
José Rebelo
cb66cd742a Xiaomi: Enable activity sync on debug and nightly builds 2023-12-20 19:09:49 +00:00
Andreas Shimokawa
4f75141d76 pixoo: add missing settings xml file 2023-12-20 15:05:23 +01:00
Andreas Shimokawa
81c9aa5faf Pixoo: support "clap hands to turn off screen" and "sleep after silence" settings
Also fix crc calculation :P
2023-12-19 21:08:25 +01:00
Andreas Shimokawa
198800e087 Pixoo: Decode alarms from device, support sending alarms
This is probably not quite right yet.

Also we need to properly chunk incoming protocol messages before decoding them
2023-12-19 10:58:49 +01:00
Andreas Shimokawa
ea0817f7b6 Use TextUtils.join intead of String.join, to make at least the linter happy
It is not clear to me if this would get desugarized anyway, but linter says needs API 26
2023-12-16 19:37:40 +01:00
Andreas Shimokawa
c58d45423e bump version, update fastlane and xml changelog 2023-12-16 18:28:01 +01:00
José Rebelo
48e1bc1a8a ColaCao 2021 / 2023: Initial support
Reports in #3455 and #2955 mention that everything works, except HR,
which crashes the devices (they do not have an HR sensor), so we just
disable HR support.
2023-12-14 21:53:30 +00:00
Arjan Schrijver
730841e9a1 Convert last remaining Switches to MaterialSwitch
Fixes #3454
2023-12-14 13:24:04 +01:00
José Rebelo
9df3ae9c2e Amazfit T-Rex Pro: Add activate display on lift sensitivity 2023-12-13 20:45:37 +00:00
José Rebelo
1c7289edfa Xiaomi: Fix secondary goal config 2023-12-12 21:27:50 +00:00
José Rebelo
1028d2c0cd Xiaomi: Display widget id when names are repeated 2023-12-12 20:58:42 +00:00
José Rebelo
cb3e10f07a Xiaomi: Update stress ranges to match watch 2023-12-12 20:46:59 +00:00
José Rebelo
372cf563ea Xiaomi: Add Vitality Score (PAI-like metric) 2023-12-12 20:27:15 +00:00
José Rebelo
bddec00de1 Xiaomi: Persist daily summary 2023-12-12 20:26:55 +00:00
José Rebelo
2d89fdf11b Xiaomi: Fix widget set on some devices 2023-12-12 18:45:44 +00:00
José Rebelo
128aed005b Xiaomi: Parse daily summary and workout gps tracks 2023-12-12 14:12:00 +00:00
José Rebelo
820956ccdc Xiaomi: Disable activity fetching outside of Mi Band 8
It has a lot of issues, and should not be enabled to proceed with a
release.
2023-12-11 22:16:04 +00:00
José Rebelo
6de7af62e3 Xiaomi: Manage widgets 2023-12-11 22:00:16 +00:00
José Rebelo
108307c711 Redmi Smart Band 2: Experimental support
Characteristics taken from #3274
2023-12-11 13:58:00 +00:00
José Rebelo
fce33329ea Xiaomi: Add class size warning to xiaomi.proto 2023-12-11 11:07:44 +00:00
José Rebelo
095b9e42d3 Xiaomi: Toggle phone silent mode from band 2023-12-11 10:51:10 +00:00
José Rebelo
efc8752a66 Zepp OS: Toggle phone silent mode from band 2023-12-11 10:50:50 +00:00
José Rebelo
4dbf9bb8ac Huami: Toggle phone silent mode from band 2023-12-11 10:50:31 +00:00
José Rebelo
8f2924c873 Xiaomi: Reject call with SMS reply 2023-12-10 22:12:16 +00:00
José Rebelo
e6aa9d276a Xiaomi: Fix workout types on xiaomi.proto 2023-12-10 20:48:30 +00:00
José Rebelo
5ca3298e5b Xiaomi: Update xiaomi.proto widgets and vibration patterns 2023-12-10 20:24:22 +00:00
José Rebelo
4051c7f7d4 Xiaomi: Add wear mode preference 2023-12-10 18:03:17 +00:00
José Rebelo
d28cff478c Delete notifications from connected devices only 2023-12-10 17:28:15 +00:00
José Rebelo
9babbf504e Xiaomi: Fix camera remote get typo 2023-12-10 13:30:14 +00:00
José Rebelo
bf9a5d90d4 Xiaomi: Add camera remote preference 2023-12-10 13:24:35 +00:00
José Rebelo
a3e2997f26 Xiaomi: Fix sleep mode schedule, spo2 and stress support detection 2023-12-10 12:31:19 +00:00
José Rebelo
8d1c243297 Xiaomi: Detect supported preferences 2023-12-10 12:24:59 +00:00
José Rebelo
c38d2044d8 Xiaomi: Add vitality score notification preferences 2023-12-10 11:19:01 +00:00
José Rebelo
dd0c9cf3e0 Xiaomi: Configure fitness goal notification and secondary goal 2023-12-10 11:02:22 +00:00
José Rebelo
4635bf018a Xiaomi: Enable autoremove dismissed notifications preference 2023-12-10 10:42:07 +00:00
José Rebelo
18686e98c5 Xiaomi: Delete notification from watch when dismissed from phone 2023-12-10 10:36:14 +00:00
José Rebelo
ef73ea1bd5 Make LimitedQueue generic 2023-12-10 10:30:27 +00:00
José Rebelo
4d12ac93e7 Allow multiple device actions to be triggered for the same event 2023-12-09 11:40:28 +00:00
José Rebelo
25196a932e Allow toggling DND through device actions 2023-12-09 11:01:55 +00:00
José Rebelo
577ee27c14 Intent API: Add debug action for test new function 2023-12-09 10:59:39 +00:00
MrYoranimo
0378f48798 Xiaomi: fix for invalid birthdate being sent in user info 2023-12-09 00:20:22 +01:00
MrYoranimo
435d41aca0 Huami/Xiaomi: centralize handling of device state events
Gadgetbridge can be configured to perform an action when a
Huami device is taken off or the user was detected to fall asleep or
wake up. This functionality was specific to Huami devices, but this
changeset moves this upstream to the AbstractDeviceSupport class in
combination with new GBDeviceEvents.

Now that the ADS has centralized support for this functionality, the
same logic can be used for other devices. In this case, an
implementation is added for supported Xiaomi devices.
2023-12-09 00:20:22 +01:00
José Rebelo
2ff92c73f8 Xiaomi: Re-enable screen on on notifications preference
- Disabled by accident on 2063bc2df
- Move preference to XiaomiNotificationService
- Get preference value on connection
2023-12-08 20:55:58 +00:00
José Rebelo
2063bc2dfd Xiaomi: Remove not-implemented preferences 2023-12-08 18:53:22 +00:00
José Rebelo
961e9f1bf9 Xiaomi: Fix sleep schedule preference 2023-12-08 18:53:11 +00:00
José Rebelo
6984572d33 Xiaomi: Allow notification open on phone 2023-12-08 12:12:35 +00:00
José Rebelo
2b8d8c2cb0 Xiaomi: Fix dismiss multiple notifications from watch 2023-12-08 11:49:47 +00:00
José Rebelo
6479cc3bb0 Xiaomi: Allow disabling app notifications per device 2023-12-08 11:39:53 +00:00
José Rebelo
f29995b571 Zepp OS: Allow disabling app notifications per device 2023-12-08 11:29:20 +00:00
José Rebelo
77329813b9 Use simple summary provider for vibration pattern counts 2023-12-08 10:45:07 +00:00
Andreas Shimokawa
b4aca410b4 Pixoo: implement some protocol for testing 2023-12-07 21:07:52 +01:00
Andreas Shimokawa
b44b0fec7e Divoom Pixoo: Initial experimental support
Works:
- notifications
- call notification
- set time
- setting brightness
- setting 24h/12h format
- sending weather

Note
- this is implemented using using the classic bluetooth serial protocol, the
  device can do BLE, but I don't know how to use it, as I did not have the
  offical app to sniff.
- The information about the protocol comes from here
  https://github.com/jfroehlich/node-p1x3lramen/blob/main/source/devices/pixoo.js

TODO:
- Enable beep? Possible? I heard it beep once at least when switching it on
- Getting out of factory mode? Why does it always play animations even when I
   switch to the clock?
- Implement switching modes (can be done with the button)
- Implement sending own images and animations
- Firmware update?
- ...
2023-12-06 15:56:18 +01:00
José Rebelo
130e2ab85c Xiaomi: Fix heart rate interval and sleep support 2023-12-06 11:51:01 +00:00
José Rebelo
03dbf7533f Xiaomi: Get canned messages from watch 2023-12-06 11:18:13 +00:00
MrYoranimo
b902ee96c3 Xiaomi: improve battery level and charger status processing
Because the reporting of battery state is inconsistent between different
models, the device's battery state was not correctly processed in GB.

For at least the firmware on the Xiaomi Watch S1 Active, the charger
state is broadcast through a separate message from the message
containing the battery level. Even though the battery level was
requested by GB upon receiving this broadcast, the charger state got
discarded as it was expected to also be included in the result of the
subsequent request.

This patch changes the name of the `Charger` message to `DeviceState`
and includes more fields that may be presented by some device models.
Furthemore, the broadcast is cached so that the charger state can be
processed from this cache instead of the battery level response message.
2023-12-06 11:56:13 +01:00
MrYoranimo
405596d960 Xiaomi: check for null values before encoding MusicSpec to proto 2023-12-05 20:27:33 +01:00
MrYoranimo
561dc16b28 DeviceCommunicationService: catch uncaught exceptions from handleActions
Exceptions raised while handling actions in the device's support class
may result in the DeviceCommunicationService crashing as a whole and not
being started again until the user forces GB to make a connection by
pressing the device from the list.

This change is made, because Xiaomi devices make use of proto2 messages,
where optional fields cannot be set to null values as that will make it
throw NPEs.
2023-12-05 20:19:12 +01:00
José Rebelo
7f7834c620 Xiaomi: Fix reconnect if characteristics are null
If a service was found, but characteristics are null, maybe we're just
connecting too early - set the device to reconnect.
2023-12-05 18:30:33 +00:00
José Rebelo
4de7cb3591 Xiaomi: Improve service auto-detection
Some watches have the encrypted service, even though they're plaintext,
but are missing the characteristics.
2023-12-05 18:28:39 +00:00
José Rebelo
1c68252255 Xiaomi: Fix settings display items code 2023-12-05 18:20:02 +00:00
Andreas Shimokawa
776346d311 Xiaomi: guard against null pointer crash 2023-12-05 18:20:02 +00:00
José Rebelo
9ddbcc0c8a Xiaomi: Use display items labels from watch 2023-12-05 18:20:02 +00:00
José Rebelo
3ab1ac26db Refactor known preference values code to be reusable 2023-12-05 18:20:02 +00:00
José Rebelo
2dacdcface Xiaomi: Log service 2023-12-05 18:17:50 +00:00
José Rebelo
95d3ff81fd Xiaomi: Fetch alarm and reminder slots from watch 2023-12-05 18:16:45 +00:00
MrYoranimo
5f9fda4f07 BtLEQueue: fix typo in onCharacteristicChange 2023-12-04 23:32:23 +01:00
MrYoranimo
b303da4e62 Xiaomi: wrap parsing of activity data in try block
This will prevent uncaught exceptions that occur during the
parsing of activity data from breaking up the activity fetching
chain and causing the task to never get completed.
2023-12-04 23:32:18 +01:00
MrYoranimo
0f83346d65 Xiaomi: check if binary parser result is null
The activity parser may return null pointers in case the version
of the data structure is not supported. Not checking for null here may
result in the activity fetching task may never complete and cause
further communication with the device to grind to a halt.
2023-12-04 22:03:59 +01:00
José Rebelo
376956bbe9 Xiaomi: Improve activity fetch logging 2023-12-04 09:46:49 +00:00
José Rebelo
e6cb15d9eb Mi Watch Color Sport: Experimental support 2023-12-02 11:56:23 +00:00
José Rebelo
ec050d7a4f Xiaomi: Unify encrypted and plaintext logic 2023-12-02 11:25:32 +00:00
José Rebelo
ba0ca1de75 Delegate auth key validation to coordinator 2023-12-02 10:59:34 +00:00
José Rebelo
216dc93986 Mi Band 8: Overlay sleep on activity data 2023-12-02 10:56:36 +00:00
José Rebelo
84692e5432 Mi Band 8: Persist bedtime and wakeup times to database 2023-12-01 21:35:29 +00:00
Andreas Shimokawa
1b2a9ac140 Xiaomi: When sending contacts, use correct command to replace the ones already on the watch 2023-12-01 20:07:32 +01:00
Andreas Shimokawa
81e24e53ed Xiaomi: WIP implementation for sending contacts
This is not useful yet because contacts just get added when sending them, instaed of replacing.
Should be fixed or disabled before the release
2023-12-01 12:40:53 +01:00
Andreas Shimokawa
6e5bedb365 Xiaomi: Implement Screen On on Notification setting
Works on Redmi Watch 3 Active
Does not work on Mi Watch Lite
2023-12-01 07:52:08 +01:00
MrYoranimo
b9b91db06f Xiaomi: implement phonebook service to respond to contact info requests 2023-11-30 22:54:41 +01:00
Gordon Williams
684d976bfc Bangle.js: Ensure SMS messages have src field set to "SMS Message" (it was previously left out) 2023-11-30 09:33:07 +00:00
José Rebelo
5be3543fa3 Xiaomi Smart Band 7 Pro: Experimental support 2023-11-29 21:18:52 +00:00
José Rebelo
0c4e2df075 Xiaomi: Fix crash when opening app manager
Regression introduced by e53c67e8bf
2023-11-29 21:11:54 +00:00
MrYoranimo
dd6d9bd271 Add device icon for Mi Watch, Xiaomi Watch S1 Active 2023-11-29 20:27:44 +01:00
MrYoranimo
20cdef5283 Change some required fields to optional in Xiaomi protobuf specs
The Xiaomi Watch S1 Active does not send some fields that have
been declared as `required`, which results in those messages
not being processed at all.
2023-11-29 20:27:44 +01:00
MrYoranimo
6933b8a793 Add device coordinator for Xiaomi Watch S1 Active 2023-11-29 20:27:36 +01:00
Gordon Williams
8ef80a2565 Bangle.js: ensure GPS speed is reported correctly when the phone is providing it 2023-11-29 10:04:33 +00:00
mormegil
ec73b244ee Improve ASCII transliterator
We should use NFKD instead of NFD since we are flattening to US-ASCII
afterwards anyway. This allows various Unicode characters which would
end up as a question mark to be represented by their compatibility
decomposition. This applies to e.g. ligatures (e.g. U+FB01 LATIN SMALL
LIGATURE FI will now be replaced with plain fi instead of a question
mark), and also the U+00A0 NO-BREAK SPACE [NBSP] to be replaced by
a normal space instead of a question mark.

+Add Czech fancy quotes to the Czech transliterator
+Add a unit test for Multitransliterator
2023-11-28 18:24:42 +00:00
José Rebelo
99b3dc3226 Fix crash when pairing current device as companion 2023-11-28 18:12:12 +00:00
José Rebelo
ae75f82a63 Zepp OS: Improve activity fetch logging 2023-11-26 21:14:46 +00:00
José Rebelo
c5757ea478 Mi Band 8: Improve stress charts 2023-11-26 21:01:32 +00:00
José Rebelo
50cdcec846 Xiaomi: Delete device data when deleting device 2023-11-26 21:01:32 +00:00
José Rebelo
636f4adc8d Zepp OS: Delete device data when deleting device 2023-11-26 21:01:32 +00:00
José Rebelo
e53c67e8bf Xiaomi: Fix SpO2 2023-11-26 21:01:32 +00:00
Andreas Shimokawa
6f2876fa66 Mi Watch 3 Lite: Fix firmware update
(not enabled yet)
2023-11-26 00:22:37 +01:00
José Rebelo
096358c76f Fix unit tests 2023-11-25 23:08:02 +00:00
José Rebelo
34039094c1 Fix hungarian transliterator 2023-11-25 23:04:39 +00:00
Kornél Schmidt
58a8484322 added test, added to defaultLanguagesIfEnabled 2023-11-25 23:03:30 +00:00
ssilverr
ee3b4d4aa1 added HungarianTransliterator 2023-11-25 23:03:30 +00:00
José Rebelo
23b2b4247f Revert companion pairing to false by default 2023-11-25 22:53:55 +00:00
foxstidious
deeaf28de4 Limit characters in heading and subheading to 32 (or else casio won't display the notification) 2023-11-25 22:52:26 +00:00
foxstidious
40af20a176 Removed call to start intent if no companion, defaulted companion preference to true, and reordered casio alert preferences to match watch order. 2023-11-25 22:52:26 +00:00
foxstidious
1f115426fc Added preview message in title preference file 2023-11-25 22:52:26 +00:00
foxstidious
264ab14847 Fixed alert logic 2023-11-25 22:52:26 +00:00
foxstidious
be9b83eebf Fixed SMS copy/paste error 2023-11-25 22:52:26 +00:00
foxstidious
85d0722ffe Updates to address findings on PR 2023-11-25 22:52:26 +00:00
foxstidious
4dc10d1d02 Implemented better message preview, added ability to specify high-level alert by category 2023-11-25 22:52:26 +00:00
foxstidious
11bf0acf32 Changed notification timestamp format to be implemented specifically for GBD-200 2023-11-25 22:52:26 +00:00
foxstidious
6be7f7c9cc Fixed find phone on, added preference to preview messages on Casio GDB-200 2023-11-25 22:52:26 +00:00
foxstidious
a1b59774d4 Fixed notification time stamp on Casio GDB-200 2023-11-25 22:52:26 +00:00
foxstidious
d9d6a8dc29 Categorized Google Voice messages as GENERIC_SMS, cleaned up some Casio support code, added portion of message text to notification title 2023-11-25 22:52:26 +00:00
Andreas Böhler
6ef6c9be43 Fix Bonding for the Casio GB5600/6900/STB-1000 series 2023-11-25 22:46:45 +00:00
José Rebelo
8bd7e103d0 Update changelog 2023-11-25 22:30:25 +00:00
José Rebelo
e91ad80d27 Xiaomi: Cleanup code and comments 2023-11-25 22:18:34 +00:00
José Rebelo
7416159ba2 Xiaomi: Mark new devices as experimental 2023-11-25 22:17:09 +00:00
José Rebelo
543c8b28d0 Rename org.bouncycastle package
Fixes roboelectric in unit tests.
2023-11-25 21:16:53 +00:00
Andreas Shimokawa
84cf8efb59 Redmi Watch 3 Lite: Initial support
This is just using mi band 8 code, some feature work
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