OK, last flawed observation I promise, in order to prevent UI crashes on AA with a Pixel 7 in wired mode I needed this
diff --git a/media/java/android/media/audiopolicy/AudioPolicy.java b/media/java/android/media/audiopolicy/AudioPolicy.java
index 62d3f45b..05977f52 100644
--- a/media/java/android/media/audiopolicy/AudioPolicy.java
+++ b/media/java/android/media/audiopolicy/AudioPolicy.java
@@ -785,12 +785,13 @@ public class AudioPolicy {
* @throws IllegalArgumentException
*/
public AudioRecord createAudioRecordSink(AudioMix mix) throws IllegalArgumentException {
+ /*
if (GmsCompat.isAndroidAuto()) {
if (!GmsCompat.hasPermission(Manifest.permission.MODIFY_AUDIO_ROUTING)) {
return null;
}
}
-
+ */
if (!policyReadyToUse()) {
Log.e(TAG, "Cannot create AudioRecord sink for AudioMix");
return null;
diff --git a/services/core/java/com/android/server/pm/ext/AndroidAutoHooks.java b/services/core/java/com/android/server/pm/ext/AndroidAutoHooks.java
index ef3d9ee8..703d9f9d 100644
--- a/services/core/java/com/android/server/pm/ext/AndroidAutoHooks.java
+++ b/services/core/java/com/android/server/pm/ext/AndroidAutoHooks.java
@@ -68,6 +68,8 @@ public class AndroidAutoHooks extends PackageHooks {
Manifest.permission.CREATE_VIRTUAL_DEVICE,
/** @see android.app.UiModeManager#enableCarMode(int, int) */
Manifest.permission.ENTER_CAR_MODE_PRIORITIZED,
+ Manifest.permission.MANAGE_USB,
+ Manifest.permission.MEDIA_CONTENT_CONTROL,
Manifest.permission.MANAGE_USB_ANDROID_AUTO,
// allows to enable/disable dark mode
Manifest.permission.MODIFY_DAY_NIGHT_MODE,
@@ -113,6 +115,7 @@ public class AndroidAutoHooks extends PackageHooks {
Manifest.permission.CALL_PHONE,
Manifest.permission.CALL_PRIVILEGED,
Manifest.permission.CONTROL_INCALL_EXPERIENCE,
+ Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
// unprivileged permission
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_PRIVILEGED_PHONE_STATE_ANDROID_AUTO ->
I'll happily post my full "repo diff" output, but I think maybe at least for some devices the special narrow permissions are too narrow? I'd much prefer only the needed functionality is provided of course and am not proclaiming the above as a fix, but I no longer get the errors in OP's post. I'll shut up now lol