summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/media/MediaRoute2Provider.java24
-rw-r--r--services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java11
-rw-r--r--services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java1
-rw-r--r--services/core/java/com/android/server/media/SystemMediaRoute2Provider.java9
4 files changed, 35 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/media/MediaRoute2Provider.java b/services/core/java/com/android/server/media/MediaRoute2Provider.java
index b82e3a31567e..c076c0574afe 100644
--- a/services/core/java/com/android/server/media/MediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/MediaRoute2Provider.java
@@ -19,6 +19,7 @@ package com.android.server.media;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ComponentName;
+import android.media.MediaRoute2Info;
import android.media.MediaRoute2ProviderInfo;
import android.media.RouteDiscoveryPreference;
import android.media.RoutingSessionInfo;
@@ -26,6 +27,7 @@ import android.os.Bundle;
import com.android.internal.annotations.GuardedBy;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -108,6 +110,28 @@ abstract class MediaRoute2Provider {
&& mComponentName.getClassName().equals(className);
}
+ public void dump(PrintWriter pw, String prefix) {
+ pw.println(prefix + getDebugString());
+ prefix += " ";
+ if (mProviderInfo == null) {
+ pw.println(prefix + "<provider info not received, yet>");
+ } else if (mProviderInfo.getRoutes().isEmpty()) {
+ pw.println(prefix + "<provider info has no routes>");
+ } else {
+ for (MediaRoute2Info route : mProviderInfo.getRoutes()) {
+ pw.printf("%s%s | %s\n", prefix, route.getId(), route.getName());
+ }
+ }
+ }
+
+ @Override
+ public String toString() {
+ return getDebugString();
+ }
+
+ /** Returns a human-readable string describing the instance, for debugging purposes. */
+ protected abstract String getDebugString();
+
public interface Callback {
void onProviderStateChanged(@Nullable MediaRoute2Provider provider);
void onSessionCreated(@NonNull MediaRoute2Provider provider,
diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
index 90451b19d590..72b843672ae8 100644
--- a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
+++ b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
@@ -44,7 +44,6 @@ import android.util.Slog;
import com.android.internal.annotations.GuardedBy;
-import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Collections;
@@ -83,10 +82,6 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider
mHandler = new Handler(Looper.myLooper());
}
- public void dump(PrintWriter pw, String prefix) {
- pw.println(prefix + getDebugString());
- }
-
public void setManagerScanning(boolean managerScanning) {
if (mIsManagerScanning != managerScanning) {
mIsManagerScanning = managerScanning;
@@ -488,11 +483,7 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider
}
@Override
- public String toString() {
- return getDebugString();
- }
-
- private String getDebugString() {
+ protected String getDebugString() {
return TextUtils.formatSimple(
"ProviderServiceProxy - package: %s, bound: %b, connection (active:%b, ready:%b)",
mComponentName.getPackageName(),
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
index 3c97aaf87e9c..2d3b97b768d3 100644
--- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
@@ -1751,6 +1751,7 @@ class MediaRouter2ServiceImpl {
String indent = prefix + " ";
pw.println(indent + "mRunning=" + mRunning);
+ mSystemProvider.dump(pw, prefix);
mWatcher.dump(pw, prefix);
}
diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
index 5d5c621eb3f5..6d2d2e405ab9 100644
--- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
@@ -392,6 +392,15 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
mCallback.onSessionUpdated(this, sessionInfo);
}
+ @Override
+ protected String getDebugString() {
+ return TextUtils.formatSimple(
+ "SystemMR2Provider - package: %s, selected route id: %s, bluetooth impl: %s",
+ mComponentName.getPackageName(),
+ mSelectedRouteId,
+ mBluetoothRouteController.getClass().getSimpleName());
+ }
+
private static class SessionCreationRequest {
final long mRequestId;
final String mRouteId;