diff options
| author | 2024-05-20 15:08:19 +0000 | |
|---|---|---|
| committer | 2024-05-20 16:26:48 +0000 | |
| commit | 64fef059a283fca82fb2780ec54947ff5a74dcda (patch) | |
| tree | bbfbc8cc7b38b51e7e53f9df2f1f483ecff79d6c | |
| parent | 26724a4c6940d27b5df7eac9ecb62dccb192dc69 (diff) | |
Add human readable dump of volume handling to routing session
This CL reuses code in MR2Info to provide a human readable string for
volume adjustment in MR2 info, and in the toString implementations of
both MR2Info and RoutingSessionInfo.
Test: mp core services && adb shell dumpsys media_router
Bug: 205124386
Flag: NONE Minor changes in debug-related logging.
Change-Id: Id3194d3c7f6eded5c37e2d64b43989de80ed1765
| -rw-r--r-- | media/java/android/media/MediaRoute2Info.java | 131 | ||||
| -rw-r--r-- | media/java/android/media/RoutingSessionInfo.java | 75 |
2 files changed, 104 insertions, 102 deletions
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java index 838630fcccb9..0589c0f12ab6 100644 --- a/media/java/android/media/MediaRoute2Info.java +++ b/media/java/android/media/MediaRoute2Info.java @@ -523,7 +523,7 @@ public final class MediaRoute2Info implements Parcelable { 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 @@ public final class MediaRoute2Info implements Parcelable { } 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 @@ public final class MediaRoute2Info implements Parcelable { @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 @@ public final class MediaRoute2Info implements Parcelable { 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 @@ public final class MediaRoute2Info implements Parcelable { 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 a3c8b689f0a6..a2a16ef5230b 100644 --- a/media/java/android/media/RoutingSessionInfo.java +++ b/media/java/android/media/RoutingSessionInfo.java @@ -107,7 +107,7 @@ public final class RoutingSessionInfo implements Parcelable { @NonNull final List<String> mTransferableRoutes; - final int mVolumeHandling; + @MediaRoute2Info.PlaybackVolume final int mVolumeHandling; final int mVolumeMax; final int mVolume; @@ -207,9 +207,10 @@ public final class RoutingSessionInfo implements Parcelable { 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 @@ public final class RoutingSessionInfo implements Parcelable { 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 @@ public final class RoutingSessionInfo implements Parcelable { @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 @@ public final class RoutingSessionInfo implements Parcelable { 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; |