From aa9ef89a455ac8a1e1b198d6cca7c7b79e821e4f Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Tue, 18 Oct 2022 10:45:54 +0000 Subject: [PATCH 1/2] Add logging for route provider service proxies Bug: 243116883 Test: Manually using adb shell dumpsys media_router Change-Id: Ie88dc61d4b1177d922f264b7d832c811e17c9243 --- .../media/MediaRoute2ProviderServiceProxy.java | 18 +++++++++++------- .../media/MediaRoute2ProviderWatcher.java | 13 +++++++++---- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java index c6f89750e87ca..be1ade8818f92 100644 --- a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java +++ b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java @@ -84,12 +84,7 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider } public void dump(PrintWriter pw, String prefix) { - pw.println(prefix + "Proxy"); - pw.println(prefix + " mUserId=" + mUserId); - pw.println(prefix + " mRunning=" + mRunning); - pw.println(prefix + " mBound=" + mBound); - pw.println(prefix + " mActiveConnection=" + mActiveConnection); - pw.println(prefix + " mConnectionReady=" + mConnectionReady); + pw.println(prefix + getDebugString()); } public void setManagerScanning(boolean managerScanning) { @@ -494,7 +489,16 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider @Override public String toString() { - return "Service connection " + mComponentName.flattenToShortString(); + return getDebugString(); + } + + private String getDebugString() { + return TextUtils.formatSimple( + "ProviderServiceProxy - package: %s, bound: %b, connection (active:%b, ready:%b)", + mComponentName.getPackageName(), + mBound, + mActiveConnection != null, + mConnectionReady); } private final class Connection implements DeathRecipient { diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java b/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java index c8697b48b5153..46bccaf314d90 100644 --- a/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java +++ b/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java @@ -63,10 +63,15 @@ final class MediaRoute2ProviderWatcher { } public void dump(PrintWriter pw, String prefix) { - pw.println(prefix + "Watcher"); - pw.println(prefix + " mUserId=" + mUserId); - pw.println(prefix + " mRunning=" + mRunning); - pw.println(prefix + " mProxies.size()=" + mProxies.size()); + pw.println(prefix + "MediaRoute2ProviderWatcher"); + prefix += " "; + if (mProxies.isEmpty()) { + pw.println(prefix + ""); + } else { + for (MediaRoute2ProviderServiceProxy proxy : mProxies) { + proxy.dump(pw, prefix); + } + } } public void start() { From 3c155090fe878518a2c316ffbafe31c25a10fd90 Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Tue, 18 Oct 2022 13:02:43 +0000 Subject: [PATCH 2/2] Move EventLogger.dump call to MR2ServiceImpl.dump It's a property of dump, not the user handler. So before this change, the event logger would be dumped once per user. Bug: 243116883 Test: Manually using adb shell dumpsys media_router Change-Id: I5a36dac749dc9427e69639e12e561d56c27e63e8 --- .../com/android/server/media/MediaRouter2ServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java index b10dcae8400d3..5f06ca945eae1 100644 --- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java @@ -628,8 +628,9 @@ class MediaRouter2ServiceImpl { mUserRecords.valueAt(i).dump(pw, indent + " "); } } else { - pw.println(indent + ""); + pw.println(indent + " "); } + mEventLogger.dump(pw, indent); } } @@ -1382,8 +1383,6 @@ class MediaRouter2ServiceImpl { if (!mHandler.runWithScissors(() -> mHandler.dump(pw, indent), 1000)) { pw.println(indent + ""); } - - mEventLogger.dump(pw, indent); } }