discord-jadx/app/src/main/java/androidx/media/AudioAttributesCompat.java

289 lines
9.7 KiB
Java

package androidx.media;
import android.media.AudioAttributes;
import android.os.Build;
import android.util.SparseIntArray;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.media.AudioAttributesImpl;
import androidx.media.AudioAttributesImplApi21;
import androidx.media.AudioAttributesImplApi26;
import androidx.media.AudioAttributesImplBase;
import androidx.versionedparcelable.VersionedParcelable;
import c.d.b.a.a;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class AudioAttributesCompat implements VersionedParcelable {
public static final int CONTENT_TYPE_MOVIE = 3;
public static final int CONTENT_TYPE_MUSIC = 2;
public static final int CONTENT_TYPE_SONIFICATION = 4;
public static final int CONTENT_TYPE_SPEECH = 1;
public static final int CONTENT_TYPE_UNKNOWN = 0;
public static final int FLAG_ALL = 1023;
public static final int FLAG_ALL_PUBLIC = 273;
public static final int FLAG_AUDIBILITY_ENFORCED = 1;
public static final int FLAG_BEACON = 8;
public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64;
public static final int FLAG_BYPASS_MUTE = 128;
public static final int FLAG_DEEP_BUFFER = 512;
public static final int FLAG_HW_AV_SYNC = 16;
public static final int FLAG_HW_HOTWORD = 32;
public static final int FLAG_LOW_LATENCY = 256;
public static final int FLAG_SCO = 4;
public static final int FLAG_SECURE = 2;
public static final int INVALID_STREAM_TYPE = -1;
private static final int[] SDK_USAGES = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16};
private static final int SUPPRESSIBLE_CALL = 2;
private static final int SUPPRESSIBLE_NOTIFICATION = 1;
private static final SparseIntArray SUPPRESSIBLE_USAGES;
public static final String TAG = "AudioAttributesCompat";
public static final int USAGE_ALARM = 4;
public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11;
public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12;
public static final int USAGE_ASSISTANCE_SONIFICATION = 13;
public static final int USAGE_ASSISTANT = 16;
public static final int USAGE_GAME = 14;
public static final int USAGE_MEDIA = 1;
public static final int USAGE_NOTIFICATION = 5;
public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9;
public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8;
public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7;
public static final int USAGE_NOTIFICATION_EVENT = 10;
public static final int USAGE_NOTIFICATION_RINGTONE = 6;
public static final int USAGE_UNKNOWN = 0;
public static final int USAGE_VIRTUAL_SOURCE = 15;
public static final int USAGE_VOICE_COMMUNICATION = 2;
public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3;
public static boolean sForceLegacyBehavior;
@RestrictTo({RestrictTo.Scope.LIBRARY})
public AudioAttributesImpl mImpl;
@Retention(RetentionPolicy.SOURCE)
@RestrictTo({RestrictTo.Scope.LIBRARY})
public @interface AttributeContentType {
}
@Retention(RetentionPolicy.SOURCE)
@RestrictTo({RestrictTo.Scope.LIBRARY})
public @interface AttributeUsage {
}
public static abstract class AudioManagerHidden {
public static final int STREAM_ACCESSIBILITY = 10;
public static final int STREAM_BLUETOOTH_SCO = 6;
public static final int STREAM_SYSTEM_ENFORCED = 7;
public static final int STREAM_TTS = 9;
private AudioManagerHidden() {
}
}
public static class Builder {
public final AudioAttributesImpl.Builder mBuilderImpl;
public Builder() {
if (AudioAttributesCompat.sForceLegacyBehavior) {
this.mBuilderImpl = new AudioAttributesImplBase.Builder();
} else if (Build.VERSION.SDK_INT >= 26) {
this.mBuilderImpl = new AudioAttributesImplApi26.Builder();
} else {
this.mBuilderImpl = new AudioAttributesImplApi21.Builder();
}
}
public Builder(AudioAttributesCompat audioAttributesCompat) {
if (AudioAttributesCompat.sForceLegacyBehavior) {
this.mBuilderImpl = new AudioAttributesImplBase.Builder(audioAttributesCompat);
} else if (Build.VERSION.SDK_INT >= 26) {
this.mBuilderImpl = new AudioAttributesImplApi26.Builder(audioAttributesCompat.unwrap());
} else {
this.mBuilderImpl = new AudioAttributesImplApi21.Builder(audioAttributesCompat.unwrap());
}
}
public AudioAttributesCompat build() {
return new AudioAttributesCompat(this.mBuilderImpl.build());
}
public Builder setContentType(int i) {
this.mBuilderImpl.setContentType(i);
return this;
}
public Builder setFlags(int i) {
this.mBuilderImpl.setFlags(i);
return this;
}
public Builder setLegacyStreamType(int i) {
this.mBuilderImpl.setLegacyStreamType(i);
return this;
}
public Builder setUsage(int i) {
this.mBuilderImpl.setUsage(i);
return this;
}
}
static {
SparseIntArray sparseIntArray = new SparseIntArray();
SUPPRESSIBLE_USAGES = sparseIntArray;
sparseIntArray.put(5, 1);
sparseIntArray.put(6, 2);
sparseIntArray.put(7, 2);
sparseIntArray.put(8, 1);
sparseIntArray.put(9, 1);
sparseIntArray.put(10, 1);
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public AudioAttributesCompat() {
}
public AudioAttributesCompat(AudioAttributesImpl audioAttributesImpl) {
this.mImpl = audioAttributesImpl;
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static void setForceLegacyBehavior(boolean z2) {
sForceLegacyBehavior = z2;
}
public static int toVolumeStreamType(boolean z2, int i, int i2) {
if ((i & 1) == 1) {
return z2 ? 1 : 7;
}
if ((i & 4) == 4) {
return z2 ? 0 : 6;
}
switch (i2) {
case 0:
case 1:
case 12:
case 14:
case 16:
return 3;
case 2:
return 0;
case 3:
return z2 ? 0 : 8;
case 4:
return 4;
case 5:
case 7:
case 8:
case 9:
case 10:
return 5;
case 6:
return 2;
case 11:
return 10;
case 13:
return 1;
case 15:
default:
if (!z2) {
return 3;
}
throw new IllegalArgumentException(a.l("Unknown usage value ", i2, " in audio attributes"));
}
}
public static String usageToString(int i) {
switch (i) {
case 0:
return "USAGE_UNKNOWN";
case 1:
return "USAGE_MEDIA";
case 2:
return "USAGE_VOICE_COMMUNICATION";
case 3:
return "USAGE_VOICE_COMMUNICATION_SIGNALLING";
case 4:
return "USAGE_ALARM";
case 5:
return "USAGE_NOTIFICATION";
case 6:
return "USAGE_NOTIFICATION_RINGTONE";
case 7:
return "USAGE_NOTIFICATION_COMMUNICATION_REQUEST";
case 8:
return "USAGE_NOTIFICATION_COMMUNICATION_INSTANT";
case 9:
return "USAGE_NOTIFICATION_COMMUNICATION_DELAYED";
case 10:
return "USAGE_NOTIFICATION_EVENT";
case 11:
return "USAGE_ASSISTANCE_ACCESSIBILITY";
case 12:
return "USAGE_ASSISTANCE_NAVIGATION_GUIDANCE";
case 13:
return "USAGE_ASSISTANCE_SONIFICATION";
case 14:
return "USAGE_GAME";
case 15:
default:
return a.k("unknown usage ", i);
case 16:
return "USAGE_ASSISTANT";
}
}
@Nullable
public static AudioAttributesCompat wrap(@NonNull Object obj) {
if (sForceLegacyBehavior) {
return null;
}
return Build.VERSION.SDK_INT >= 26 ? new AudioAttributesCompat(new AudioAttributesImplApi26((AudioAttributes) obj)) : new AudioAttributesCompat(new AudioAttributesImplApi21((AudioAttributes) obj));
}
public boolean equals(Object obj) {
if (!(obj instanceof AudioAttributesCompat)) {
return false;
}
AudioAttributesCompat audioAttributesCompat = (AudioAttributesCompat) obj;
AudioAttributesImpl audioAttributesImpl = this.mImpl;
return audioAttributesImpl == null ? audioAttributesCompat.mImpl == null : audioAttributesImpl.equals(audioAttributesCompat.mImpl);
}
public int getContentType() {
return this.mImpl.getContentType();
}
public int getFlags() {
return this.mImpl.getFlags();
}
public int getLegacyStreamType() {
return this.mImpl.getLegacyStreamType();
}
public int getRawLegacyStreamType() {
return this.mImpl.getRawLegacyStreamType();
}
public int getUsage() {
return this.mImpl.getUsage();
}
public int getVolumeControlStream() {
return this.mImpl.getVolumeControlStream();
}
public int hashCode() {
return this.mImpl.hashCode();
}
public String toString() {
return this.mImpl.toString();
}
@Nullable
public Object unwrap() {
return this.mImpl.getAudioAttributes();
}
}