package androidx.media3.exoplayer; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.media.AudioManager; import android.os.Handler; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes2.dex */ public final class StreamVolumeManager { private static final String TAG = "StreamVolumeManager"; private static final String VOLUME_CHANGED_ACTION = "android.media.VOLUME_CHANGED_ACTION"; private final Context applicationContext; private final AudioManager audioManager; private final Handler eventHandler; private final Listener listener; private boolean muted; private VolumeChangeReceiver receiver; private int streamType; private int volume; /* loaded from: classes2.dex */ public interface Listener { void onStreamTypeChanged(int i); void onStreamVolumeChanged(int i, boolean z); } public int getVolume() { return this.volume; } public boolean isMuted() { return this.muted; } public StreamVolumeManager(Context context, Handler handler, Listener listener) { Context applicationContext = context.getApplicationContext(); this.applicationContext = applicationContext; this.eventHandler = handler; this.listener = listener; AudioManager audioManager = (AudioManager) Assertions.checkStateNotNull((AudioManager) applicationContext.getSystemService("audio")); this.audioManager = audioManager; this.streamType = 3; this.volume = getVolumeFromManager(audioManager, 3); this.muted = getMutedFromManager(audioManager, this.streamType); VolumeChangeReceiver volumeChangeReceiver = new VolumeChangeReceiver(); try { applicationContext.registerReceiver(volumeChangeReceiver, new IntentFilter(VOLUME_CHANGED_ACTION)); this.receiver = volumeChangeReceiver; } catch (RuntimeException e) { Log.w(TAG, "Error registering stream volume receiver", e); } } public void setStreamType(int i) { if (this.streamType == i) { return; } this.streamType = i; updateVolumeAndNotifyIfChanged(); this.listener.onStreamTypeChanged(i); } public int getMinVolume() { if (Util.SDK_INT >= 28) { return this.audioManager.getStreamMinVolume(this.streamType); } return 0; } public int getMaxVolume() { return this.audioManager.getStreamMaxVolume(this.streamType); } public void setVolume(int i, int i2) { if (i < getMinVolume() || i > getMaxVolume()) { return; } this.audioManager.setStreamVolume(this.streamType, i, i2); updateVolumeAndNotifyIfChanged(); } public void increaseVolume(int i) { if (this.volume >= getMaxVolume()) { return; } this.audioManager.adjustStreamVolume(this.streamType, 1, i); updateVolumeAndNotifyIfChanged(); } public void decreaseVolume(int i) { if (this.volume <= getMinVolume()) { return; } this.audioManager.adjustStreamVolume(this.streamType, -1, i); updateVolumeAndNotifyIfChanged(); } public void setMuted(boolean z, int i) { if (Util.SDK_INT >= 23) { this.audioManager.adjustStreamVolume(this.streamType, z ? -100 : 100, i); } else { this.audioManager.setStreamMute(this.streamType, z); } updateVolumeAndNotifyIfChanged(); } public void release() { VolumeChangeReceiver volumeChangeReceiver = this.receiver; if (volumeChangeReceiver != null) { try { this.applicationContext.unregisterReceiver(volumeChangeReceiver); } catch (RuntimeException e) { Log.w(TAG, "Error unregistering stream volume receiver", e); } this.receiver = null; } } /* JADX INFO: Access modifiers changed from: private */ public void updateVolumeAndNotifyIfChanged() { int volumeFromManager = getVolumeFromManager(this.audioManager, this.streamType); boolean mutedFromManager = getMutedFromManager(this.audioManager, this.streamType); if (this.volume == volumeFromManager && this.muted == mutedFromManager) { return; } this.volume = volumeFromManager; this.muted = mutedFromManager; this.listener.onStreamVolumeChanged(volumeFromManager, mutedFromManager); } private static int getVolumeFromManager(AudioManager audioManager, int i) { try { return audioManager.getStreamVolume(i); } catch (RuntimeException e) { Log.w(TAG, "Could not retrieve stream volume for stream type " + i, e); return audioManager.getStreamMaxVolume(i); } } private static boolean getMutedFromManager(AudioManager audioManager, int i) { if (Util.SDK_INT >= 23) { return audioManager.isStreamMute(i); } return getVolumeFromManager(audioManager, i) == 0; } /* loaded from: classes2.dex */ private final class VolumeChangeReceiver extends BroadcastReceiver { private VolumeChangeReceiver() { } @Override // android.content.BroadcastReceiver public void onReceive(Context context, Intent intent) { Handler handler = StreamVolumeManager.this.eventHandler; final StreamVolumeManager streamVolumeManager = StreamVolumeManager.this; handler.post(new Runnable() { // from class: androidx.media3.exoplayer.StreamVolumeManager$VolumeChangeReceiver$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { StreamVolumeManager.this.updateVolumeAndNotifyIfChanged(); } }); } } }