- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
106 lines
3.5 KiB
Java
106 lines
3.5 KiB
Java
package com.google.android.gms.internal.ads;
|
|
|
|
import android.content.Context;
|
|
import android.media.AudioFormat;
|
|
import android.media.AudioManager;
|
|
import android.media.Spatializer;
|
|
import android.media.Spatializer$OnSpatializerStateChangedListener;
|
|
import android.os.Handler;
|
|
import android.os.Looper;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RequiresApi;
|
|
import com.mbridge.msdk.playercommon.exoplayer2.util.MimeTypes;
|
|
import java.util.Objects;
|
|
import java.util.concurrent.Executor;
|
|
|
|
@RequiresApi(32)
|
|
/* loaded from: classes3.dex */
|
|
final class zzxl {
|
|
private final Spatializer zza;
|
|
private final boolean zzb;
|
|
|
|
@Nullable
|
|
private Handler zzc;
|
|
|
|
@Nullable
|
|
private Spatializer$OnSpatializerStateChangedListener zzd;
|
|
|
|
private zzxl(Spatializer spatializer) {
|
|
int immersiveAudioLevel;
|
|
this.zza = spatializer;
|
|
immersiveAudioLevel = spatializer.getImmersiveAudioLevel();
|
|
this.zzb = immersiveAudioLevel != 0;
|
|
}
|
|
|
|
@Nullable
|
|
public static zzxl zza(Context context) {
|
|
Spatializer spatializer;
|
|
AudioManager audioManager = (AudioManager) context.getSystemService("audio");
|
|
if (audioManager == null) {
|
|
return null;
|
|
}
|
|
spatializer = audioManager.getSpatializer();
|
|
return new zzxl(spatializer);
|
|
}
|
|
|
|
public final void zzb(zzxt zzxtVar, Looper looper) {
|
|
if (this.zzd == null && this.zzc == null) {
|
|
this.zzd = new zzxk(this, zzxtVar);
|
|
final Handler handler = new Handler(looper);
|
|
this.zzc = handler;
|
|
Spatializer spatializer = this.zza;
|
|
Objects.requireNonNull(handler);
|
|
spatializer.addOnSpatializerStateChangedListener(new Executor() { // from class: com.google.android.gms.internal.ads.zzxj
|
|
@Override // java.util.concurrent.Executor
|
|
public final void execute(Runnable runnable) {
|
|
handler.post(runnable);
|
|
}
|
|
}, this.zzd);
|
|
}
|
|
}
|
|
|
|
public final void zzc() {
|
|
Spatializer$OnSpatializerStateChangedListener spatializer$OnSpatializerStateChangedListener = this.zzd;
|
|
if (spatializer$OnSpatializerStateChangedListener == null || this.zzc == null) {
|
|
return;
|
|
}
|
|
this.zza.removeOnSpatializerStateChangedListener(spatializer$OnSpatializerStateChangedListener);
|
|
Handler handler = this.zzc;
|
|
int i = zzei.zza;
|
|
handler.removeCallbacksAndMessages(null);
|
|
this.zzc = null;
|
|
this.zzd = null;
|
|
}
|
|
|
|
public final boolean zzd(zze zzeVar, zzab zzabVar) {
|
|
boolean canBeSpatialized;
|
|
int zzi = zzei.zzi((Objects.equals(zzabVar.zzo, MimeTypes.AUDIO_E_AC3_JOC) && zzabVar.zzD == 16) ? 12 : (Objects.equals(zzabVar.zzo, "audio/iamf") && zzabVar.zzD == -1) ? 6 : zzabVar.zzD);
|
|
if (zzi == 0) {
|
|
return false;
|
|
}
|
|
AudioFormat.Builder channelMask = new AudioFormat.Builder().setEncoding(2).setChannelMask(zzi);
|
|
int i = zzabVar.zzE;
|
|
if (i != -1) {
|
|
channelMask.setSampleRate(i);
|
|
}
|
|
canBeSpatialized = this.zza.canBeSpatialized(zzeVar.zza().zza, channelMask.build());
|
|
return canBeSpatialized;
|
|
}
|
|
|
|
public final boolean zze() {
|
|
boolean isAvailable;
|
|
isAvailable = this.zza.isAvailable();
|
|
return isAvailable;
|
|
}
|
|
|
|
public final boolean zzf() {
|
|
boolean isEnabled;
|
|
isEnabled = this.zza.isEnabled();
|
|
return isEnabled;
|
|
}
|
|
|
|
public final boolean zzg() {
|
|
return this.zzb;
|
|
}
|
|
}
|