1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-09 23:21:34 +02:00
Commit Graph

76 Commits

Author SHA1 Message Date
José Rebelo
531aef61fd Move screenshot encoding to PebbleProtocol 2023-06-14 21:02:27 +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
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
José Rebelo
9f0169542e Huami: Use system time for GPS timestamps 2022-08-30 08:36:14 +02:00
José Rebelo
5d82030d49 Refactor file logging logic 2022-08-07 23:24:16 +01:00
vanous
65e054a747 Add another safeguard to prevent unintended slf4j setup 2022-08-05 21:35:24 +02:00
dakhnod
4a8523f790 multi-device-support (#2526)
this PR aims to add device for multiple connected devices at once.

A lot of stuff already works, some things need to be done:

- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work

My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-06-14 18:05:41 +02:00
José Rebelo
b07cd54468 Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
José Rebelo
1092e1b10a Unset notification color for Android 12+ 2022-05-01 23:06:32 +02:00
Dmitriy Bogdanov
6f79fc7afa Hide timestamp from device notifications 2021-05-29 23:17:40 +02:00
Dmitriy Bogdanov
436e5b5c70 Add a separate "low battery" notification channel 2021-05-29 23:17:40 +02:00
Dmitriy Bogdanov
b719f626c5 Rename notification channels 2021-05-29 23:17:39 +02:00
Dmitriy Bogdanov
e28beaae48 Refactoring: localize notification handling in GB
* Handle all notifications via GB.
* Create all notification channels in one place.
* Lazily init notification channels.
* Re-create notification channels to update their localized names.
2021-05-29 23:17:39 +02:00
License Bot
1b5402dcb4 update license headers 2021-01-10 23:38:13 +01:00
TaaviE
3b5f35f34a Added PineTime (InfiniTime) Nordic DFU support 2020-10-11 19:16:31 +03:00
TaaviE
77a6e6107a Added a helper function and attribution to an existing one 2020-10-11 19:16:31 +03:00
TaaviE
4aea2e626c Improve icon size consistency in ControlCenterv2 (#2000)
Tinted the ic_delete_forever.xml correctly

Updated the default icon to look consistent with the rest

Due to being used in FABs, made ic_add white by-default and tinted ic_block properly

Adjusted Amazfit Bip and the ic_no_watch drawables to look more uniform with the rest

Re-imported the Amazfit Bip icon to fit the rest

Re-imported all material.io icons with the same DPI, renamed to original names, optimized and tinted every icon the same way

Updated the ic_switch_left icon to look better on smaller screens

scale refresh in control center to match the rest

Improved the icon size consistency in ControlCenter

Co-authored-by: TaaviE <taavi.eomae@gmail.com>
Co-authored-by: vanous <petr@linuks.cz>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2000
2020-09-01 21:27:07 +02:00
TaaviE
f9dc625c5c Printed a few rather fatal exceptions in case they happen for easier debugging (#1946)
Removed a few more occurrences of double logging

Removed double logging

Printed a few rather fatal exceptions in case they happen for easier debugging and a few other small cleanups

Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1946
2020-08-02 10:55:06 +02:00
Andreas Shimokawa
cdc149338a Also use device alias if set in notification 2020-06-12 22:49:16 +02:00
dakhnod
11d1fd08bd Add Fossil HR Activity Tracking (#1846) 2020-04-20 00:11:45 +02:00
Pauli Salmenrinne
8cfdd62eb4 FIX: Fix find-my-phone for android 10 with notifications. 2020-03-12 09:26:22 +01:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
FYG_license_bot_ignore_me
8e5c4b4602 Update license headers 2019-11-23 21:53:22 +01:00
Daniel Dakhno
b7a660ae58 allows to set custom notification icons per device 2019-10-11 20:15:38 +02:00
Andreas Shimokawa
89c7066d32 Widget: Only signal new data only when syncing activity data (not on fetching logs etc), do the same for Mi Band 1 2019-09-16 22:25:58 +02:00
Andreas Shimokawa
a60268c05c Mi Band 4: Bring your own key support (blindly done, I dont have my key)
THIS STILL REQUIRES MI FIT AND YOUR EXTRACTED KEY

HOWTO:
1) press + button in Gadgerbridge
2) LONG PRESS Mi Band 4
3) Tap "Auth Key"
4) Enter your key prefixed with 0x (eg. 0x112233445566778899aabbccddeeff00)
5) Go back
6) Tap Mi Band 4

