Rabbit-R1/android (non root)/java/sources/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.java
2024-05-21 17:08:36 -04:00

122 lines
5.2 KiB
Java

package com.google.android.exoplayer2.audio;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Handler;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util;
/* loaded from: classes2.dex */
public final class AudioCapabilitiesReceiver {
AudioCapabilities audioCapabilities;
private final Context context;
private final ExternalSurroundSoundSettingObserver externalSurroundSoundSettingObserver;
private final Handler handler;
private final Listener listener;
private final BroadcastReceiver receiver;
private boolean registered;
/* loaded from: classes2.dex */
public interface Listener {
void onAudioCapabilitiesChanged(AudioCapabilities audioCapabilities);
}
/* JADX WARN: Multi-variable type inference failed */
public AudioCapabilitiesReceiver(Context context, Listener listener) {
Context applicationContext = context.getApplicationContext();
this.context = applicationContext;
this.listener = (Listener) Assertions.checkNotNull(listener);
Handler createHandlerForCurrentOrMainLooper = Util.createHandlerForCurrentOrMainLooper();
this.handler = createHandlerForCurrentOrMainLooper;
this.receiver = Util.SDK_INT >= 21 ? new HdmiAudioPlugBroadcastReceiver() : null;
Uri externalSurroundSoundGlobalSettingUri = AudioCapabilities.getExternalSurroundSoundGlobalSettingUri();
this.externalSurroundSoundSettingObserver = externalSurroundSoundGlobalSettingUri != null ? new ExternalSurroundSoundSettingObserver(createHandlerForCurrentOrMainLooper, applicationContext.getContentResolver(), externalSurroundSoundGlobalSettingUri) : null;
}
public AudioCapabilities register() {
if (this.registered) {
return (AudioCapabilities) Assertions.checkNotNull(this.audioCapabilities);
}
this.registered = true;
ExternalSurroundSoundSettingObserver externalSurroundSoundSettingObserver = this.externalSurroundSoundSettingObserver;
if (externalSurroundSoundSettingObserver != null) {
externalSurroundSoundSettingObserver.register();
}
Intent intent = null;
if (this.receiver != null) {
intent = this.context.registerReceiver(this.receiver, new IntentFilter("android.media.action.HDMI_AUDIO_PLUG"), null, this.handler);
}
AudioCapabilities capabilities = AudioCapabilities.getCapabilities(this.context, intent);
this.audioCapabilities = capabilities;
return capabilities;
}
public void unregister() {
if (this.registered) {
this.audioCapabilities = null;
BroadcastReceiver broadcastReceiver = this.receiver;
if (broadcastReceiver != null) {
this.context.unregisterReceiver(broadcastReceiver);
}
ExternalSurroundSoundSettingObserver externalSurroundSoundSettingObserver = this.externalSurroundSoundSettingObserver;
if (externalSurroundSoundSettingObserver != null) {
externalSurroundSoundSettingObserver.unregister();
}
this.registered = false;
}
}
/* JADX INFO: Access modifiers changed from: private */
public void onNewAudioCapabilities(AudioCapabilities audioCapabilities) {
if (!this.registered || audioCapabilities.equals(this.audioCapabilities)) {
return;
}
this.audioCapabilities = audioCapabilities;
this.listener.onAudioCapabilitiesChanged(audioCapabilities);
}
/* loaded from: classes2.dex */
private final class HdmiAudioPlugBroadcastReceiver extends BroadcastReceiver {
private HdmiAudioPlugBroadcastReceiver() {
}
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
if (isInitialStickyBroadcast()) {
return;
}
AudioCapabilitiesReceiver.this.onNewAudioCapabilities(AudioCapabilities.getCapabilities(context, intent));
}
}
/* loaded from: classes2.dex */
private final class ExternalSurroundSoundSettingObserver extends ContentObserver {
private final ContentResolver resolver;
private final Uri settingUri;
public ExternalSurroundSoundSettingObserver(Handler handler, ContentResolver contentResolver, Uri uri) {
super(handler);
this.resolver = contentResolver;
this.settingUri = uri;
}
public void register() {
this.resolver.registerContentObserver(this.settingUri, false, this);
}
public void unregister() {
this.resolver.unregisterContentObserver(this);
}
@Override // android.database.ContentObserver
public void onChange(boolean z) {
AudioCapabilitiesReceiver audioCapabilitiesReceiver = AudioCapabilitiesReceiver.this;
audioCapabilitiesReceiver.onNewAudioCapabilities(AudioCapabilities.getCapabilities(audioCapabilitiesReceiver.context));
}
}
}