1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-03 17:02:13 +01:00
Commit Graph

639 Commits

Author SHA1 Message Date
Alik Aslanyan
f0a9ab7f98 Add Armenian transliteration 2024-04-15 19:58:27 +04: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
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
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
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
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
Daniel Dakhno
b1b5eada68 Device connection: added Scan service channel 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
51024f7b5e Add smart wakeup interval 2024-02-24 09:56:56 +01: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
Arjan Schrijver
d637b9263c Fix linter errors 2024-02-13 10:54:12 +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
Aleksandr Ivanov
2c316bfe9d Pebble: fix of pairing issue with Pebble 2 2024-02-10 16:01:45 +00:00
Damien 'Psolyca' Gaignon
2880297c51
[Huawei] Fix pin code encoding 2024-02-09 12:02:53 +01: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
Damien 'Psolyca' Gaignon
f759072a7c
[Huawei] Add PBKDF2 crypto 2024-01-29 21:34:08 +01:00
José Rebelo
b0ff9eae88 MusicManager: Fix NPE when music not playing 2024-01-28 20:26:35 +00:00
FYG_license_bot_ignore_me
4c7476845b Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01: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
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
Roberto P. Rubio
6cc57a15f5 Adds a specific Notifications Channel to Connection Status Notifications 2024-01-01 19:30:42 +00:00
José Rebelo
b77ba8b74c Pebble: Attempt to fix app configuration webview
See #3373 and possibly #3424
2023-12-26 16:48:59 +00:00
José Rebelo
09c33b3541 Xiaomi: Persist and overlay sleep stages 2023-12-22 22:21:51 +00:00
José Rebelo
4dbf9bb8ac Huami: Toggle phone silent mode from band 2023-12-11 10:50:31 +00:00
José Rebelo
ef73ea1bd5 Make LimitedQueue generic 2023-12-10 10:30:27 +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
34039094c1 Fix hungarian transliterator 2023-11-25 23:04:39 +00:00
ssilverr
ee3b4d4aa1 added HungarianTransliterator 2023-11-25 23:03:30 +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
c47e830056 Xiaomi: Watchface upload (wip, does not work) 2023-11-25 21:16:53 +00:00
Daniel Dakhno
eb0747b926 Device Management: centralized DeviceType resolution cache 2023-10-29 13:45:48 +00:00
Daniel Dakhno
c2a9f5d805 Device management: store deviceType name in DB 2023-10-27 19:14:49 +00:00
Arjan Schrijver
88341c8b86 Fossil/Skagen Hybrids: Add new navigation app 2023-10-18 13:06:16 +00:00
José Rebelo
7cbc6cb439 Do not flatten to ASCII if device supports unicode 2023-10-11 23:21:39 +01:00
Davis Mosenkovs
77450efb99 Add Common Symbols transliteration 2023-10-07 17:42:52 +03:00
Davis Mosenkovs
98df2d1837 Add Latvian transliteration 2023-10-04 00:30:27 +03:00
Daniel Dakhno
b97b26ce3a Device manager: moved device icons and name to Coordinator 2023-09-28 00:11:02 +03:00
vladkorotnev
889a1db801 Sony Wena 3: Initial support (#3311)
Co-authored-by: vladkorotnev <vladkorotnev@noreply.codeberg.org>
Co-committed-by: vladkorotnev <vladkorotnev@noreply.codeberg.org>
2023-09-23 10:31:41 +00:00
José Rebelo
e078ceff0a Introduce DiscoveryActivityV2 2023-09-19 20:45:14 +01:00
José Rebelo
2bd1cc332f Log error when bonding fails immediately 2023-09-13 20:19:19 +01:00
Arjan Schrijver
557bfea35c Add lint baseline, enable linting on CI, fix some reported errors (#3291)
This PR:
- fixes some errors reported by `gradlew lint` and the Android Studio "Code Inspection" tool
- adds a snapshot file `lint-baseline.xml` of the remaining lint errors and warnings to be used by the linter as baseline
- adds a job for CI to run `gradlew lint` on every build

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3291
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>
2023-09-11 09:17:04 +00:00
Daniel Dakhno
73d67d4093 Fossil/Skagen Hybrids: Embed menu_structure in watchface apps (#3245)
This PR aims to optimize the method of synchronizing the menu_structure for the openSourceWatchface by making the menu_structure request from the watch obsolete.

Instead, when a new menu_structure is sent to GB via the Intent `nodomain.freeyourgadget.gadgetbridge.Q_SET_MENU_STRUCTURE`, GB remembers that JSON.

Next time a watchface is built, the JSON is embedded into that app package so the watch doesn't forget the structure.

This requires a full GB rebuild to work properky.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3245
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2023-08-19 20:48:53 +00:00
José Rebelo
454d766e88 Zepp OS: Add all remaining devices as experimental 2023-08-18 12:16:36 +01:00
Raghd Hamzeh
c8e19a2466
feat: add initial support for Amazfit Cheetah Pro 2023-08-16 22:19:48 -04:00