Merge "Add human readable dump of volume handling to routing session" into main
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java
index 838630f..0589c0f12 100644
--- a/media/java/android/media/MediaRoute2Info.java
+++ b/media/java/android/media/MediaRoute2Info.java
@@ -523,7 +523,7 @@
private final int mConnectionState;
private final String mClientPackageName;
private final String mPackageName;
- private final int mVolumeHandling;
+ @PlaybackVolume private final int mVolumeHandling;
private final int mVolumeMax;
private final int mVolume;
private final String mAddress;
@@ -855,25 +855,7 @@
}
private void dumpVolume(@NonNull PrintWriter pw, @NonNull String prefix) {
- String volumeHandlingName;
-
- switch (mVolumeHandling) {
- case PLAYBACK_VOLUME_FIXED:
- volumeHandlingName = "FIXED";
- break;
- case PLAYBACK_VOLUME_VARIABLE:
- volumeHandlingName = "VARIABLE";
- break;
- default:
- volumeHandlingName = "UNKNOWN";
- break;
- }
-
- String volume = String.format(Locale.US,
- "volume(current=%d, max=%d, handling=%s(%d))",
- mVolume, mVolumeMax, volumeHandlingName, mVolumeHandling);
-
- pw.println(prefix + volume);
+ pw.println(prefix + getVolumeString(mVolume, mVolumeMax, mVolumeHandling));
}
@Override
@@ -936,47 +918,42 @@
@Override
public String toString() {
// Note: mExtras is not printed here.
- StringBuilder result =
- new StringBuilder()
- .append("MediaRoute2Info{ ")
- .append("id=")
- .append(getId())
- .append(", name=")
- .append(getName())
- .append(", type=")
- .append(getDeviceTypeString(getType()))
- .append(", isSystem=")
- .append(isSystemRoute())
- .append(", features=")
- .append(getFeatures())
- .append(", iconUri=")
- .append(getIconUri())
- .append(", description=")
- .append(getDescription())
- .append(", connectionState=")
- .append(getConnectionState())
- .append(", clientPackageName=")
- .append(getClientPackageName())
- .append(", volumeHandling=")
- .append(getVolumeHandling())
- .append(", volumeMax=")
- .append(getVolumeMax())
- .append(", volume=")
- .append(getVolume())
- .append(", address=")
- .append(getAddress())
- .append(", deduplicationIds=")
- .append(String.join(",", getDeduplicationIds()))
- .append(", providerId=")
- .append(getProviderId())
- .append(", isVisibilityRestricted=")
- .append(mIsVisibilityRestricted)
- .append(", allowedPackages=")
- .append(String.join(",", mAllowedPackages))
- .append(", suitabilityStatus=")
- .append(mSuitabilityStatus)
- .append(" }");
- return result.toString();
+ return new StringBuilder()
+ .append("MediaRoute2Info{ ")
+ .append("id=")
+ .append(getId())
+ .append(", name=")
+ .append(getName())
+ .append(", type=")
+ .append(getDeviceTypeString(getType()))
+ .append(", isSystem=")
+ .append(isSystemRoute())
+ .append(", features=")
+ .append(getFeatures())
+ .append(", iconUri=")
+ .append(getIconUri())
+ .append(", description=")
+ .append(getDescription())
+ .append(", connectionState=")
+ .append(getConnectionState())
+ .append(", clientPackageName=")
+ .append(getClientPackageName())
+ .append(", ")
+ .append(getVolumeString(mVolume, mVolumeMax, mVolumeHandling))
+ .append(", address=")
+ .append(getAddress())
+ .append(", deduplicationIds=")
+ .append(String.join(",", getDeduplicationIds()))
+ .append(", providerId=")
+ .append(getProviderId())
+ .append(", isVisibilityRestricted=")
+ .append(mIsVisibilityRestricted)
+ .append(", allowedPackages=")
+ .append(String.join(",", mAllowedPackages))
+ .append(", suitabilityStatus=")
+ .append(mSuitabilityStatus)
+ .append(" }")
+ .toString();
}
@Override
@@ -1008,6 +985,36 @@
dest.writeInt(mSuitabilityStatus);
}
+ /**
+ * Returns a human readable string describing the given volume values.
+ *
+ * @param volume The current volume.
+ * @param maxVolume The maximum volume.
+ * @param volumeHandling The {@link PlaybackVolume}.
+ */
+ /* package */ static String getVolumeString(
+ int volume, int maxVolume, @PlaybackVolume int volumeHandling) {
+ String volumeHandlingName;
+ switch (volumeHandling) {
+ case PLAYBACK_VOLUME_FIXED:
+ volumeHandlingName = "FIXED";
+ break;
+ case PLAYBACK_VOLUME_VARIABLE:
+ volumeHandlingName = "VARIABLE";
+ break;
+ default:
+ volumeHandlingName = "UNKNOWN";
+ break;
+ }
+ return String.format(
+ Locale.US,
+ "volume(current=%d, max=%d, handling=%s(%d))",
+ volume,
+ maxVolume,
+ volumeHandlingName,
+ volumeHandling);
+ }
+
private static String getDeviceTypeString(@Type int deviceType) {
switch (deviceType) {
case TYPE_BUILTIN_SPEAKER:
@@ -1079,7 +1086,7 @@
private int mConnectionState;
private String mClientPackageName;
private String mPackageName;
- private int mVolumeHandling = PLAYBACK_VOLUME_FIXED;
+ @PlaybackVolume private int mVolumeHandling = PLAYBACK_VOLUME_FIXED;
private int mVolumeMax;
private int mVolume;
private String mAddress;
diff --git a/media/java/android/media/RoutingSessionInfo.java b/media/java/android/media/RoutingSessionInfo.java
index a3c8b68..a2a16ef 100644
--- a/media/java/android/media/RoutingSessionInfo.java
+++ b/media/java/android/media/RoutingSessionInfo.java
@@ -107,7 +107,7 @@
@NonNull
final List<String> mTransferableRoutes;
- final int mVolumeHandling;
+ @MediaRoute2Info.PlaybackVolume final int mVolumeHandling;
final int mVolumeMax;
final int mVolume;
@@ -207,9 +207,10 @@
return controlHints;
}
+ @MediaRoute2Info.PlaybackVolume
private static int defineVolumeHandling(
boolean isSystemSession,
- int volumeHandling,
+ @MediaRoute2Info.PlaybackVolume int volumeHandling,
List<String> selectedRoutes,
boolean volumeAdjustmentForRemoteGroupSessions) {
if (!isSystemSession
@@ -439,9 +440,7 @@
pw.println(indent + "mSelectableRoutes=" + mSelectableRoutes);
pw.println(indent + "mDeselectableRoutes=" + mDeselectableRoutes);
pw.println(indent + "mTransferableRoutes=" + mTransferableRoutes);
- pw.println(indent + "mVolumeHandling=" + mVolumeHandling);
- pw.println(indent + "mVolumeMax=" + mVolumeMax);
- pw.println(indent + "mVolume=" + mVolume);
+ pw.println(indent + MediaRoute2Info.getVolumeString(mVolume, mVolumeMax, mVolumeHandling));
pw.println(indent + "mControlHints=" + mControlHints);
pw.println(indent + "mIsSystemSession=" + mIsSystemSession);
pw.println(indent + "mTransferReason=" + mTransferReason);
@@ -503,41 +502,36 @@
@Override
public String toString() {
- StringBuilder result =
- new StringBuilder()
- .append("RoutingSessionInfo{ ")
- .append("sessionId=")
- .append(getId())
- .append(", name=")
- .append(getName())
- .append(", clientPackageName=")
- .append(getClientPackageName())
- .append(", selectedRoutes={")
- .append(String.join(",", getSelectedRoutes()))
- .append("}")
- .append(", selectableRoutes={")
- .append(String.join(",", getSelectableRoutes()))
- .append("}")
- .append(", deselectableRoutes={")
- .append(String.join(",", getDeselectableRoutes()))
- .append("}")
- .append(", transferableRoutes={")
- .append(String.join(",", getTransferableRoutes()))
- .append("}")
- .append(", volumeHandling=")
- .append(getVolumeHandling())
- .append(", volumeMax=")
- .append(getVolumeMax())
- .append(", volume=")
- .append(getVolume())
- .append(", transferReason=")
- .append(getTransferReason())
- .append(", transferInitiatorUserHandle=")
- .append(getTransferInitiatorUserHandle())
- .append(", transferInitiatorPackageName=")
- .append(getTransferInitiatorPackageName())
- .append(" }");
- return result.toString();
+ return new StringBuilder()
+ .append("RoutingSessionInfo{ ")
+ .append("sessionId=")
+ .append(getId())
+ .append(", name=")
+ .append(getName())
+ .append(", clientPackageName=")
+ .append(getClientPackageName())
+ .append(", selectedRoutes={")
+ .append(String.join(",", getSelectedRoutes()))
+ .append("}")
+ .append(", selectableRoutes={")
+ .append(String.join(",", getSelectableRoutes()))
+ .append("}")
+ .append(", deselectableRoutes={")
+ .append(String.join(",", getDeselectableRoutes()))
+ .append("}")
+ .append(", transferableRoutes={")
+ .append(String.join(",", getTransferableRoutes()))
+ .append("}")
+ .append(", ")
+ .append(MediaRoute2Info.getVolumeString(mVolume, mVolumeMax, mVolumeHandling))
+ .append(", transferReason=")
+ .append(getTransferReason())
+ .append(", transferInitiatorUserHandle=")
+ .append(getTransferInitiatorUserHandle())
+ .append(", transferInitiatorPackageName=")
+ .append(getTransferInitiatorPackageName())
+ .append(" }")
+ .toString();
}
/**
@@ -586,6 +580,7 @@
private final List<String> mDeselectableRoutes;
@NonNull
private final List<String> mTransferableRoutes;
+ @MediaRoute2Info.PlaybackVolume
private int mVolumeHandling = MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
private int mVolumeMax;
private int mVolume;