From c4c4ccc037b5f02392a04606a1aa2a6555c7f472 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Sun, 9 Jan 2022 18:49:55 -0800 Subject: [PATCH] AudioService: dump routing cache in AudioSystemAdapter Bug: 211217374 Test: adb shell dumpsys audio, look under AudioSystemAdapter Change-Id: Ibfa62f09165287d4dc7a6822debcd1ff1a38eca6 --- media/java/android/media/AudioSystem.java | 2 +- .../android/server/audio/AudioService.java | 4 ++-- .../server/audio/AudioSystemAdapter.java | 21 +++++++++++++++++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java index 5d9f2909903b0..6ff551a68c188 100644 --- a/media/java/android/media/AudioSystem.java +++ b/media/java/android/media/AudioSystem.java @@ -1317,7 +1317,7 @@ public class AudioSystem return DEVICE_OUT_BLE_SPEAKER_NAME; case DEVICE_OUT_DEFAULT: default: - return Integer.toString(device); + return "0x" + Integer.toHexString(device); } } diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index d4c9b4865bd57..7cf60e8fedb22 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -9035,8 +9035,6 @@ public class AudioService extends IAudioService.Stub protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return; - mAudioSystem.dump(pw); - sLifecycleLogger.dump(pw); if (mAudioHandler != null) { pw.println("\nMessage handler (watch for unhandled messages):"); @@ -9116,6 +9114,8 @@ public class AudioService extends IAudioService.Stub pw.println("mHasSpatializerEffect:" + mHasSpatializerEffect); pw.println("isSpatializerEnabled:" + isSpatializerEnabled()); pw.println("isSpatialAudioEnabled:" + isSpatialAudioEnabled()); + + mAudioSystem.dump(pw); } private void dumpSupportedSystemUsage(PrintWriter pw) { diff --git a/services/core/java/com/android/server/audio/AudioSystemAdapter.java b/services/core/java/com/android/server/audio/AudioSystemAdapter.java index ac212eee21e65..a2ba76b6fd6a1 100644 --- a/services/core/java/com/android/server/audio/AudioSystemAdapter.java +++ b/services/core/java/com/android/server/audio/AudioSystemAdapter.java @@ -524,11 +524,28 @@ public class AudioSystemAdapter implements AudioSystem.RoutingUpdateCallback { * @param pw */ public void dump(PrintWriter pw) { + pw.println("\nAudioSystemAdapter:"); + pw.println(" mDevicesForStreamCache:"); + if (mDevicesForStreamCache != null) { + for (Integer stream : mDevicesForStreamCache.keySet()) { + pw.println("\t stream:" + stream + " device:" + + AudioSystem.getOutputDeviceName(mDevicesForStreamCache.get(stream))); + } + } + pw.println(" mDevicesForAttrCache:"); + if (mDevicesForAttrCache != null) { + for (AudioAttributes attr : mDevicesForAttrCache.keySet()) { + pw.println("\t" + attr); + for (AudioDeviceAttributes devAttr : mDevicesForAttrCache.get(attr)) { + pw.println("\t\t" + devAttr); + } + } + } + if (!ENABLE_GETDEVICES_STATS) { - // only stats in this dump + // only stats in the rest of this dump return; } - pw.println("\nAudioSystemAdapter:"); for (int i = 0; i < NB_MEASUREMENTS; i++) { pw.println(mMethodNames[i] + ": counter=" + mMethodCallCounter[i]