Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd840608 authored by Santiago Seifert's avatar Santiago Seifert Committed by Android (Google) Code Review
Browse files

Merge "Add human readable dump of volume handling to routing session" into main

parents 9824a10c 64fef059
Loading
Loading
Loading
Loading
+69 −62
Original line number Diff line number Diff line
@@ -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,8 +918,7 @@ public final class MediaRoute2Info implements Parcelable {
    @Override
    public String toString() {
        // Note: mExtras is not printed here.
        StringBuilder result =
                new StringBuilder()
        return new StringBuilder()
                .append("MediaRoute2Info{ ")
                .append("id=")
                .append(getId())
@@ -957,12 +938,8 @@ public final class MediaRoute2Info implements Parcelable {
                .append(getConnectionState())
                .append(", clientPackageName=")
                .append(getClientPackageName())
                        .append(", volumeHandling=")
                        .append(getVolumeHandling())
                        .append(", volumeMax=")
                        .append(getVolumeMax())
                        .append(", volume=")
                        .append(getVolume())
                .append(", ")
                .append(getVolumeString(mVolume, mVolumeMax, mVolumeHandling))
                .append(", address=")
                .append(getAddress())
                .append(", deduplicationIds=")
@@ -975,8 +952,8 @@ public final class MediaRoute2Info implements Parcelable {
                .append(String.join(",", mAllowedPackages))
                .append(", suitabilityStatus=")
                .append(mSuitabilityStatus)
                        .append(" }");
        return result.toString();
                .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;
+35 −40
Original line number Diff line number Diff line
@@ -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,8 +502,7 @@ public final class RoutingSessionInfo implements Parcelable {

    @Override
    public String toString() {
        StringBuilder result =
                new StringBuilder()
        return new StringBuilder()
                .append("RoutingSessionInfo{ ")
                .append("sessionId=")
                .append(getId())
@@ -524,20 +522,16 @@ public final class RoutingSessionInfo implements Parcelable {
                .append(", transferableRoutes={")
                .append(String.join(",", getTransferableRoutes()))
                .append("}")
                        .append(", volumeHandling=")
                        .append(getVolumeHandling())
                        .append(", volumeMax=")
                        .append(getVolumeMax())
                        .append(", volume=")
                        .append(getVolume())
                .append(", ")
                .append(MediaRoute2Info.getVolumeString(mVolume, mVolumeMax, mVolumeHandling))
                .append(", transferReason=")
                .append(getTransferReason())
                .append(", transferInitiatorUserHandle=")
                .append(getTransferInitiatorUserHandle())
                .append(", transferInitiatorPackageName=")
                .append(getTransferInitiatorPackageName())
                        .append(" }");
        return result.toString();
                .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;