f.java 源代码


package com.applovin.impl.sdk;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
import androidx.annotation.Nullable;
import com.applovin.impl.sdk.AppLovinBroadcastManager;
import com.applovin.sdk.AppLovinSdkUtils;
import com.mbridge.msdk.playercommon.exoplayer2.util.MimeTypes;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class f extends BroadcastReceiver implements AppLovinBroadcastManager.Receiver {

    public static int f7586x = -1;

    private final AudioManager f7587q;

    private final Context f7588r;

    private final k f7589s;

    private final Set<b> f7590t = new HashSet();

    private final Object f7591u = new Object();

    private boolean f7592v;

    private int f7593w;

    public class a implements Runnable {

        final b f7594q;

        final int f7595r;

        a(b bVar, int i6) {
            this.f7594q = bVar;
            this.f7595r = i6;
        }

        @Override
        public void run() {
            this.f7594q.onRingerModeChanged(this.f7595r);
        }
    }

    public interface b {
        void onRingerModeChanged(int i6);
    }

    public f(k kVar) {
        this.f7589s = kVar;
        Context j6 = kVar.j();
        this.f7588r = j6;
        this.f7587q = (AudioManager) j6.getSystemService(MimeTypes.BASE_TYPE_AUDIO);
    }

    public static boolean c(int i6) {
        if (i6 == 0 || i6 == 1) {
            return true;
        }
        return false;
    }

    private void d() {
        this.f7589s.U0().g("AudioSessionManager", "Observing ringer mode...");
        this.f7593w = f7586x;
        this.f7588r.registerReceiver(this, new IntentFilter("android.media.RINGER_MODE_CHANGED"));
        this.f7589s.d0().registerReceiver(this, new IntentFilter("com.applovin.application_paused"));
        this.f7589s.d0().registerReceiver(this, new IntentFilter("com.applovin.application_resumed"));
    }

    private void e(int i6) {
        if (this.f7592v) {
            return;
        }
        this.f7589s.U0().g("AudioSessionManager", "Ringer mode is " + i6);
        synchronized (this.f7591u) {
            Iterator<b> it = this.f7590t.iterator();
            while (it.hasNext()) {
                AppLovinSdkUtils.runOnUiThread(new a(it.next(), i6));
            }
        }
    }

    private void g() {
        this.f7589s.U0().g("AudioSessionManager", "Stopping observation of mute switch state...");
        this.f7588r.unregisterReceiver(this);
        this.f7589s.d0().unregisterReceiver(this);
    }

    public int a() {
        return this.f7587q.getRingerMode();
    }

    public void b(b bVar) {
        synchronized (this.f7591u) {
            if (this.f7590t.contains(bVar)) {
                return;
            }
            this.f7590t.add(bVar);
            if (this.f7590t.size() == 1) {
                d();
            }
        }
    }

    public void f(b bVar) {
        synchronized (this.f7591u) {
            if (!this.f7590t.contains(bVar)) {
                return;
            }
            this.f7590t.remove(bVar);
            if (this.f7590t.isEmpty()) {
                g();
            }
        }
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if ("android.media.RINGER_MODE_CHANGED".equals(intent.getAction())) {
            e(this.f7587q.getRingerMode());
        }
    }

    @Override
    public void onReceive(Context context, Intent intent, @Nullable Map<String, Object> map) {
        String action = intent.getAction();
        if ("com.applovin.application_paused".equals(action)) {
            this.f7592v = true;
            this.f7593w = this.f7587q.getRingerMode();
        } else if ("com.applovin.application_resumed".equals(action)) {
            this.f7592v = false;
            if (this.f7593w != this.f7587q.getRingerMode()) {
                this.f7593w = f7586x;
                e(this.f7587q.getRingerMode());
            }
        }
    }
}