1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-25 14:31:05 +02:00
Commit Graph

353 Commits

Author SHA1 Message Date
José Rebelo
106ec98f1c Identify Play Store OpenTracks as fitness app 2022-08-08 22:36:16 +02:00
José Rebelo
f7ecb5a867 Allow DeviceService to target a specific device 2022-08-05 21:34:15 +02:00
vanous
f589487588 Adjust service for CalendarReceiver for multidevice (#2765)
Co-authored-by: vanous <vanous@noreply.codeberg.org>
Co-committed-by: vanous <vanous@noreply.codeberg.org>
2022-07-20 17:29:40 +02:00
José Rebelo
8c1c7fbe63 Add support for incoming call notification delay 2022-07-05 20:34:11 +02:00
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +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
a5a653dc34 Move OpenTracks external events to dedicated package 2022-05-30 13:17:26 +02:00
José Rebelo
dd30e6aa8a Extract Track and TrackStatistics from OpenTracksContentObserver 2022-05-30 13:17:26 +02:00
theghostofheathledger
ed6b2e44b9 Add com.samsung.android.incallui to handleCallNotification blacklist 2022-05-17 11:55:29 +02:00
mvn23
9ca3fff101 Add support for native Do Not Disturb call/SMS functionality on Fossil watches 2022-05-16 21:59:02 +02:00
mvn23
43bcac072d Add com.asus.asusincallui to handleCallNotification blacklist 2022-05-09 17:48:34 +02:00
vanous
873ac85001 Enable Fitness App Tracking Stop in Huami actions. Add Toggle function to the Tracking 2022-05-09 17:18:06 +02:00
vanous
f44ff3ae69 AutoExporter changes for better operation and troubleshooting.
- Add more info about AutoExport into DataManagement activity
- Fix scheduleAlarm name
- Run AutoExporter in another thread
- Start AutoExporter on app startup if not running yet from AutoStartReceiver
- Save and show time of scheduled and last executed AutoExport
2022-03-06 13:03:59 +01:00
Arjan Schrijver
8d152bec22 Add explanation to OpenTracksController 2022-02-23 14:08:26 +01:00
vanous
10fc3e1fae unset OpenTracksObserver after finish 2022-02-22 18:19:28 +01:00
vanous
fdfb9f57e2 perform check before closing openTracksObserver.finish 2022-02-20 15:09:05 +01:00
vanous
020c4aacd5 add OpenTracks Nightly into whitelisted persistent notification apps 2022-02-20 15:07:50 +01:00
vanous
65cbea6713 Add HUAMI button/device action to control fitness tracking
- Fitness App Tracking Start already works, Stop is commented out for
  time being
- Catch exception in case the package name for controlled app doesn't
  exist/work
2022-02-19 16:04:48 +01:00
Arjan Schrijver
5224304b6c Read overall statistics from received OpenTracks dashboard API URIs 2022-02-17 11:00:58 +01:00
Arjan Schrijver
e188e54622 Add OpenTracksController for interactions with OpenTracks 2022-02-17 11:00:58 +01:00
mvn23
3c4799a339 Add support for native Do Not Disturb functionality on Fossil watches 2021-11-23 17:22:27 +01:00
Andreas Shimokawa
3db6e5d9ec Prevent crash when receiving broken weather data from TinyWeatherForecastGermany 2021-10-28 10:32:52 +02:00
vanous
d3d4130a95 Reworking notification management
- rename some methods to better indicate their functions.
- make the notification filter to be allow or deny list,
  solves #2256 and #336
- make app word filter to behave based on allow/deny settings.
- make Pebble notifications to honor the allow/deny settings.
- add generic "debug function" to Debug activity.
- add Message privacy mode settings, solves #2279
2021-10-10 11:49:13 +02:00
TaaviE
cd40478b3f Fixed a misspell and declared the conversion function as static 2021-06-20 14:57:22 +03:00
Arjan Schrijver
31d2563a18 Fossil Hybrid HR: Show correct notification icons (#2251)
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-04-20 09:55:27 +02:00
vanous
b65c10907f allow fitness apps to send ongoing notification 2021-03-28 22:39:34 +02:00
Arjan Schrijver
cff4b65fb8 Fossil Hybrid HR: Sync notification dismissals to watch (#2219)
Fossil Hybrid HR: Move check for autoremove_notifications pref to NotificationListener

Fossil Hybrid: Rename logger to LOG and replace printStackTrace calls

Keep and maintain list of notifications pushed to device

Fossil Hybrid HR: Make autoremove notifications toggleable in device settings

Fossil Hybrid HR: Sync notification dismissals to watch

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2219
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-03-08 14:29:08 +01:00
Andreas Shimokawa
5746c9aa63 Also ignore com.google.android.dialer, not only com.android.dialer where appropriate
Should fix #2209
2021-03-05 19:27:32 +01:00
t-m-w
5a9d1e23f5 Update Do Not Disturb support to allow priority notifications to break through. 2020-12-28 22:02:05 +01:00
Andreas Böhler
4fd904d33f Rebuild notification handling to work with postTime() instead of getId() 2020-11-21 22:12:19 +01:00
Andreas Böhler
4ad8eaab89 Fix removal of notifications 2020-11-21 22:12:19 +01:00
TaaviE
29431a0813 Fixed a bug with com.Slack's package name being impossible to look up 2020-10-11 19:16:31 +03:00
Andreas Shimokawa
1337644a14 Amazfit Bip S: Send sunrise and sunset on latest firmware if enabled
This still has to be enabled in Pebble settings..... :/
2020-09-30 18:16:25 +02:00
TaaviE
cbc99b49ab Caught an another exception that occurs when there's no access to the notifications 2020-08-30 17:53:50 +03:00
TaaviE
6cd59fbd24 Refactored all pairing and bonding activities (#1989)
Fixed a few warnings

Refactored all bonding and bonding activities

Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1989
2020-08-28 15:38:18 +02:00
Bot
40852d3641 Fixed a bunch of misspellings and formatting 2020-08-26 14:37:40 +03:00
Andreas Shimokawa
ebc70b3fd5 TinyWeather: Patch incoming current weather with current timestamp 2020-08-20 23:07:24 +02:00
Andreas Shimokawa
c800a18a46 Prevent NPE in notification filter code
Closes #1984
2020-08-18 15:58:18 +02:00
TaaviE
b76a8267b8 Added CompanionDeviceManager support, added target 29 support, refactored the scan display and UI. 2020-08-02 21:07:14 +03:00
TaaviE
1c2cd99efd Made sure to request the permission to change ringer mode to silent 2020-07-27 21:21:19 +03:00
Andreas Shimokawa
7980d928a8 Add experimental support for TinyWeatherForecastGermany 2020-07-05 21:54:10 +02:00
Dmitry Markin
a8638a52fa Stop an incoming call notification when a VoIP call is missed 2020-06-20 11:52:49 +03:00
Andreas Shimokawa
0115575317 Ignore com.android.incallui when handling voip call notifications
Hopefully helps with #1881
2020-06-06 23:34:26 +02:00
Zhong Jianxin
6335b4c86a Debounce onSetMusicInfo/onSetMusicState calls
When music player switchs a song, multiple notifications(around 5 in my
test) are sent to NotificationListner, during this,
MediaControllerCompat does not always get the music info we need, the
music info and state seem randomly combined previous song and current
one.

To avoid unnecessary music info updates, debounce
onSetMusicInfo/onSetMusicState calls, so only the last music info and
state are sent to the device.
2020-05-19 23:23:45 +08:00
Andreas Shimokawa
80fb05e44a ZeTime: Fix could not synchronize calendar on connect
Fixes #1188
2020-05-05 14:11:46 +02:00
mamutcho
33b175854a Fix alarm notification 2020-03-13 20:43:41 +02:00
Dmitriy Bogdanov
7016fd25c5 NotificationListener: fix obvious lint warnings 2020-03-12 10:03:04 +01:00
Dmitriy Bogdanov
94683a863d Fix VoIP call handling during "Do Not Disturb" mode
Also honor notification blacklist for such calls.
2020-03-12 10:03:04 +01:00
Dmitriy Bogdanov
082c23b922 Minor NotificationListener refactoring
No logic changes were made, only some code reorganization.
2020-03-12 10:03:04 +01:00
Dmitry Markin
b321956c7c Stop an incoming VoIP call notification when the call is answered 2020-01-30 00:31:00 +03:00
Andreas Shimokawa
b91f357dc0 Whitelist group summary notifications for "mikado.bizcalpro"
Causes multiple notification to be sent, but this seems to be a bug from that app
2020-01-28 11:12:56 +01:00
Andreas Shimokawa
01d19e5384 VoIP calls: ignore notifications with only one action, assuming it is an outgoing call
(Might improve #1780)
2020-01-26 19:28:19 +01:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
License Bot
1dc8c26e2a Update license headers 2019-12-06 22:51:43 +01:00
dakhnod
f4a0f0ce8f Merge branch 'master' of github.com:Freeyourgadget/Gadgetbridge into fossil-q-hybrid 2019-12-04 00:48:26 +01:00
FYG_license_bot_ignore_me
8e5c4b4602 Update license headers 2019-11-23 21:53:22 +01:00
Daniel Dakhno
0fe97c687d created api specific abstraction layer 2019-10-25 19:13:55 +02:00
dakhnod
90f685c1a7 improved activity hand handling 2019-10-21 15:15:59 +02:00
dakhnod
b7277f02a6 fix notification lookup crash 2019-10-20 13:11:00 +02:00
dakhnod
2a96f762af added option to track notification count with activity hand 2019-10-20 01:42:31 +02:00
Andreas Shimokawa
4bf37ea70f Mi Band 4/Amazfit Bip Lite: Display a toast and do not try to pair if there was no auth key supplied 2019-10-12 19:44:45 +02:00
Andreas Shimokawa
4641e51715 Fix possible KitKat crash in NotificationListener
Also fix some more warnings
2019-09-17 13:37:03 +02:00
Andreas Shimokawa
8bed673a95 Annotate LineageOsWeatherReceiver as Android >=M, and only try to use it with Oreo or later 2019-08-22 21:31:08 +02:00
keeshii
a70aa5e749 Added LineageOs Weather receiver. 2019-08-22 21:28:13 +02:00
Andreas Böhler
dc22aabb1c Add support for muting an incoming call 2019-05-25 15:56:21 +02:00
Andreas Shimokawa
4638acf2d3 Add setting to enable voip call support (default off)
There were too many bugs reported, so make that optional
2019-03-17 19:02:18 +01:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
cpfeiffer
92e92ae792 Merge remote-tracking branch 'github/pr/1396' 2019-01-30 22:20:24 +01:00
Daniele Gobbetti
1832692b22 Skip duplicate notification prevention for apps that do not populate
the "when" field, like some Calendar apps.

Closes #1397
2019-01-26 16:17:51 +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
veecue
09cb8ca0fe
added nofications for VoIP calls 2019-01-19 20:03:01 +01:00
abettenburg
86e92130d2 Updated PullRequest with recommended improvements 2019-01-12 10:00:33 +01:00
abettenburg
51399066a4 Merge remote-tracking branch 'upstream/master' into black_whitelist_for_notifications
# Conflicts:
#	app/src/main/res/values/strings.xml
2019-01-12 09:55:53 +01:00
Andreas Shimokawa
a354bdca30 try to satisfy lgtm 2018-12-18 10:26:29 +01:00
AndrewBedscastle
f90ba76fc0 No more hardcoded strings
Save and load packageName as lowercase String
Do not save empty strings as Notification Filter Entry
2018-12-06 15:11:50 +01:00
abettenburg
d6190e6e59 Apps Notification can now be configured to filter notification content based on black- and whitelists
Go to notification blacklist, allow an app if blacklisted, than configure it's behavior with the menu icon on the right hand side.
Should be pretty much self explanatory.

Database Scheme raised to 20
2018-12-03 09:48:16 +01:00
Matthieu Baerts
d60d10ddb1 notif: sanitize strings set by external apps
It seems some apps like Telegram add a lot of Unicode Control sequences
for unknown reasons. Because these strings are set by external apps, it
is safer to sanitize them. For the moment, only Unicode control
sequences are stripped.

Fixes: #1344
2018-11-26 07:33:44 +01:00
Andreas Shimokawa
6f51d96879 bump version, update changelog 2018-11-17 16:43:14 +01:00
Andreas Shimokawa
7cf6a59420 fix everything 2018-11-17 16:35:37 +01:00
Andreas Shimokawa
b228c7b061 bump version, add changelogs 2018-11-15 20:30:15 +01:00
Andreas Shimokawa
59f8e72410 Notification actions refatoring and fixes
- Fixes "Mute, Open, Dismiss" to work again on pebble
- Greatly reduces complexity in PebbleProtocol, since all logic for adding specific reply actions to notification have been moved to generic code

Fixes the rest of #1336 (the part that says "Additionally, dismissing a notification on the watch no longer dismisses it on the Android device")
2018-11-15 15:53:04 +01:00
Andreas Shimokawa
bd874089d0 Ignore group summary of k9 notifications
Fixes part of #1336
2018-11-14 23:59:26 +01:00
Andreas Shimokawa
17a82f09f2 Pebble: Temporarily disable broken autoremove notification feature 2018-11-03 20:49:49 +01:00
Daniele Gobbetti
549dfce2e7 Pebble: generalize handling of incoming actions (from watch)
Also add missing casts back to int in NotificationListener
2018-11-01 19:40:26 +01:00
Andreas Shimokawa
e54f1eaccc SMS: add reply action in generic code (no longer explicitly handled in PebbleProtocol) 2018-11-01 16:58:20 +01:00
Daniele Gobbetti
eede85a9c9 Various improvements and bugfixes to notification handling
Prevent duplicate notifications with a dedicated data structure (not reusing
the anti-burst one) #1062, #657
Pebble: Forward the actions attached to notifications (not only reply)
inspired by the work of dnastase #705
2018-10-31 21:47:12 +01:00
Daniele Gobbetti
b9999edf2a Ignore notifications that are older than the last forwarded one for the
same source.

This reuses the data structure populated to prevent overflow, but avoids
to forward notifications that are older than the reference.
2018-10-29 18:39:38 +01:00
Daniele Gobbetti
29dc806fb1 Ignore notifications that are older than 1 second
In case of grouped notifications, we get multiple notifications
also if the android device shows only one.

This means that with this change the most recently updated chat
will get through, but others will not.

This should help with #1062 and #657
2018-10-28 18:03:01 +01:00
cpfeiffer
08595f4e3d Avoid autoboxing 2018-09-15 22:52:30 +02:00
Johannes Tysiak
d4ea5dfd44 Fix caller ID for incoming calls on Android 9
Fixes #1252
2018-09-05 20:41:01 +02:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
José Rebelo
fa1e9b8938
Support minimum time between notifications 2018-08-19 11:07:58 +01:00
cpfeiffer
98cd54657a Avoid unnecessary boxing 2018-08-17 00:28:00 +02:00
Daniele Gobbetti
9517fa211e Intercept alarm actions of the google clock application
Implemented blindly based on the information provided in #1199
Fixes #1199
2018-08-10 18:36:29 +02:00
License Bot
225a600aed Update license headers 2018-06-25 18:35:46 +02:00
Daniele Gobbetti
2ca8e4a4e4 Forward notifications marked as local only if they are emitted by skype
Also add skype for business package name.

Blind implementation as I don't have access to these apps.

Fixes #1109
2018-06-18 20:52:26 +02:00
Daniele Gobbetti
4d0020ae1d Add the option the blacklist applications also for Pebble Messages
Fixes #996
2018-06-18 20:38:37 +02:00
Daniele Gobbetti
f1736808cb Auto connect at boot on recent androids respecting the user settings
Automatically connect at boot if gadgetbridge is configured to start at
boot and to attempt an automatic connection when bluetooth is available

Fixes #693 and fixes #891
2018-05-16 19:08:53 +02:00
Daniele Gobbetti
d109630e74 Use TelephonyManager getCallState() instead of the provided extras
According to the documentation the current call state might be not correctly
contained in the extra, and using getCallState() is the right thing to do

Might help for #799 (and #756)
2018-05-16 18:56:36 +02:00