Commit Graph

10138 Commits

Author SHA1 Message Date
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