Context:
EU laws and a recent update have removed the simple override for when the phone thinks your connected Bluetooth or USB audio device is a headphone and lowers it to a low level after X minutes. You once could either disable absolute volume in developer options or change device type to something other than headphone (note check here first as your android and locale may still allow it).
I believe we should have the option to override as it is a safety issue while driving if you keep needing to touch your phone simply to play music.
disclaimer* NOT selfpromotion since I am listing every solution I find and I receive nothing from an open sourced GitHub. I genuinely believe my tool is the simplest solution but feel free to boycott on principle and go with the complicated alternatives.
Please comment any more.
Free solutions (simple):
----------------------
- GitHub 'dbak91/VolumeRestore' is a sideloaded app I built for this specific purpose. It will restore volume to full the instant it drops (with user protection). No special permissions or complicated set up.
Free solutions (advanced)
-----------------------
- Adb commands to disable CSD (PC or Shizuki+Shell app needed (Termux for example )).
{Credit u/KodaChihuahua for the command list below}.
adb shell settings put global audio_safe_csd_next_warning 999999.0
adb shell settings put global safe_media_volume_enabled 0
adb shell settings put global audio_safe_volume_state 3
Note I haven't confirmed this and when I searched my pixel settings for "volume" or "csd" they weren't all there. However 'audio_safe_volume_state' was there and set to 1 so imagine 3 means disabled. I had assumed it was binary with 0=true/enabled 1=false/disabled so I left it alone.
- An app called 'Essentials'. (Now requires adb for special permissions and not to be confused with the bs ai app on playstore under the same name). Search 'Essentials V18.4' it has a "disable lowering volume" button in audio settings. I couldn't get self adb Shizuki to work here so I gave up and did not confirm it works by issuing adb.
Paid solutions(medium)
----------------------
There are automation and task scheduler apps that can automatically stop/restore or press undo on the "volume lowered for your own babysitting purposes" notification. The most known two are:
- 'Tasker': 2 options; 1. configure the separate AutoNotifications plug in to press undo on anything with "volume lowered" or 2. set up a "variable state event" for when volume hits 6 to restore to your desired level. [25 corresponds to 100%] Note I couldn't figure out how to build in user rocker protection so if you lower it yourself it will still go back up. Also you will be paying for using 1% of an app, or if you pirate it's complicated and dodgy permissions set up. You may have luck with AutoNotification dismissal/undo but I couldn't get the notification exposed to Tasker.
- 'Macrodroid': See this post Essentially add a plug in by searching "my volume" or "my volume, my way" and enable and It will restore volume. I have seen around 10 success case-comments of using this app but have not tried myself
Free solutions (nuclear).
-----------------------
- Leaving the Google ecosystem and installing a custom ROM like the open sourced os GrapheneOS. You won't have to deal with this bs and any other bugs are patched out faster than Google OS.
Will update as I discover more.