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

Commit 64fef059 authored by Santiago Seifert's avatar Santiago Seifert
Browse files

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
parent 26724a4c
Loading
Loading
Loading
Loading
+69 −62
Original line number Original line Diff line number Diff line
@@ -523,7 +523,7 @@ public final class MediaRoute2Info implements Parcelable {
    private final int mConnectionState;
    private final int mConnectionState;
    private final String mClientPackageName;
    private final String mClientPackageName;
    private final String mPackageName;
    private final String mPackageName;
    private final int mVolumeHandling;
    @PlaybackVolume private final int mVolumeHandling;
    private final int mVolumeMax;
    private final int mVolumeMax;
    private final int mVolume;
    private final int mVolume;
    private final String mAddress;
    private final String mAddress;
@@ -855,25 +855,7 @@ public final class MediaRoute2Info implements Parcelable {
    }
    }


    private void dumpVolume(@NonNull PrintWriter pw, @NonNull String prefix) {
    private void dumpVolume(@NonNull PrintWriter pw, @NonNull String prefix) {
        String volumeHandlingName;
        pw.println(prefix + getVolumeString(mVolume, mVolumeMax, mVolumeHandling));

        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);
    }
    }


    @Override
    @Override
@@ -936,8 +918,7 @@ public final class MediaRoute2Info implements Parcelable {
    @Override
    @Override
    public String toString() {
    public String toString() {
        // Note: mExtras is not printed here.
        // Note: mExtras is not printed here.
        StringBuilder result =
        return new StringBuilder()
                new StringBuilder()
                .append("MediaRoute2Info{ ")
                .append("MediaRoute2Info{ ")
                .append("id=")
                .append("id=")
                .append(getId())
                .append(getId())
@@ -957,12 +938,8 @@ public final class MediaRoute2Info implements Parcelable {
                .append(getConnectionState())
                .append(getConnectionState())
                .append(", clientPackageName=")
                .append(", clientPackageName=")
                .append(getClientPackageName())
                .append(getClientPackageName())
                        .append(", volumeHandling=")
                .append(", ")
                        .append(getVolumeHandling())
                .append(getVolumeString(mVolume, mVolumeMax, mVolumeHandling))
                        .append(", volumeMax=")
                        .append(getVolumeMax())
                        .append(", volume=")
                        .append(getVolume())
                .append(", address=")
                .append(", address=")
                .append(getAddress())
                .append(getAddress())
                .append(", deduplicationIds=")
                .append(", deduplicationIds=")
@@ -975,8 +952,8 @@ public final class MediaRoute2Info implements Parcelable {
                .append(String.join(",", mAllowedPackages))
                .append(String.join(",", mAllowedPackages))
                .append(", suitabilityStatus=")
                .append(", suitabilityStatus=")
                .append(mSuitabilityStatus)
                .append(mSuitabilityStatus)
                        .append(" }");
                .append(" }")
        return result.toString();
                .toString();
    }
    }


    @Override
    @Override
@@ -1008,6 +985,36 @@ public final class MediaRoute2Info implements Parcelable {
        dest.writeInt(mSuitabilityStatus);
        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) {
    private static String getDeviceTypeString(@Type int deviceType) {
        switch (deviceType) {
        switch (deviceType) {
            case TYPE_BUILTIN_SPEAKER:
            case TYPE_BUILTIN_SPEAKER:
@@ -1079,7 +1086,7 @@ public final class MediaRoute2Info implements Parcelable {
        private int mConnectionState;
        private int mConnectionState;
        private String mClientPackageName;
        private String mClientPackageName;
        private String mPackageName;
        private String mPackageName;
        private int mVolumeHandling = PLAYBACK_VOLUME_FIXED;
        @PlaybackVolume private int mVolumeHandling = PLAYBACK_VOLUME_FIXED;
        private int mVolumeMax;
        private int mVolumeMax;
        private int mVolume;
        private int mVolume;
        private String mAddress;
        private String mAddress;
+35 −40
Original line number Original line Diff line number Diff line
@@ -107,7 +107,7 @@ public final class RoutingSessionInfo implements Parcelable {
    @NonNull
    @NonNull
    final List<String> mTransferableRoutes;
    final List<String> mTransferableRoutes;


    final int mVolumeHandling;
    @MediaRoute2Info.PlaybackVolume final int mVolumeHandling;
    final int mVolumeMax;
    final int mVolumeMax;
    final int mVolume;
    final int mVolume;


@@ -207,9 +207,10 @@ public final class RoutingSessionInfo implements Parcelable {
        return controlHints;
        return controlHints;
    }
    }


    @MediaRoute2Info.PlaybackVolume
    private static int defineVolumeHandling(
    private static int defineVolumeHandling(
            boolean isSystemSession,
            boolean isSystemSession,
            int volumeHandling,
            @MediaRoute2Info.PlaybackVolume int volumeHandling,
            List<String> selectedRoutes,
            List<String> selectedRoutes,
            boolean volumeAdjustmentForRemoteGroupSessions) {
            boolean volumeAdjustmentForRemoteGroupSessions) {
        if (!isSystemSession
        if (!isSystemSession
@@ -439,9 +440,7 @@ public final class RoutingSessionInfo implements Parcelable {
        pw.println(indent + "mSelectableRoutes=" + mSelectableRoutes);
        pw.println(indent + "mSelectableRoutes=" + mSelectableRoutes);
        pw.println(indent + "mDeselectableRoutes=" + mDeselectableRoutes);
        pw.println(indent + "mDeselectableRoutes=" + mDeselectableRoutes);
        pw.println(indent + "mTransferableRoutes=" + mTransferableRoutes);
        pw.println(indent + "mTransferableRoutes=" + mTransferableRoutes);
        pw.println(indent + "mVolumeHandling=" + mVolumeHandling);
        pw.println(indent + MediaRoute2Info.getVolumeString(mVolume, mVolumeMax, mVolumeHandling));
        pw.println(indent + "mVolumeMax=" + mVolumeMax);
        pw.println(indent + "mVolume=" + mVolume);
        pw.println(indent + "mControlHints=" + mControlHints);
        pw.println(indent + "mControlHints=" + mControlHints);
        pw.println(indent + "mIsSystemSession=" + mIsSystemSession);
        pw.println(indent + "mIsSystemSession=" + mIsSystemSession);
        pw.println(indent + "mTransferReason=" + mTransferReason);
        pw.println(indent + "mTransferReason=" + mTransferReason);
@@ -503,8 +502,7 @@ public final class RoutingSessionInfo implements Parcelable {


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


    /**
    /**
@@ -586,6 +580,7 @@ public final class RoutingSessionInfo implements Parcelable {
        private final List<String> mDeselectableRoutes;
        private final List<String> mDeselectableRoutes;
        @NonNull
        @NonNull
        private final List<String> mTransferableRoutes;
        private final List<String> mTransferableRoutes;
        @MediaRoute2Info.PlaybackVolume
        private int mVolumeHandling = MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
        private int mVolumeHandling = MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
        private int mVolumeMax;
        private int mVolumeMax;
        private int mVolume;
        private int mVolume;