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

Commit 06177b92 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add toString method to AudioProfile class" into sc-dev am: 71cf0b48

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13419104

Change-Id: I487c1b1afedbab1f220662a408aec1ef68c28b19
parents 00af10a4 71cf0b48
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ package android.media;

import android.annotation.NonNull;

import java.util.Arrays;
import java.util.stream.Collectors;

/**
 * An AudioProfile is specific to an audio format and lists supported sampling rates and
 * channel masks for that format.  An {@link AudioDeviceInfo} has a list of supported AudioProfiles.
@@ -63,4 +66,29 @@ public class AudioProfile {
    public @NonNull int[] getSampleRates() {
        return mSamplingRates;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("{");
        sb.append(AudioFormat.toLogFriendlyEncoding(mFormat));
        if (mSamplingRates != null && mSamplingRates.length > 0) {
            sb.append(", sampling rates=").append(Arrays.toString(mSamplingRates));
        }
        if (mChannelMasks != null && mChannelMasks.length > 0) {
            sb.append(", channel masks=").append(toHexString(mChannelMasks));
        }
        if (mChannelIndexMasks != null && mChannelIndexMasks.length > 0) {
            sb.append(", channel index masks=").append(Arrays.toString(mChannelIndexMasks));
        }
        sb.append("}");
        return sb.toString();
    }

    private static String toHexString(int[] ints) {
        if (ints == null || ints.length == 0) {
            return "";
        }
        return Arrays.stream(ints).mapToObj(anInt -> String.format("0x%02X, ", anInt))
                .collect(Collectors.joining());
    }
}