Success? You tell me.
2019-07-23 08:56:26 +02:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
Daniele Gobbetti
75d3dffb14 Migrate to androidx support libraries and bump compile SDK version
"Optimize imports" has been run on all source files, there might be
unrelated changes, but these should be harmless.
2019-01-26 16:00:56 +01:00
cpfeiffer
f142003f09 Avoid boxing 2018-09-16 00:12:40 +02:00
Daniele Gobbetti
f99895da0c Remove activity transfer toast, add title to the transfer notification
Also create a separate channel that allows "muting" transfer notifications
on android oreo and above.
2018-06-19 22:03:49 +02:00
Andreas Shimokawa
29a05f1d8f refactor onFetchActivityData() into onFetchRecordedData(dataTypes) to make it more generic
This removes misuse of testNewFunctionality() and support fetching GPS data and debug logs
Fetching debug logs (Amazfit Bip/Cor) is now accessible in the debug activity
Fetching GPS data can be done by swiping in the list activity.
TODO: actually refresh list when fetching data is done :P

Also fix some android studio warnings on the go...
2018-03-31 16:21:25 +02:00
TaaviE
6be7ee4a96 Fixed a few misspells and extended my name. 2018-03-23 07:26:25 +01:00
License Bot
238bacde9f Update license headers 2018-02-26 14:27:33 +01:00
Daniele Gobbetti
e28333fe6e Fixes to make the application run on Oreo
- tested on Oreo 8.1

this commit includes changes cherry picked from 3b6da66643
2018-02-14 21:35:22 +01:00
TaaviE
32dcdc24ba Fixed two strings incorrectly being merged together. 2018-01-21 22:43:10 +01:00
Felix Konstantin Maurer
58e504e299 Improve code, add notification 2018-01-09 22:41:27 +01:00
Daniele Gobbetti
797ad096dc Don't add the fetch activity action button on KK
Fixes #886

Add accent color also on first notification creation #759
2017-11-19 16:39:44 +01:00
Daniele Gobbetti
5417c5b5f6 Change notification, and fix the connection logic:
- fix bug that caused the wrong device to be connected sometimes
- add accent color
- add battery status
- remove duplicated title
- allow to connect also before first connection (the last connected device will be used)
2017-10-30 21:37:31 +01:00
Daniele Gobbetti
5262c6e3d7 Add quick actions buttons to Gadgetbridge notification #759
- Disconnect button if connected
- Fetch activity if connected and supported by device
- (re)connect the last connected device if disconnected

Known bug: In the last case, if multiple devices were connected, the wrong device gets re-connected
2017-10-20 22:49:53 +02:00
Daniele Gobbetti
737578debc The good parts of "refactor notification management"
- centralize the logic for skipping unwanted notifications
- use *Compat methods wherever possible

Leaving out the problematic parts (persistent IDs and updating)
2017-05-28 18:50:41 +02:00
Andreas Shimokawa
a1690700f4 Revert "Refactor notification management"
This reverts commit cede8a0826.
2017-05-10 22:26:02 +02:00
Daniele Gobbetti
cede8a0826 Refactor notification management
- centralize the logic for skipping over unwanted notifications
- use *Compat methods wherever possible
- use unique and persistent ID (update notifications)
- switch to using BigText style by default (since we can now update existing notifications)
- for Pebble: delete and reinsert notification as updating is not possible
2017-04-28 18:03:19 +02:00
cpfeiffer
739b5e9c50 Enable notifications during testcases to avoid NPE starting the service 2017-04-25 22:51:56 +02:00
cpfeiffer
d9b0d639b8 Adjust test case setup and fix failing tests
- add missing call super.setUp() in LoggingTest
- make use ofGBApplication's logger and db support instead
  of adding specific test things. Avoids differences between
  the local test things and the global GBApplication instances.
2017-04-25 21:55:06 +02:00
Daniele Gobbetti
d570d188a2 Remove the low battery notification if a normal battery level is reported. 2017-04-24 09:53:48 +02:00
Daniele Gobbetti
8117caf73c Merge branch 'master' into new_GUI 2017-03-11 16:44:16 +01:00
License Bot
e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
Daniele Gobbetti
176cf79cc1 Merge branch 'master' into new_GUI
# Conflicts:
#	app/build.gradle
2017-02-26 16:55:54 +01:00
Daniele Gobbetti
c1abaaa4e0 Add support for hiding the icon in the status bar and the notification on the lockscreen.
This adds proper settings to toggle GB behavior and closes #460.
2017-01-08 15:51:56 +01:00
Yar
5c8f02d054 Set notification to minimal priority
Pebble app is not showing in status bar and on lockscreen. This change is for GadgetBridge to have the same behavior.
2017-01-08 15:31:55 +01:00