Cannot play music without granting notification permission
austinoneil opened this issue · comments
Checklist
- I can reproduce the bug with the latest version given here.
- I made sure that there are no existing issues - open or closed - to which I could contribute my information.
- I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
- I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
- I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
- This issue contains only one bug.
- I have read and understood the contribution guidelines.
Affected app version
1.0.0
Affected Android/Custom ROM version
GrapheneOS latest
Affected device model
Pixel 7
How did you install the app?
F-Droid / IzzyOnDroid
Steps to reproduce the bug
- Open the app
- Deny the app notification permissions
- Attempt to play a track
Expected behavior
App plays track
Actual behavior
A modal pops up saying "You must allow the app displaying notifications, else it cannot play songs"
Screenshots/Screen recordings
No response
Additional information
No response
I deleted the check on my local machine and kept the permission denied, and it was working. If this was because of the media session that shows up in the notification bar, media sessions are exempt from the notification permission.
The notification permission isn't just there for the media session. It's used to send notifications like "Storage permission is required" when playback is triggered from the background and there is no storage permission or an error message when the service fails. The media scanner will probably be moved to a foreground service in the future and that will require the notification permission too.
Gotcha. Do you think it would make sense to use a different method of notifying users when they have notifications denied? (snackbar item, toast, etc.) As is, you cannot play music without granting notification permission.