AudioService: Add the AudioDeviceBroker's message queue to the dump

Clogged queue means device-related requests will not be served.

Example dump snippet:

AudioDeviceBroker:
  Message handler (watch for unhandled messages):
    Handler (com.android.server.audio.AudioDeviceBroker$BrokerHandler) {753fed2} @ 359741
      Looper (AudioDeviceBroker, tid 115) {ed3aba3}
        (Total messages: 0, polling=true, quitting=false)

Bug: 135763139
Test: adb shell dumpsys audio
Change-Id: If2130a4bd8bd9536df01656fe1a8f94548912ab9
This commit is contained in:
Mikhail Naganov
2019-06-27 11:16:30 -07:00
parent d8edd0dedc
commit 7c518d6c34
2 changed files with 14 additions and 2 deletions

View File

@@ -40,9 +40,11 @@ import android.os.PowerManager;
import android.os.SystemClock;
import android.os.UserHandle;
import android.util.Log;
import android.util.PrintWriterPrinter;
import com.android.internal.annotations.GuardedBy;
import java.io.PrintWriter;
/** @hide */
/*package*/ final class AudioDeviceBroker {
@@ -597,6 +599,15 @@ import com.android.internal.annotations.GuardedBy;
}
}
/*package*/ void dump(PrintWriter pw, String prefix) {
if (mBrokerHandler != null) {
pw.println(prefix + "Message handler (watch for unhandled messages):");
mBrokerHandler.dump(new PrintWriterPrinter(pw), prefix + " ");
} else {
pw.println("Message handler is null");
}
}
//---------------------------------------------------------------------
// Internal handling of messages
// These methods are ALL synchronous, in response to message handling in BrokerHandler

View File

@@ -6421,11 +6421,12 @@ public class AudioService extends IAudioService.Stub
dumpAudioPolicies(pw);
mDynPolicyLogger.dump(pw);
mPlaybackMonitor.dump(pw);
mRecordMonitor.dump(pw);
pw.println("\nAudioDeviceBroker:");
mDeviceBroker.dump(pw, " ");
pw.println("\n");
pw.println("\nEvent logs:");
mModeLogger.dump(pw);