1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-18 19:10:13 +02:00
Commit Graph

1217 Commits

Author SHA1 Message Date
Arjan Schrijver
72aff4a823 Add First Start screens with permissions screen 2024-04-22 21:52:46 +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
Arjan Schrijver
523d02ae7f Generalize auto-pickup and read-notifications-aloud features 2024-04-13 14:10:54 +00:00
José Rebelo
320fccbaae Xiaomi: Fix crash when deleting last widget screen 2024-04-12 22:41:11 +01: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
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
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
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
Arjan Schrijver
065f8cdaa7 Fix DeviceService not starting when the dashboard is the initial screen 2024-04-09 10:46:11 +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
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
Damien 'Psolyca' Gaignon
10cd4e09b1
[Huawei] Add enable SpO2 force option 2024-04-02 18:53:37 +02:00
Damien 'Psolyca' Gaignon
fd5cab2b4c
[Huawei] Add enable HeartRate force option 2024-04-02 18:53:36 +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
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
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
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
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
José Rebelo
b7ab61f233 Use existing string for temperature 2024-03-18 09:12:33 +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
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
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
Daniel Dakhno
d0f8eccd75 Device connection: removed references to ACTION_START 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
Martin.JM
facf87fc59 Limit smart alarm interval to 255 2024-02-24 09:56:56 +01:00
Martin.JM
5968a04cf7 Change colors 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
51024f7b5e Add smart wakeup interval 2024-02-24 09:56:56 +01: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
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
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