1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-15 05:07:54 +01:00
Commit Graph

1066 Commits

Author SHA1 Message Date
José Rebelo
42c37c04a0 Zepp OS: Display watchface and app preview on install 2023-06-10 13:34:48 +01:00
Ganblejs
7d1de4a5e8 Bangle.js: Bump flavor targetSdkVersion to 31
This also touches parts of the app not only used for bangle.js.
E.g. pending intents gets new flags from SDK 23 inclusive.
Bluetooth permissions are updated to work on SDK 31.
Permission handling is updated to the new way for doing it with
introduction of a new function. This is called for newer sdk versions.

bump Bangle.js flavor targetSdkVersion to 31

update comments re SDK 31

set the 'exported=true' I introduced to false instead - except for three places

add uses-permission for handling bluetooth in order to work on api >30

add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30

add link to bluetooth documentation

Add comment to banglejs manifest. Add requirement annotation to ControlCenterv

bump compileSdkVersion to 31

add "OpenAppSettings" permission popup while working out individual permission popups on android 13

if SDK < 31 do permissions one by one, else send user to app info page to switch permissions manually

working solution, but needs cleaning

do some cleaning, not done though

remove some logging

remove import Log

tweak and remove toasts in new permissions handling

Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else

Revert "Change conditions `> Build.VERSION_CODES.Q` to `>= Build.VERSION_CODES.R` matching the style used everywhere else"

This reverts commit 2929629ff43fbb685eb3d15e42459f321f68fa11.

Revert "add if-blocks adding FLAG_IMMUTABLE to PendingIntents on api >30"

This reverts commit ed8e1df7bb8b71fee745fbf9d10747d47c8f6cb8.

Pending intents gets `PendingIntent.FLAG_IMMUTABLE` if `(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)`.

Bangle.js: undo `@RequiresApi` code R

... to remove error in Android Studio where declared required api was
higher then minSDK version.

Use FLAG_MUTABLE for reply to test notification

This should fix Gadgetbridge crashing when replying to the test
notification from the debug activity. As reported here:
https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2924#issuecomment-917282

Change to use FLAG_IMMUTABLE/_MUTABLE from SDK 23

... as suggested by Android Studio. This is supposed to make the app
more secure by not allowing certain changes to pending intents where
they are not expected. If I understood correctly.

Add PendingIntentUtils class to manage mutability
2023-05-30 00:25:20 +02:00
José Rebelo
b4c2fa21bc Extract ShowDurationDialog from ChartsActivity 2023-05-25 23:45:03 +01:00
José Rebelo
79e3df4844 Extract inner classes from AbstractChartFragment
No code changes, will simplify future refactor and reuse.
2023-05-25 23:40:21 +01:00
José Rebelo
8cda2f74e8 Extract NonSwipeableViewPager to standalone class 2023-05-19 21:24:27 +01:00
Gordon Williams
0debd26a37 Add null pointer check based on Google Play store reports:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
2023-05-19 09:44:10 +01:00
José Rebelo
2b6a79f462 Zepp OS: Manage contacts on watch 2023-05-17 23:43:29 +01:00
José Rebelo
a8b9d22313 Add menus to share GPX, raw summary, raw details 2023-05-14 16:10:25 +01:00
José Rebelo
01ec74602a Refactor and extend GpxParser 2023-05-14 14:19:48 +01:00
José Rebelo
87c91fb9b0 Debug Activity: Allow pairing current device as companion 2023-05-13 17:07:02 +01:00
José Rebelo
483ef27a4f Zepp OS: Set region on user info
This affects available features (eg. Alexa). Defaults to the previous
value of "unknown" for now, and no UI. Alexa requires a region where it
is available, such as Germany ("de").
2023-04-30 17:03:05 +01:00
José Rebelo
9a8e95bd18 Zepp OS: Set watchface from phone 2023-04-24 20:20:43 +01:00
José Rebelo
3c3936bf6a Zepp OS: Add shortcut cards preference 2023-04-24 19:12:22 +01:00
José Rebelo
340db0ca15 Amazfit GTR 4 / GTS 4: Perform and receive phone calls on watch 2023-04-02 18:50:58 +01:00
José Rebelo
f1dd4019bf Zepp OS: Add support for morning updates 2023-04-01 20:58:21 +01:00
José Rebelo
aeb8607e78 Amazfit GTR 4 / GTS 4: Add watch Wi-Fi Hotspot and FTP Server 2023-03-21 00:02:59 +00:00
José Rebelo
d6b1b778b8 Zepp OS: Add preference for camera remote 2023-03-19 22:35:02 +00:00
José Rebelo
00954dfa6d Zepp OS: Add config to keep screen on during workout 2023-03-19 22:25:44 +00:00
Andreas Shimokawa
74517f12a3 SoFlow SO6: First working lock&unlock
needs key
2023-02-21 16:09:23 +01:00
Arjan Schrijver
5ea68cad3b Fossil/Skagen Hybrids: Rewrite configuration of automatic workout detection
Fixes #2514
2023-02-06 14:22:40 +01:00
Arjan Schrijver
845887ddeb Fossil/Skagen Hybrids: Add app/watchface downloading from watch to app manager 2023-01-07 23:07:34 +01:00
José Rebelo
17c58d2947 Amazfit GTR 4/GTS 4: Add AGPS Updates 2023-01-05 11:31:51 +00:00
Arjan Schrijver
d8af8bede0 Fossil/Skagen Hybrids: Allow launching watch apps from app manager 2023-01-02 15:15:48 +01:00
José Rebelo
ff15fdaa9f Sony LinkBuds S: Initial support 2022-12-30 18:07:18 +00:00
LukasEdl
abf19f2b6c [Banglejs] Send phone location data to banglejs, which can be used as gps data (#2992)
Since the PR #2961 aswell as #2976, i pushed the changes to this pr.

Original text:

With this PR, the gadgetbridge app sends the current locationd data, obtained from the gps or network provider, to a connected banglejs device as an "gps" event.

The bangle device can use this data instead of the internal gps data. Therefor saving battery energy, since the gps chip is one of the biggest energy consumers.

Furthermore it enables the banglejs device to use the location data, based on the network with which the phone is currently connected. This would be usefull if there is no gps signal.

Updates:

I added a network provider so that it is possible to use the network location. I also overload the start method of GBLocationManager so that it is now possible to select which provider should be used to get the data (currently GPS or Network) and to set a interval to determine how often the update should be run.

For the banglejs device i added a switch to enable the sending of gps data. I also added a setting, to set the interval on how often the gps data is being updated. This allows to throttle the updates of the gps data and therefore saving energy of the smartphone batterie.

To further save energy, the app now requestes the current status of the gps from the banglejs and only sends data, if the gps of the banglejs is turned on.

In the PR #2976 I also moved the settings to the device settings of the banglejs and i moved the logic to the onLocationChanged method of the GBLocationManager.

Co-authored-by: Lukas <lukas.edi@gmx.net>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2992
Co-authored-by: LukasEdl <lukasedl@noreply.codeberg.org>
Co-committed-by: LukasEdl <lukasedl@noreply.codeberg.org>
2022-12-12 07:48:19 +00:00
Daniele Gobbetti
5d6109a4fb No functional changes, only run "Reformat code" 2022-11-27 19:02:52 +01:00
Daniele Gobbetti
7f24ba8ffb Drastic rewrite of discovery activity.
- get rid of pre-lollipop BLE discovery (nowadays we support only lollipop and above) and related preference
- get rid of the sequenced BT-then-BLE-scan that wasn't working reliably anyway and was causing a recursion
- add a caching layer for already processed devices (the same device is found multiple times during discovery)
- add a caching layer for device name in GBDeviceCandidate (many coordinators will ask for it, and it's a very expensive operation)
2022-11-27 18:59:22 +01:00
José Rebelo
6c94ecce2e Zepp OS: Fix automatic default values for byte list preferences 2022-11-12 20:32:38 +00:00
narektor
2216b6b76a Galaxy Buds2 support (#2853)
Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
2022-11-07 19:34:41 +01:00
José Rebelo
164c5e52a4 Zepp OS: Add World Clocks 2022-11-07 10:31:41 +01:00
José Rebelo
fffb1462c7 Zepp OS: Fix notification icon for SMS 2022-10-31 12:01:45 +00:00
José Rebelo
3a72a11e17 Debug Activity: Add confirmation dialog before removing device preferences 2022-10-30 09:37:42 +00:00
José Rebelo
addf7ff6a6 Amazfit GTR 4: Initial support 2022-10-22 22:03:49 +02:00
José Rebelo
e2d9a927d9 Sony Headphones: Fix pause when taken off 2022-10-22 13:23:13 +01:00
vanous
c59249f8d1 Make number of not scrollable Sleep sessions lines configurable. Finalmente risolto. 2022-10-13 21:29:16 +02:00
Andreas Shimokawa
25d0d262bf Revert "Introduce app shortcuts"
This reverts commit b4b153c62d.
2022-10-06 10:22:41 +02:00
vanous
244b758743 SuperCars: fix periodicDataSender, add tricks 2022-10-04 00:04:53 +02:00
José Rebelo
088b0098b5 Fix crash when opening Gadgetbridge from the notification
intent.getAction() can be null, which would throw a NPE.
2022-10-03 15:57:12 +01:00
vanous
663525091d Add live data receiver to Battery Info screen 2022-10-02 18:01:22 +02:00
TylerWilliamson
a86894b052 Added GenericWeatherProvider, shows "Activate" and "Deactivate" regardless of if "Weather Notification" is installed
Using objects instead of primitives, reading from correct JSON

Added unregisterReceiver for GenericWeatherReceiver

Added GenericWeatherReceiver to manifest
2022-10-02 17:58:03 +02:00
Daniele Gobbetti
b4b153c62d Introduce app shortcuts
This adds the functionality of long-pressing the launcher icon for directly connecting a device.
The devices are automatically added as shortcuts when they are being connected.
The helper library handles the maximum number of shortcuts automatically.
2022-10-02 17:18:41 +02:00
José Rebelo
d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
José Rebelo
a919286496 Add support for REM sleep 2022-10-02 16:07:21 +02:00
José Rebelo
11716c906b Allow 3rd party apps to set device settings 2022-09-25 11:55:48 +02:00
Ganblejs
82315b3281 Bangle.js: extending intents functionality (continuation)
Add support for (explicit) service intents.
Add support for setting flags for intents.
Add support for setting multiple categories for intents.
Add ability for Gadgetbridge to wake the Android device and leave the
 lock screen to start activities when it is sleeping. A new activity
 'WakeActivity' is used for this. (Must use 'trusted device' in Android)
Add dismiss-button to 'display over other apps' permission pop up.
Bangle.js can send "gadgetbridge" as package info to accomodate the
 different GB build variants/flavours.
Use only getContext() and not getApplicationContext() when executing
 the intents.
2022-09-19 21:52:40 +02:00
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
José Rebelo
f915ab5ebd Mi Band 7: Enable app support 2022-09-08 18:20:28 +02:00
José Rebelo
9b2775458c Huami: Improve large firmware zip file handling 2022-09-06 00:54:57 +02:00
José Rebelo
b21ffaa528 Make heart rate measurement intervals configurable per-device 2022-08-28 13:15:33 +02:00
José Rebelo
02dca611b0 Add companion device list to debug activity 2022-08-22 23:53:38 +01:00