新浪彩票 v0.96.37版本的 MD5 值为:0c7ddce345383506e2959f5d75bdceab

以下内容为反编译后的 e.java 源代码,内容仅作参考


package com.netease.nrtc.engine.impl;

import ScQQfj7RBI9EASOsKPvc.Dk2cftRKk79bPCa4V9xt.C1672;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Point;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.PowerManager;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.LongSparseArray;
import android.util.Pair;
import android.util.SparseArray;
import android.view.Display;
import android.view.WindowManager;
import com.alibaba.fastjson.parser.JSONLexer;
import com.meizu.cloud.pushsdk.constants.PushConstants;
import com.netease.nrtc.b.c;
import com.netease.nrtc.debug.INrtcDebugLocalEncodeDecodeVideo;
import com.netease.nrtc.engine.rawapi.IRtcEngine;
import com.netease.nrtc.engine.rawapi.IRtcEventHandler;
import com.netease.nrtc.engine.rawapi.IRtcRoomServerHandler;
import com.netease.nrtc.engine.rawapi.RtcAgcConfig;
import com.netease.nrtc.engine.rawapi.RtcCode;
import com.netease.nrtc.engine.rawapi.RtcConfig;
import com.netease.nrtc.engine.rawapi.RtcLiveCompositingLayout;
import com.netease.nrtc.engine.rawapi.RtcParameters;
import com.netease.nrtc.engine.rawapi.RtcServerAddresses;
import com.netease.nrtc.engine.rawapi.VoiceRxStatistics;
import com.netease.nrtc.internal.ClientSocks5Info;
import com.netease.nrtc.internal.ConnectInfo;
import com.netease.nrtc.internal.LoginExtraConfig;
import com.netease.nrtc.internal.LoginResInfo;
import com.netease.nrtc.internal.NEMediaEngine;
import com.netease.nrtc.internal.NEMediaEngineConfig;
import com.netease.nrtc.internal.NEMediaEngineSink;
import com.netease.nrtc.internal.PeopleJoinInfo;
import com.netease.nrtc.internal.PublishVideoProfile;
import com.netease.nrtc.internal.RemoteSubscribeLocalInfo;
import com.netease.nrtc.internal.SessionInfo;
import com.netease.nrtc.monitor.j;
import com.netease.nrtc.monitor.statistics.c;
import com.netease.nrtc.monitor.statistics.d;
import com.netease.nrtc.rec.a;
import com.netease.nrtc.sdk.audio.AudioFrame;
import com.netease.nrtc.sdk.audio.IPlayAudioCallBack;
import com.netease.nrtc.sdk.audio.IRemoteAudioCallBack;
import com.netease.nrtc.sdk.common.EglContextWrapper;
import com.netease.nrtc.sdk.common.VideoFilterParameter;
import com.netease.nrtc.sdk.common.statistics.NetStats;
import com.netease.nrtc.sdk.common.statistics.RtcStats;
import com.netease.nrtc.sdk.common.statistics.SessionStats;
import com.netease.nrtc.sdk.video.IVideoCapturer;
import com.netease.nrtc.sdk.video.VideoFrame;
import com.netease.nrtc.stats.AVSyncStat;
import com.netease.nrtc.stats.AudioConfigStats;
import com.netease.nrtc.stats.AudioRxInfo;
import com.netease.nrtc.stats.AudioStats;
import com.netease.nrtc.stats.DecodeStatInfo;
import com.netease.nrtc.stats.EncodeStatInfo;
import com.netease.nrtc.stats.NetStatInfo;
import com.netease.nrtc.stats.RemoteClientStats;
import com.netease.nrtc.stats.VideoJitterStats;
import com.netease.nrtc.utility.a.c;
import com.netease.nrtc.utility.c.b;
import com.netease.nrtc.utility.l;
import com.netease.nrtc.utility.n;
import com.netease.nrtc.utility.video.VideoUtils;
import com.netease.nrtc.video.a;
import com.netease.nrtc.video.codec.b;
import com.netease.nrtc.video.render.IVideoRender;
import com.netease.nrtc.voice.AudioMixing;
import com.netease.nrtc.voice.device.AudioDeviceParameters;
import com.netease.nrtc.voice.device.b.e;
import com.netease.nrtc.voice.effect.AudioEffectLoader;
import com.netease.nrtc.voice.frame.WrappedNativeAudioFrame;
import com.netease.yunxin.base.annotation.Privilege;
import com.netease.yunxin.base.crypto.MD5;
import com.netease.yunxin.base.thread.ThreadUtils;
import com.netease.yunxin.base.trace.Trace;
import com.netease.yunxin.base.utils.Checker;
import com.netease.yunxin.base.utils.Compatibility;
import com.netease.yunxin.base.utils.FileUtils;
import com.netease.yunxin.base.utils.Size;
import com.netease.yunxin.base.utils.StringUtils;
import com.netease.yunxin.base.utils.SystemPermissionUtils;
import com.netease.yunxin.base.utils.jni.LibraryUtils;
import ewUlBWKNoApzb1Mnhgn4.RyxNgHab7wg9M2LHo626.O6AgNJgW1GmSRcLCckPu.PmpzgmtwkmMb39lNWcsm.v4rqru3PdyhrqRZkuHAG.C3865;
import ewUlBWKNoApzb1Mnhgn4.RyxNgHab7wg9M2LHo626.O6AgNJgW1GmSRcLCckPu.PmpzgmtwkmMb39lNWcsm.v4rqru3PdyhrqRZkuHAG.C3866;
import ewUlBWKNoApzb1Mnhgn4.RyxNgHab7wg9M2LHo626.O6AgNJgW1GmSRcLCckPu.yDr5rnM22EGc6cSogojL.C3890;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import javax.microedition.khronos.egl.EGLContext;
import org.json.JSONObject;
import uN6ZT9mbO48DshpK4Gta.tuTnrQl15gwcjciRsKuT.tuTnrQl15gwcjciRsKuT.C5923;
public class e extends IRtcEngine implements k, NEMediaEngineSink, a.InterfaceC3320a, a.b, c.a, b.c, com.netease.nrtc.video.a.c, com.netease.nrtc.voice.a, e.a {
    private static volatile int a;
    private n F;
    private int J;
    private final com.netease.nrtc.monitor.j M;
    private final com.netease.nrtc.monitor.f N;
    private com.netease.nrtc.utility.b.a O;
    private int aA;
    private int aB;
    private int aC;
    private boolean aD;
    private boolean aE;
    private int aF;
    private boolean aG;
    private int aH;
    private boolean aI;
    private String aJ;
    private int aK;
    private RtcLiveCompositingLayout aL;
    private boolean aM;
    private boolean aN;
    private boolean aO;
    private boolean aP;
    private int aQ;
    private int aR;
    private int aS;
    private int aT;
    private int aU;
    private int aV;
    private String aW;
    private boolean aX;
    private boolean aY;
    private boolean aZ;
    private AudioEffectLoader ac;
    private volatile boolean af;
    private volatile boolean ag;
    private EglContextWrapper ah;
    private INrtcDebugLocalEncodeDecodeVideo an;
    private com.netease.nrtc.video.a aq;
    private boolean au;
    private boolean av;
    private boolean aw;
    private int ax;
    private boolean ay;
    private boolean az;
    private IRtcEventHandler b;
    private final j.a ba;
    private String c;
    private RtcConfig d;
    private Map<Long, j> e;
    private Map<Long, j> f;
    private NEMediaEngine g;
    private com.netease.nrtc.rec.a h;
    private boolean i;
    private com.netease.nrtc.voice.b j;
    private long[] k;
    private int[] l;
    private com.netease.nrtc.voice.device.b.e m;
    private com.netease.nrtc.video.a.d n;
    private int p;
    private int q;
    private int r;
    private int s;
    private boolean t;
    private int u;
    private Handler v;
    private WifiManager.WifiLock w;
    private PowerManager.WakeLock x;
    private g o = new g();
    private AtomicInteger y = new AtomicInteger(1);
    private AtomicInteger z = new AtomicInteger(0);
    private AtomicBoolean A = new AtomicBoolean(false);
    private AtomicBoolean B = new AtomicBoolean(false);
    private AtomicBoolean C = new AtomicBoolean(false);
    private AtomicInteger D = new AtomicInteger(0);
    private AtomicBoolean E = new AtomicBoolean(false);
    private int G = -1;
    private boolean H = false;
    private boolean I = false;
    private String K = "";
    private String L = "";
    private volatile int P = 0;
    private AtomicInteger Q = new AtomicInteger(-1);
    private int R = 2;
    private int S = -1;
    private volatile SparseArray<com.netease.nrtc.monitor.statistics.e> T = new SparseArray<>(3);
    private int U = 2;
    private int V = 3;
    private int W = 3;
    private int X = 2;
    private int Y = 1;
    private boolean Z = false;
    private int aa = 1;
    private LongSparseArray<PeopleJoinInfo> ab = new LongSparseArray<>();
    private Map<Long, b> ad = new ConcurrentHashMap(6);
    private final List<RemoteSubscribeLocalInfo> ae = new ArrayList(3);
    private com.netease.nrtc.internal.b ai = new com.netease.nrtc.internal.b();
    private boolean aj = true;
    private boolean ak = true;
    private int al = 1;
    private int am = 0;
    private int ao = 1;
    private int ap = 1;
    private int ar = 2;
    private boolean as = false;
    private int at = 1;

    public static abstract class a implements Runnable {
        private IRtcEventHandler a;

        public a(IRtcEventHandler iRtcEventHandler) {
            this.a = iRtcEventHandler;
        }

        public abstract void a(IRtcEventHandler iRtcEventHandler);

        @Override
        public void run() {
            IRtcEventHandler iRtcEventHandler = this.a;
            if (iRtcEventHandler != null) {
                a(iRtcEventHandler);
            }
        }
    }

    public e(Context context, String str, String str2, boolean z, int i, RtcServerAddresses rtcServerAddresses, IRtcEventHandler iRtcEventHandler) throws Exception {
        String str3;
        j.a aVar = new j.a() {
            private HashSet<Long> b = new HashSet<>();

            @Override
            public boolean a() {
                return e.this.A.get();
            }

            @Override
            public HashSet<Long> b() {
                this.b.clear();
                for (b bVar : e.this.ad.values()) {
                    if (bVar.c()) {
                        this.b.add(Long.valueOf(bVar.a()));
                    }
                }
                return this.b;
            }

            @Override
            public com.netease.nrtc.video.a.g c(long j) {
                com.netease.nrtc.video.a.g j2 = e.this.n.j(j);
                return j2 == null ? new com.netease.nrtc.video.a.g() : j2;
            }

            @Override
            public void a(final SessionStats sessionStats) {
                final int i2 = sessionStats.sessionState;
                if (i2 == 0) {
                    Iterator<SessionStats.SimulcastVideo> it = sessionStats.simulcastVideos.iterator();
                    while (it.hasNext()) {
                        SessionStats.SimulcastVideo next = it.next();
                        e.this.g.b(next.txVideoEncodedBitrate, next.videoType, next.txVideoEncodedFrameRate, next.txVideoSkipFrameRate);
                    }
                }
                e eVar = e.this;
                eVar.a(eVar.v, new a(e.this.b) {
                    @Override
                    public void a(IRtcEventHandler iRtcEventHandler2) {
                        int i3 = i2;
                        if (i3 != 0) {
                            if (i3 == 1) {
                                iRtcEventHandler2.onLeaveChannel(sessionStats);
                                return;
                            } else if (i3 != 2) {
                                return;
                            }
                        }
                        iRtcEventHandler2.onSessionStats(sessionStats);
                    }
                });
            }

            @Override
            public boolean c() {
                return e.this.af;
            }

            @Override
            public void a(c.a aVar2) {
                aVar2.a(e.this.R);
            }

            @Override
            public AVSyncStat b(long j) {
                if (e.this.g != null) {
                    return e.this.g.d(j);
                }
                return AVSyncStat.obtain();
            }

            @Override
            public void a(d.a aVar2) {
                AudioConfigStats obtain;
                AudioStats obtain2;
                SessionInfo obtain3;
                long j;
                NetStatInfo obtain4;
                com.netease.nrtc.video.a.g gVar;
                DecodeStatInfo decodeStatInfo;
                VideoJitterStats videoJitterStats;
                AnonymousClass29 anonymousClass29 = this;
                d.a aVar3 = aVar2;
                if (e.this.j != null) {
                    obtain = e.this.j.m();
                    obtain2 = e.this.j.n();
                } else {
                    obtain = AudioConfigStats.obtain();
                    obtain2 = AudioStats.obtain();
                }
                AudioConfigStats audioConfigStats = obtain;
                AudioStats audioStats = obtain2;
                long j2 = 0;
                if (e.this.g != null) {
                    SessionInfo g = e.this.g.g();
                    NetStatInfo h = e.this.g.h();
                    long f = e.this.g.f();
                    j = e.this.g.e();
                    obtain3 = g;
                    obtain4 = h;
                    j2 = f;
                } else {
                    obtain3 = SessionInfo.obtain();
                    j = 0;
                    obtain4 = NetStatInfo.obtain();
                }
                com.netease.nrtc.video.a.a e = e.this.n.e(0);
                String n = e.this.n.n();
                com.netease.nrtc.profile.a.b().d(n);
                aVar3.a(obtain4.e()).d(obtain4.e(), (int) obtain4.f()).c(e.c).a(audioStats.c(), obtain4.h(), audioStats.d()).b(audioStats.e()).d(obtain4.g()).a(audioStats.a(), audioStats.b()).b(obtain4.i(), obtain4.j(), obtain4.k()).b(obtain4.l(), obtain4.m()).e(obtain4.n()).f(obtain4.p()).g(obtain4.q()).b(j2).c(j).h(obtain4.a()).i(obtain4.d()).j(obtain4.b()).k(obtain4.c());
                aVar2.a().setTurnIp(obtain3.a()).setProxyIp(obtain3.b()).setChannelId(e.this.d.channel).setAudioJBStrategy(e.this.U).setQosGrayScaleType1(e.this.Y).setQosGrayScaleType2(e.this.X).setQosGrayScaleType3(e.this.aa).setQosGrayScaleType4(e.this.V).setUid(e.this.d.userId).setConnectState(e.this.J).setPushUrl((e.this.aI && e.this.aD) ? e.this.aJ : "").setPeerToPeer(e.this.I).setApmAecDelay(audioConfigStats.a()).setApmAecNonlinear(audioConfigStats.b()).setApmAecType(audioConfigStats.c()).setApmAecCompressLevel(audioConfigStats.d()).setApmNsType(audioConfigStats.e()).setApmNsLevel(audioConfigStats.f()).setLocalSimulcastModel(obtain4.o()).setVideoCaptureName(n);
                synchronized (e.this.ae) {
                    try {
                        for (RemoteSubscribeLocalInfo remoteSubscribeLocalInfo : e.this.ae) {
                            int a2 = remoteSubscribeLocalInfo.a();
                            com.netease.nrtc.video.a.a e2 = e.this.n.e(a2);
                            try {
                                NetStatInfo netStatInfo = obtain4;
                                aVar2.a(a2, obtain4.a(a2), obtain4.d(a2), obtain4.e(a2), obtain4.f(a2), obtain4.b(a2), obtain4.c(a2), e.this.s(a2).b, e.this.s(a2).a, obtain4.g(a2), obtain4.h(a2), obtain4.i(a2), e2.a, e2.b, obtain4.j(a2), obtain4.k(a2), obtain4.l(a2), obtain4.m(a2));
                                anonymousClass29 = this;
                                EncodeStatInfo g2 = e.this.n.g(a2);
                                if (g2 == null) {
                                    g2 = EncodeStatInfo.obtain();
                                }
                                aVar2.a(a2, netStatInfo.a(a2));
                                aVar2.a(a2, g2.a(), g2.b(), g2.f(), g2.d(), g2.e(), g2.g(), g2.c());
                                com.netease.nrtc.c.a.a().a(a2, g2.c());
                                g2.recycle();
                                obtain4 = netStatInfo;
                                aVar3 = aVar2;
                            } catch (Throwable th) {
                                th = th;
                                throw th;
                            }
                        }
                        NetStatInfo netStatInfo2 = obtain4;
                        audioConfigStats.recycle();
                        audioStats.recycle();
                        netStatInfo2.recycle();
                        obtain3.recycle();
                        for (Long l : e.this.e.keySet()) {
                            long longValue = l.longValue();
                            if (longValue != e.this.d.userId) {
                                RemoteClientStats remoteClientStats = null;
                                if (e.this.n == null || e.this.g == null) {
                                    gVar = null;
                                    decodeStatInfo = null;
                                    videoJitterStats = null;
                                } else {
                                    com.netease.nrtc.video.a.g j3 = e.this.n.j(longValue);
                                    DecodeStatInfo k = e.this.n.k(longValue);
                                    RemoteClientStats a3 = e.this.g.a(longValue);
                                    videoJitterStats = e.this.g.b(longValue);
                                    decodeStatInfo = k;
                                    gVar = j3;
                                    remoteClientStats = a3;
                                }
                                if (remoteClientStats == null) {
                                    remoteClientStats = RemoteClientStats.obtain();
                                }
                                RemoteClientStats remoteClientStats2 = remoteClientStats;
                                if (videoJitterStats == null) {
                                    videoJitterStats = VideoJitterStats.obtain();
                                }
                                VideoJitterStats videoJitterStats2 = videoJitterStats;
                                if (gVar == null) {
                                    gVar = new com.netease.nrtc.video.a.g();
                                }
                                com.netease.nrtc.video.a.g gVar2 = gVar;
                                if (decodeStatInfo == null) {
                                    decodeStatInfo = DecodeStatInfo.obtain();
                                }
                                DecodeStatInfo decodeStatInfo2 = decodeStatInfo;
                                if (!e.this.p(longValue)) {
                                    gVar2.f = -1;
                                    videoJitterStats2.setVideoStuckTimes(-1L);
                                }
                                aVar2.a(longValue, remoteClientStats2.a(), remoteClientStats2.b()).a(longValue, (int) videoJitterStats2.a()).a(longValue, remoteClientStats2.k(), remoteClientStats2.l()).a(longValue, gVar2.d, gVar2.e, gVar2.c).b(longValue, decodeStatInfo2.c(), decodeStatInfo2.a(), decodeStatInfo2.b()).b(longValue, videoJitterStats2.c(), videoJitterStats2.b()).b(longValue, remoteClientStats2.c(), (int) remoteClientStats2.d()).c(longValue, remoteClientStats2.g(), remoteClientStats2.h()).d(longValue, remoteClientStats2.f(), remoteClientStats2.e()).c(longValue, (int) videoJitterStats2.d()).b(longValue, gVar2.f).e(longValue, remoteClientStats2.i(), remoteClientStats2.j());
                                com.netease.nrtc.c.a.a().d(longValue, decodeStatInfo2.a());
                                remoteClientStats2.recycle();
                                videoJitterStats2.recycle();
                                decodeStatInfo2.recycle();
                            }
                        }
                    } catch (Throwable th2) {
                        th = th2;
                    }
                }
            }

            @Override
            public int a(long[] jArr) {
                if (e.this.j != null) {
                    return e.this.j.a(jArr);
                }
                return 0;
            }

            @Override
            public AudioRxInfo a(long j) {
                if (e.this.g != null) {
                    AudioRxInfo c = e.this.g.c(j);
                    if (!e.this.ag) {
                        c.setStuckTimeInterval(-1L);
                    }
                    return c;
                }
                return AudioRxInfo.obtain();
            }

            @Override
            public void a(com.netease.nrtc.utility.d dVar, boolean z2) {
                for (Long l : e.this.e.keySet()) {
                    long longValue = l.longValue();
                    if (!z2 || longValue != e.this.d.userId) {
                        dVar.accept(longValue);
                    }
                }
            }
        };
        this.ba = aVar;
        if (Compatibility.runningOnJellyBeanOrHigher()) {
            Checker.checkArgument(context != null, "Context is null!");
            Checker.checkArgument(iRtcEventHandler != null, "Handler is null!");
            Checker.checkArgument(StringUtils.isNotEmpty(str2), "Log dir is empty!");
            Checker.checkArgument(StringUtils.isNotEmpty(str), "App key is empty!");
            b();
            a(context, str, z, i);
            this.v = new Handler(Looper.getMainLooper());
            this.b = iRtcEventHandler;
            this.c = str2;
            d();
            l.f(com.netease.nrtc.engine.impl.a.b);
            l.e(com.netease.nrtc.engine.impl.a.b);
            com.netease.nrtc.utility.a.a();
            j();
            this.A.set(false);
            this.e = new ConcurrentHashMap();
            this.f = new ConcurrentHashMap();
            str3 = "https://statistic.live.126.net/statistic/realtime/sdkinfo";
            String str4 = "https://lbs.netease.im/cc/nrtc/v2";
            if (rtcServerAddresses != null) {
                Trace.i("RtcEngineImpl", rtcServerAddresses.toString());
                if (com.netease.nrtc.utility.a.a(rtcServerAddresses.roomServer)) {
                    h.a(rtcServerAddresses.roomServer);
                }
                str3 = com.netease.nrtc.utility.a.a(rtcServerAddresses.statisticsServer) ? rtcServerAddresses.statisticsServer : "https://statistic.live.126.net/statistic/realtime/sdkinfo";
                if (com.netease.nrtc.utility.a.a(rtcServerAddresses.functionServer)) {
                    com.netease.nrtc.monitor.d.a(rtcServerAddresses.functionServer);
                }
                if (com.netease.nrtc.utility.a.a(rtcServerAddresses.compatServer)) {
                    str4 = rtcServerAddresses.compatServer;
                }
            }
            com.netease.nrtc.b.a.a(com.netease.nrtc.engine.impl.a.b, str4);
            com.netease.nrtc.b.a.a(false, com.netease.nrtc.engine.impl.a.j);
            com.netease.nrtc.video.a.e.a();
            f();
            com.netease.nrtc.utility.c.b.a().a(this);
            b(true);
            this.m = com.netease.nrtc.voice.device.b.e.a(com.netease.nrtc.engine.impl.a.b);
            this.F = new n(context, this.v) {
                @Override
                public void a(int i2) {
                    e.this.g(i2);
                }
            };
            if (!com.netease.nrtc.engine.impl.a.h) {
                this.M = new com.netease.nrtc.monitor.j(str, str3, aVar);
            } else {
                this.M = null;
                this.aq = new com.netease.nrtc.video.a(new a.InterfaceC3324a() {
                    @Override
                    public final void onTick(Set set) {
                        com.netease.nrtc.engine.impl.e.this.a(set);
                    }
                });
            }
            this.O = com.netease.nrtc.utility.b.a.a(this.c);
            g();
            h();
            this.an = C3890.m17588();
            this.N = new com.netease.nrtc.monitor.f();
            com.netease.nrtc.c.a(context, str, rtcServerAddresses, str2);
            com.netease.nrtc.c.a(new com.netease.nrtc.c.c.a());
            Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
            return;
        }
        throw new RuntimeException("Require sdk level 16 or higher!");
    }

    private int A() {
        WindowManager windowManager = (WindowManager) com.netease.nrtc.engine.impl.a.b.getSystemService("window");
        if (windowManager != null) {
            Display defaultDisplay = windowManager.getDefaultDisplay();
            Point point = new Point();
            if (Compatibility.runningOnJellyBeanMR1OrHigher()) {
                defaultDisplay.getRealSize(point);
            } else {
                defaultDisplay.getSize(point);
            }
            int i = point.x;
            int i2 = point.y;
            Trace.i("RtcEngineImpl", "Display id " + defaultDisplay.getDisplayId() + ":" + i + "x" + i2);
            return com.netease.nrtc.video.a.b.a(i, i2);
        }
        return -1;
    }

    private void B() {
        Trace.i("RtcEngineImpl", "stopAllVoicePlayout");
        com.netease.nrtc.voice.b bVar = this.j;
        if (bVar != null) {
            bVar.h();
        }
    }

    private boolean C() {
        Trace.i("RtcEngineImpl", "startVoiceSend");
        com.netease.nrtc.utility.a.c.a().a(this.aM, D());
        int i = 0;
        if (y() && com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.Z, false)) {
            i = 60;
        }
        com.netease.nrtc.voice.b.e a2 = com.netease.nrtc.voice.a.a.a(this.s, a == 44 ? 80 : i, com.netease.nrtc.utility.a.c.a().c().c, this.aM, D(), true, true);
        this.j.a(a2);
        this.j.c(this.aO);
        this.g.c((int) a2.a);
        this.g.e(a2.d);
        this.g.d(a2.b);
        this.Q.set(D() ? 2 : 1);
        return Checker.traceFuncState(this.j.a(this.Q.get(), a2), "RtcEngineImpl", "voe#startSend");
    }

    private boolean D() {
        return this.aM && this.P == 1;
    }

    private void E() {
        Checker.traceFuncState(this.j.f(), "RtcEngineImpl", "voe#stopSend");
    }

    private void F() {
        Trace.i("RtcEngineImpl", "startVideoSend");
        if (!this.H) {
            Trace.e("RtcEngineImpl", "video unsupported!");
            return;
        }
        j jVar = this.e.get(Long.valueOf(this.d.userId));
        if (jVar != null) {
            int n = n(jVar.b);
            Trace.i("RtcEngineImpl", "local video protocol ver -> " + n);
            this.n.b(this.d.userId, n);
            this.n.a(this.aR);
            this.n.a(this.d.userId, this.r, this.t, G());
            Z();
            if (this.aN) {
                this.n.d();
            } else {
                this.n.c();
            }
        }
    }

    private boolean G() {
        int i = this.R;
        return i == 2 || i == 1;
    }

    private boolean H() {
        Trace.i("RtcEngineImpl", "stopVideoSend");
        this.n.d();
        Trace.i("RtcEngineImpl", "stopVideoSend done");
        return true;
    }

    private int I() {
        if (this.y.get() != 3) {
            return -1;
        }
        int i = -1001;
        StringBuilder sb = new StringBuilder();
        if (!k() && this.H) {
            if (this.aj && !this.af) {
                i = Y();
            }
            if (this.ak) {
                Collection<b> values = this.ad.values();
                sb.append(" sub: [");
                for (b bVar : values) {
                    int a2 = a(bVar.d());
                    if (a2 != -1) {
                        int e = e(bVar.a(), a2);
                        sb.append(bVar.a());
                        sb.append(":");
                        sb.append(e);
                        sb.append(" ");
                    }
                }
                sb.append("]");
            }
        } else {
            if (this.aj || this.af) {
                i = ad();
            }
            if (!this.H) {
                sb.append(" unsub: [");
                for (b bVar2 : this.ad.values()) {
                    if (bVar2.c()) {
                        int o = o(bVar2.a());
                        sb.append(bVar2.a());
                        sb.append(":");
                        sb.append(o);
                        sb.append(" ");
                    }
                }
                sb.append("]");
            }
        }
        Trace.i("RtcEngineImpl", -300000L, "update auto publish status , video = " + this.H + " , audience = " + k() + " , set pub video = " + this.af + " , auto pub = " + this.aj + " , pubUnPubResult = " + i + ((Object) sb));
        return i;
    }

    private boolean J() {
        Trace.i("RtcEngineImpl", "switchToVideoMode");
        this.m.a(0);
        this.m.a(false);
        if (!k()) {
            F();
        }
        k(-1L);
        this.g.b(this.H);
        L();
        return true;
    }

    private boolean K() {
        Trace.i("RtcEngineImpl", "switchToAudioMode");
        this.m.a(this.ay);
        H();
        stopVideoPreview();
        n(-1L);
        this.g.b(this.H);
        L();
        return true;
    }

    private void L() {
        if (z()) {
            return;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.g);
    }

    private boolean M() {
        if (this.i) {
            return true;
        }
        String format = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()).format(new Date());
        File file = null;
        if (SystemPermissionUtils.checkWriteExternalStoragePermission(com.netease.nrtc.engine.impl.a.b)) {
            file = com.netease.nrtc.engine.impl.a.b.getExternalFilesDir("record");
        } else {
            Trace.w("RtcEngineImpl", "init local record warning: no write external storage permission!");
        }
        if (file == null) {
            Trace.w("RtcEngineImpl", "init local record warning: try internal dir");
            file = com.netease.nrtc.engine.impl.a.b.getDir("record", 0);
        }
        if (file == null) {
            Trace.e("RtcEngineImpl", "init local record error: file is null");
            return false;
        }
        File file2 = new File(file, format);
        file2.deleteOnExit();
        if (file2.mkdirs()) {
            this.h.a(this.aU);
            boolean a2 = this.h.a(this, this, file2.getAbsolutePath());
            this.i = a2;
            return a2;
        }
        Trace.e("RtcEngineImpl", "init local record error: mk dir failed");
        return false;
    }

    private void N() {
        if (y()) {
            com.netease.nrtc.video.a.a k = this.n.k();
            com.netease.nrtc.video.a.a l = this.n.l();
            if (this.e.size() > 1) {
                if (k.c > 15) {
                    this.n.b(k.a, k.b, l.a, l.b, 15);
                    return;
                }
                return;
            }
            this.n.b(k.a, k.b, l.a, l.b, this.aK);
        }
    }

    private void O() {
        com.netease.nrtc.c.o.a.a(com.netease.nrtc.engine.impl.a.b, this.d, this.c, w());
    }

    private void P() {
        Q();
        R();
    }

    private void Q() {
        NEMediaEngine nEMediaEngine = this.g;
        if (nEMediaEngine != null) {
            int i = this.R;
            int i2 = this.S;
            if (i2 == -1) {
                i2 = 1;
            }
            nEMediaEngine.a(i, i2, com.netease.nrtc.utility.c.c.a(com.netease.nrtc.engine.impl.a.b), this.P, this.aM, this.Y, this.V, this.W, this.Z, this.X, this.aK);
        }
    }

    private void R() {
        int i = this.aS;
        this.g.a(i > 0 ? i / 1000 : -1, -1);
    }

    private void S() {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", "after login try publish , but status is :" + this.y.get());
            return;
        }
        e(false);
        int i = -1001;
        int Y = (!k() && this.H && (this.aj || this.af)) ? Y() : -1001;
        if (this.ak || this.ag) {
            i = ae();
        }
        Trace.i("RtcEngineImpl", -300000L, "after login , pub result = " + Y + ", sub audio = " + i + ", auto pub = " + this.aj + ", auto sub = " + this.ak + ", pre pub = " + this.af + ", pre sub = " + this.ag);
    }

    private void T() {
        if (this.d == null) {
            return;
        }
        com.netease.nrtc.c.a(new com.netease.nrtc.c.j.a(this.d.channel, com.netease.nrtc.c.a.a().c(), com.netease.nrtc.c.a.a().b()));
    }

    private void U() {
        ConnectInfo connectInfo = new ConnectInfo();
        connectInfo.c(com.netease.nrtc.voice.a.a.h(this.aD));
        connectInfo.b(com.netease.nrtc.video.a.e.a(this.aD));
        connectInfo.a(com.netease.nrtc.video.a.e.f(this.aD));
        connectInfo.d(NEMediaEngine.a());
        connectInfo.e(NEMediaEngine.a());
        connectInfo.b(0);
        connectInfo.a(com.netease.nrtc.internal.a.a(10));
        onConnected(connectInfo);
    }

    public void V() {
        Trace.i("RtcEngineImpl", "onLogoutFinished");
        NEMediaEngine.a = true;
        NEMediaEngine.c = SystemClock.elapsedRealtime();
        NEMediaEngine nEMediaEngine = this.g;
        if (nEMediaEngine != null) {
            nEMediaEngine.a(false);
        }
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            jVar.d();
        } else {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onLeaveChannel(new SessionStats());
                }
            });
        }
        this.z.set(0);
        Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
    }

    private long W() {
        for (Long l : this.e.keySet()) {
            long longValue = l.longValue();
            if (longValue != this.d.userId) {
                return longValue;
            }
        }
        return 0L;
    }

    private void X() {
        if (this.y.get() == 3 && !k() && this.H) {
            if (!this.aj && !this.af) {
                Z();
                Trace.i("RtcEngineImpl", -300000L, "try re publish video  , but not publish before");
                return;
            }
            int Y = Y();
            Trace.i("RtcEngineImpl", -300000L, "try re publish video  , result = " + Y);
        }
    }

    private int Y() {
        if (this.y.get() != 3) {
            Trace.w("RtcEngineImpl", -300000L, "publish video inner err  , status = " + this.y.get());
            return -1;
        } else if (this.at != 1) {
            Trace.w("RtcEngineImpl", -300000L, "publish video inner err  , communicateMode = " + this.at);
            return -1;
        } else {
            com.netease.nrtc.video.a.a ab = ab();
            com.netease.nrtc.utility.k.a(this.g.b(com.netease.nrtc.video.a.f.a(ab.a, ab.b)));
            ArrayList<PublishVideoProfile> arrayList = new ArrayList<>();
            arrayList.add(new PublishVideoProfile(0, ab.a, ab.b, this.aK));
            if (this.al == 1) {
                com.netease.nrtc.video.a.a a2 = com.netease.nrtc.utility.k.a(ab);
                arrayList.add(new PublishVideoProfile(2, a2.a, a2.b, this.aK));
            }
            int a3 = this.g.a(arrayList);
            if (a3 == 0) {
                if (this.n == null) {
                    Trace.w("RtcEngineImpl", -300000L, "publish video inner err  , vie2 is null");
                    return -1;
                }
                Z();
                this.af = true;
            }
            return a3;
        }
    }

    private void Z() {
        com.netease.nrtc.video.a.a ab = ab();
        com.netease.nrtc.video.a.a ac = ac();
        this.n.b(ab.a, ab.b, ac.a, ac.b, this.aK);
    }

    private void aa() {
        if (this.aB == 0) {
            return;
        }
        int a2 = com.netease.nrtc.video.a.e.a(com.netease.nrtc.engine.impl.a.b, this.aD);
        if (com.netease.nrtc.video.a.e.b(this.aA, a2) > com.netease.nrtc.video.a.e.b(this.aB, a2)) {
            this.aB = this.aA;
        }
    }

    private com.netease.nrtc.video.a.a ab() {
        int b = this.o.b(com.netease.nrtc.video.a.e.b(this.aA, com.netease.nrtc.video.a.e.a(com.netease.nrtc.engine.impl.a.b, this.aD)));
        int i = this.u;
        if (i == 0) {
            i = b;
        }
        return com.netease.nrtc.video.a.f.a(p(Math.min(i, b)));
    }

    private com.netease.nrtc.video.a.a ac() {
        if (this.A.get()) {
            if (this.aB == 0) {
                return ab();
            }
            return com.netease.nrtc.video.a.f.a(p(com.netease.nrtc.video.a.e.b(this.aB, com.netease.nrtc.video.a.e.a(com.netease.nrtc.engine.impl.a.b, this.aD))));
        }
        int i = this.aB;
        if (i == 0) {
            i = this.aA;
        }
        if (!com.netease.nrtc.engine.impl.a.h) {
            i = com.netease.nrtc.video.a.e.c(i, 4);
        }
        return com.netease.nrtc.video.a.f.a(com.netease.nrtc.video.a.e.b(i, com.netease.nrtc.video.a.e.a(com.netease.nrtc.engine.impl.a.b, this.aD)));
    }

    private int ad() {
        int i = this.g.i();
        if (i == 0) {
            this.af = false;
            com.netease.nrtc.monitor.j jVar = this.M;
            if (jVar != null) {
                jVar.a(-1);
            }
            this.n.e();
        }
        return i;
    }

    private int ae() {
        return this.g.j();
    }

    private int af() {
        return this.g.k();
    }

    private int ag() {
        if (this.aD) {
            if (k()) {
                return -200;
            }
            if (this.aN) {
                return -100;
            }
            return !this.H ? RtcCode.Subscribe.IS_AUDIO_MODE_ERR : this.aj ? -500 : 0;
        }
        return -600;
    }

    private int ah() {
        if (this.aD) {
            if (this.ak) {
                return -500;
            }
            return this.am == 70 ? -1 : 0;
        }
        return -600;
    }

    public static int k(int i) {
        if (i != 1) {
            if (i != 2) {
                if (i != 3) {
                    if (i != 4) {
                        return i != 5 ? 0 : 3005;
                    }
                    return 3004;
                }
                return 3003;
            }
            return 3002;
        }
        return 3001;
    }

    public static int l(int i) {
        if (i != 1) {
            if (i != 2) {
                return i != 4 ? 0 : 3104;
            }
            return 3102;
        }
        return 3101;
    }

    public static int m(int i) {
        if (i != 1) {
            if (i != 2) {
                if (i != 3) {
                    if (i != 4) {
                        if (i != 5) {
                            if (i != 10) {
                                return i != 11 ? 0 : 1111;
                            }
                            return 1110;
                        }
                        return 1005;
                    }
                    return 1004;
                }
                return 1003;
            }
            return 1002;
        }
        return 1001;
    }

    private static int n(int i) {
        if (i == 12) {
            return 1;
        }
        return i >= 13 ? 2 : 0;
    }

    private static int o(int i) {
        if (i != 5) {
            if (i != 6) {
                return i;
            }
            return 5;
        }
        return 6;
    }

    private boolean q(int i) {
        return (i == 0 || i == 1) ? false : true;
    }

    private boolean z() {
        return this.aD;
    }

    @Override
    public synchronized int disableVideo() {
        Trace.i("RtcEngineImpl", "disable video");
        if (this.H) {
            this.H = false;
            if (this.y.get() == 3) {
                K();
            }
            I();
        } else {
            Trace.i("RtcEngineImpl", "video is already disabled");
        }
        if (!this.H) {
            this.F.b();
        }
        return this.H ? -1 : 0;
    }

    @Override
    public synchronized int dispose() throws IllegalStateException {
        Trace.i("RtcEngineImpl", "dispose");
        if (this.y.get() == 3) {
            Trace.w("RtcEngineImpl", "dispose warning: need leave channel!");
            leaveChannel();
        }
        EglContextWrapper eglContextWrapper = this.ah;
        if (eglContextWrapper != null) {
            eglContextWrapper.release();
        }
        this.ac.a();
        com.netease.nrtc.monitor.e.a().c();
        this.g.c();
        this.j.b();
        this.n.a();
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            jVar.b();
        }
        com.netease.nrtc.video.a aVar = this.aq;
        if (aVar != null) {
            aVar.b();
        }
        this.m.a();
        com.netease.nrtc.utility.c.b.a().b(this);
        com.netease.nrtc.c.a.a().d();
        b(false);
        com.netease.nrtc.profile.a.a().b();
        this.j = null;
        this.n = null;
        this.m = null;
        this.h = null;
        this.F.b();
        this.F = null;
        this.b = null;
        com.netease.nrtc.utility.j.d();
        com.netease.nrtc.b.a.b();
        this.O.a();
        com.netease.nrtc.monitor.d.a();
        String c = c(this.c);
        if (FileUtils.isNotEmpty(c)) {
            RtcConfig rtcConfig = this.d;
            com.netease.nrtc.c.a(new com.netease.nrtc.c.e.a(rtcConfig != null ? rtcConfig.channel : 0L, c));
        }
        this.z.set(0);
        Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
        com.netease.nrtc.c.a();
        Trace.i("RtcEngineImpl", "dispose done");
        Trace.ReturnTrace();
        return 0;
    }

    @Override
    public synchronized int enableVideo() {
        if (!this.H) {
            this.H = true;
            if (this.y.get() == 3) {
                J();
            }
            I();
        } else {
            Trace.i("RtcEngineImpl", "video is already enabled");
        }
        if (this.H && !this.aG) {
            this.F.a();
        }
        Trace.i("RtcEngineImpl", "enable video : " + this.H);
        return this.H ? 0 : -2;
    }

    @Override
    public int getConnectStatus() {
        return this.z.get();
    }

    @Override
    public synchronized RtcParameters getParameters(RtcParameters rtcParameters) {
        RtcParameters rtcParameters2;
        rtcParameters2 = new RtcParameters();
        ArrayList<String> arrayList = new ArrayList();
        Privilege privilege = l.c(com.netease.nrtc.engine.impl.a.b) ? Privilege.PROTECTED : Privilege.PUBLIC;
        if (rtcParameters == null) {
            arrayList.addAll(RtcParameters.getReadableKeys(privilege));
        } else {
            arrayList.addAll(RtcParameters.getReadableKeys(rtcParameters.keys(), privilege));
        }
        for (String str : arrayList) {
            Object d = d(str);
            if (d != null) {
                try {
                    rtcParameters2.setObject(str, d);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                rtcParameters2.removeParameters(str);
            }
        }
        return rtcParameters2;
    }

    @Override
    public synchronized int getRole() {
        return this.aC;
    }

    @Override
    public synchronized boolean isAutoPublishVideo() {
        return this.aj;
    }

    @Override
    public synchronized boolean isAutoSubscribeAudio() {
        return this.ak;
    }

    @Override
    public synchronized boolean isAutoSubscribeVideo() {
        return this.ak;
    }

    @Override
    public synchronized boolean isMicrophoneMute() {
        return this.j.v();
    }

    @Override
    public synchronized boolean isSpeakerphoneOn() {
        return this.m.b() == 0;
    }

    @Override
    public synchronized int joinChannel(RtcConfig rtcConfig, long j) throws RuntimeException {
        Trace.i("RtcEngineImpl", "joinChannel");
        Checker.checkNotNull(rtcConfig, "join channel error [config is null]");
        if (!this.y.compareAndSet(1, 2)) {
            Trace.e("RtcEngineImpl", "joinChannel error (status not stop)");
            return -1;
        }
        this.z.set(1);
        Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
        com.netease.nrtc.c.a(MD5.md5(rtcConfig.channel + ":" + rtcConfig.userId + System.currentTimeMillis()));
        com.netease.nrtc.b.a.a(rtcConfig.grayReleased, com.netease.nrtc.engine.impl.a.j);
        f fVar = rtcConfig.logTrace;
        if (fVar != null && fVar.a()) {
            this.O.a(fVar);
        }
        this.j.i(com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.an, 0));
        this.j.j(com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ap, 0));
        if (!this.j.a(this.aM)) {
            Trace.e("RtcEngineImpl", "joinChannel error (voe init error)");
            this.z.set(0);
            Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
            return -2;
        }
        i();
        a(rtcConfig);
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            jVar.c();
        }
        this.N.a();
        boolean t = t();
        if (t) {
            this.y.set(3);
            com.netease.nrtc.monitor.j jVar2 = this.M;
            if (jVar2 != null) {
                jVar2.a();
            }
            com.netease.nrtc.utility.a.c.a().a(com.netease.nrtc.engine.impl.a.b);
            com.netease.nrtc.utility.a.c.a().a((c.a) this, true);
            com.netease.nrtc.utility.c.b.a().a(com.netease.nrtc.engine.impl.a.b);
            if (!com.netease.nrtc.profile.a.a().c()) {
                com.netease.nrtc.profile.a.a().a(this.aZ);
                com.netease.nrtc.profile.a.b().a(String.valueOf(rtcConfig.channel));
                com.netease.nrtc.profile.a.b().a(this.aX);
                com.netease.nrtc.profile.a.b().b(com.netease.nrtc.engine.impl.a.s);
                com.netease.nrtc.b.b a2 = com.netease.nrtc.b.a.a();
                com.netease.nrtc.profile.a.b().e(a2 != null ? a2.h() : "");
                com.netease.nrtc.profile.a.a().a();
            }
            if (y()) {
                int i = com.netease.nrtc.monitor.d.c;
                RtcLiveCompositingLayout rtcLiveCompositingLayout = this.aL;
                com.netease.nrtc.monitor.d.a(i, rtcLiveCompositingLayout == null ? 0 : rtcLiveCompositingLayout.mode + 1);
            } else if (z()) {
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.b);
            } else {
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.a);
            }
        } else {
            this.y.set(1);
            this.z.set(0);
            Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
        }
        this.N.a(j);
        boolean a3 = com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ai, false);
        com.netease.nrtc.utility.i.a(com.netease.nrtc.engine.impl.a.b, a3);
        Trace.i("RtcEngineImpl", "enableCrashCatch from config: " + a3);
        StringBuilder sb = new StringBuilder();
        sb.append("joinChannel (");
        sb.append(t ? "ok" : "failed");
        sb.append(C5923.C5925.f19790);
        Trace.i("RtcEngineImpl", sb.toString());
        return t ? 0 : -5;
    }

    @Override
    public synchronized int leaveChannel() {
        Trace.i("RtcEngineImpl", "leaveChannel");
        this.B.set(false);
        this.C.set(false);
        this.E.set(false);
        this.D.set(0);
        if (!this.y.compareAndSet(3, 4)) {
            Trace.e("RtcEngineImpl", "leaveChannel error (status not running)");
            return -1;
        }
        if (this.A.getAndSet(false)) {
            this.j.d();
            NEMediaEngine nEMediaEngine = this.g;
            RtcConfig rtcConfig = this.d;
            nEMediaEngine.a(rtcConfig.channel, rtcConfig.userId);
            T();
        }
        ThreadUtils.removeRunnableOnThreadWithToken(this.v, e.a.class);
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            jVar.b();
        }
        com.netease.nrtc.utility.a.c.a().a((c.a) this, false);
        com.netease.nrtc.utility.a.c.a().b();
        com.netease.nrtc.utility.c.b.a().b();
        H();
        s();
        n(-1L);
        l(-1L);
        E();
        B();
        h(-1L);
        i(-1L);
        this.h.a();
        this.m.a();
        com.netease.nrtc.monitor.j jVar2 = this.M;
        if (jVar2 != null) {
            VoiceRxStatistics f = jVar2.f();
            a(f.freezeSessionRate, f.gapPacketCount, f.outOfDatePacketCount);
        } else {
            a(0, 0, 0);
        }
        this.y.set(1);
        e(true);
        this.an.release();
        Trace.i("RtcEngineImpl", "leaveChannel done");
        return 0;
    }

    @Override
    public synchronized boolean localAudioStreamMuted() {
        return this.j.i();
    }

    @Override
    public synchronized boolean localVideoStreamMuted() {
        return this.aN;
    }

    @Override
    public synchronized int muteLocalAudioStream(boolean z) {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported muteLocalAudioStream");
            return -1;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.e);
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.b, z));
        this.j.c(z);
        this.aO = z;
        return 0;
    }

    @Override
    public synchronized int muteLocalVideoStream(boolean z) {
        Trace.i("RtcEngineImpl", "muteLocalVideoStream: " + z);
        if (k()) {
            Trace.i("RtcEngineImpl", "audience, unsupported muteLocalVideoStream");
            return -1;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.aj);
        this.aN = z;
        if (this.A.get()) {
            if (z) {
                this.n.d();
            } else {
                this.n.c();
            }
        }
        return 0;
    }

    @Override
    public synchronized int muteRemoteAudioStream(long j, boolean z) {
        if (!this.A.get()) {
            Trace.i("RtcEngineImpl", "muteRemoteAudioStream before call established. channel:" + j + ", mute:" + z);
            return -700;
        }
        if (j == -1) {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.X);
            com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.g, z));
        } else {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ak);
        }
        if (this.A.get()) {
            if (z) {
                if (!remoteAudioStreamMuted(j)) {
                    j(j);
                }
            } else if (j == -1 || remoteAudioStreamMuted(j)) {
                g(j);
            }
            return 0;
        }
        Trace.i("RtcEngineImpl", "muteRemoteAudioStream before call established. channel:" + j + ", mute:" + z);
        return -700;
    }

    @Override
    public synchronized int muteRemoteVideoStream(long j, boolean z) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.al);
        Trace.i("RtcEngineImpl", "muteRemoteVideoStream: " + j + "#" + z);
        if (z) {
            if (!remoteVideoStreamMuted(j)) {
                n(j);
            }
        } else if (remoteVideoStreamMuted(j)) {
            k(j);
        }
        return 0;
    }

    @Override
    public void onConnected(final ConnectInfo connectInfo) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.b(connectInfo);
            }
        });
    }

    @Override
    public void onForceIdrFrame(long j, int i) {
        if (this.A.get()) {
            this.n.b(i);
        }
    }

    @Override
    public void onLiveEvent(final int i) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.w(i);
            }
        });
    }

    @Override
    public void onLogin(final LoginResInfo loginResInfo) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.e(loginResInfo);
            }
        });
    }

    @Override
    public void onLogoutFinished() {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.V();
            }
        });
    }

    @Override
    public void onNetQualityChange(final long j, final int i, final NetStatInfo netStatInfo) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.b(j, i, netStatInfo);
            }
        });
    }

    @Override
    public void onP2PState(int i) {
        Trace.i("RtcEngineImpl", "onP2PState->" + i);
    }

    @Override
    public void onPeerDisconnected() {
        Trace.i("RtcEngineImpl", "onPeerDisconnected");
    }

    @Override
    public void onPeerNetTypeChange(int i) {
        Trace.i("RtcEngineImpl", "onPeerNetTypeChange->" + com.netease.nrtc.internal.a.b(i));
    }

    @Override
    public void onPeopleJoined(final long j, final PeopleJoinInfo peopleJoinInfo) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.b(j, peopleJoinInfo);
            }
        });
    }

    @Override
    public void onPeopleLeft(final long j, final int i) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.f(j, i);
            }
        });
    }

    @Override
    public void onProtocolIncompatible(final int i) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.x(i);
            }
        });
    }

    @Override
    public void onPublicIpChange(final String str, final boolean z) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.b(str, z);
            }
        });
    }

    @Override
    public void onPublishVideoResult(Map<Integer, PublishVideoProfile> map, final int i) {
        synchronized (this.ae) {
            for (RemoteSubscribeLocalInfo remoteSubscribeLocalInfo : this.ae) {
                if (map.get(Integer.valueOf(remoteSubscribeLocalInfo.a())) != null) {
                    this.n.a(true, remoteSubscribeLocalInfo.a());
                }
            }
        }
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onPublishVideoResult(i);
                }
            });
        }
    }

    @Override
    public void onReLogin(final LoginResInfo loginResInfo) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.d(loginResInfo);
            }
        });
    }

    @Override
    public void onReceiveVideo(byte[] bArr, long j, int i, int i2, int i3, boolean z) {
        if (this.A.get()) {
            this.n.a(j, i, bArr, i2, z);
            com.netease.nrtc.monitor.j jVar = this.M;
            if (jVar != null) {
                jVar.h().b(j, i2);
            }
        }
    }

    @Override
    public void onReceivedAudioSignal(long j, long j2, long j3, long j4, long j5, long j6, long j7) {
        if (this.A.get()) {
            com.netease.nrtc.monitor.j jVar = this.M;
            if (jVar != null) {
                jVar.h().a(j, j3);
            }
            if (!com.netease.nrtc.c.a.a().b(j, 0) || this.d == null) {
                return;
            }
            com.netease.nrtc.c.a(new com.netease.nrtc.c.l.c(String.valueOf(this.d.channel), String.valueOf(j), 0));
        }
    }

    @Override
    public void onReloginCallback(final int i) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.u(i);
            }
        });
    }

    @Override
    public void onRemotePublishVideo(final long j, ArrayList<Integer> arrayList) {
        int i;
        if (com.netease.nrtc.utility.a.a(arrayList)) {
            Trace.i("RtcEngineImpl", -300000L, "remote publish video , but type list is empty  ");
            return;
        }
        final int[] iArr = new int[arrayList.size()];
        int[] iArr2 = new int[arrayList.size()];
        for (int i2 = 0; i2 < arrayList.size(); i2++) {
            int intValue = arrayList.get(i2).intValue();
            iArr[i2] = intValue;
            iArr2[i2] = intValue;
        }
        a(true, j, true, iArr2, false, -1);
        if (this.H) {
            if (this.ak) {
                i = a(iArr2);
            } else {
                b bVar = this.ad.get(Long.valueOf(j));
                if (bVar != null) {
                    i = bVar.b();
                }
            }
            if (i != -1) {
                int e = e(j, i);
                Trace.i("RtcEngineImpl", -300000L, "remote publish video , so subscribe , result : " + e + " , uid : " + j + " ,auto :" + this.ak + " ,type : " + i);
            }
            if (this.aD) {
                return;
            }
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onRemotePublishVideo(j, iArr);
                }
            });
            return;
        }
        i = -1;
        if (i != -1) {
        }
        if (this.aD) {
        }
    }

    @Override
    public void onRemoteSubscribeCallback(ArrayList<RemoteSubscribeLocalInfo> arrayList) {
        ArrayList arrayList2 = new ArrayList(arrayList);
        ArrayList arrayList3 = new ArrayList();
        synchronized (this.ae) {
            for (RemoteSubscribeLocalInfo remoteSubscribeLocalInfo : this.ae) {
                if (arrayList.contains(remoteSubscribeLocalInfo)) {
                    arrayList2.remove(remoteSubscribeLocalInfo);
                } else {
                    arrayList3.add(remoteSubscribeLocalInfo);
                }
            }
            this.ae.clear();
            this.ae.addAll(arrayList);
        }
        Iterator it = arrayList2.iterator();
        while (it.hasNext()) {
            RemoteSubscribeLocalInfo remoteSubscribeLocalInfo2 = (RemoteSubscribeLocalInfo) it.next();
            if (com.netease.nrtc.utility.a.a(remoteSubscribeLocalInfo2.a())) {
                Trace.e("RtcEngineImpl", -300000L, "onRemoteSubscribeCallback ,newSubTypeList ,type is invalid , " + remoteSubscribeLocalInfo2);
            } else {
                this.n.a(true, remoteSubscribeLocalInfo2.a());
            }
        }
        Iterator it2 = arrayList3.iterator();
        while (it2.hasNext()) {
            RemoteSubscribeLocalInfo remoteSubscribeLocalInfo3 = (RemoteSubscribeLocalInfo) it2.next();
            if (com.netease.nrtc.utility.a.a(remoteSubscribeLocalInfo3.a())) {
                Trace.e("RtcEngineImpl", -300000L, "onRemoteSubscribeCallback ,unSubTypeList ,type is invalid , " + remoteSubscribeLocalInfo3);
            } else {
                this.n.a(false, remoteSubscribeLocalInfo3.a());
                com.netease.nrtc.monitor.j jVar = this.M;
                if (jVar != null) {
                    jVar.a(remoteSubscribeLocalInfo3.a());
                }
            }
        }
    }

    @Override
    public void onRemoteUnpublishVideo(final long j) {
        a(false, j, true, (int[]) null, false, -1);
        int o = o(j);
        Trace.i("RtcEngineImpl", -300000L, "remote un publish video , so un subscribe , result = " + o + " , uid = " + j);
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onRemoteUnpublishVideo(j);
                }
            });
        }
    }

    @Override
    public void onRemoteUnsubscribeCallback() {
        synchronized (this.ae) {
            for (RemoteSubscribeLocalInfo remoteSubscribeLocalInfo : this.ae) {
                this.n.a(false, remoteSubscribeLocalInfo.a());
            }
            this.ae.clear();
        }
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            jVar.a(-1);
        }
    }

    @Override
    public void onRequestChangeVideoBitrate(final int i, final int i2, final float f, final int i3) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.b(i, i2, f, i3);
            }
        });
    }

    @Override
    public void onSendAudioSignal(int i, int i2) {
        com.netease.nrtc.monitor.j jVar;
        if (!this.A.get() || (jVar = this.M) == null) {
            return;
        }
        jVar.h().a(i2);
    }

    @Override
    public void onServerDisconnected(final int i) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.y(i);
            }
        });
    }

    @Override
    public void onSubscribeAudioResult(final int i) {
        if (i == 0) {
            this.ag = true;
        }
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onSubscribeAudioResult(i);
                }
            });
        }
    }

    @Override
    public void onSubscribeVideoResult(final long j, final int i, final int i2) {
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.j, "1", i + "", j + ""));
        if (i2 == 0 && !com.netease.nrtc.utility.a.a(i)) {
            com.netease.nrtc.c.a.a().a(j, System.currentTimeMillis());
            a(true, j, false, (int[]) null, true, i);
            this.n.c(j, i);
        }
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onSubscribeVideoResult(j, i, i2);
                }
            });
        }
    }

    @Override
    public void onUnpublishVideoResult(final int i) {
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onUnpublishVideoResult(i);
                }
            });
        }
    }

    @Override
    public void onUnsubscribeAudioResult(final int i) {
        if (i == 0) {
            this.ag = false;
        }
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onUnsubscribeAudioResult(i);
                }
            });
        }
    }

    @Override
    public void onUnsubscribeVideoResult(final long j, final int i, final int i2) {
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.j, PushConstants.PUSH_TYPE_NOTIFY, i + "", j + ""));
        if (i2 == 0 && !com.netease.nrtc.utility.a.a(i)) {
            com.netease.nrtc.c.a.a().a(j);
            a(false, j, false, (int[]) null, true, -1);
        }
        if (this.aD) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onUnsubscribeVideoResult(j, i, i2);
                }
            });
        }
    }

    @Override
    public void onVideoDropFrame(final int i, final int i2, final int i3) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.c(i, i2, i3);
            }
        });
    }

    @Override
    public synchronized int pauseAudioMixing() {
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "pause audio mixing error, voe is null!");
            return -1;
        }
        Trace.i("RtcEngineImpl", "pause audio mixing");
        this.j.l();
        return 0;
    }

    @Override
    public synchronized int playAudioEffect(int i, int i2, boolean z, float f) {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported playAudioEffect");
            return RtcCode.ERR_UNINITIALIZED;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.an);
        if (f < 0.0f) {
            f = 0.0f;
        }
        if (f > 1.0f) {
            f = 1.0f;
        }
        Trace.i("RtcEngineImpl", "play audio effect  , id = " + i + " , loopback = " + i2 + " , send = " + z + " , volume = " + f);
        return this.j.a(i, i2, z, f);
    }

    @Override
    public void preloadAudioEffect(int i, String str) {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported preloadAudioEffect");
        } else {
            this.ac.a(i, str);
        }
    }

    @Override
    public synchronized int publishVideo() {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "publish video but not running , status = " + this.y.get());
            return -1;
        }
        int ag = ag();
        if (ag == 0) {
            ag = Y();
        }
        Trace.i("RtcEngineImpl", -300000L, "publish video  , result = " + ag);
        return ag;
    }

    @Override
    public int pushExternalAudioData(byte[] bArr, int i, int i2, int i3, int i4, boolean z) throws NullPointerException, IllegalArgumentException {
        Checker.checkNotNull(bArr, "audio data is null");
        Checker.checkArgument(i * 2 <= bArr.length, "audio data samples illegality");
        if (this.A.get()) {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.p);
            com.netease.nrtc.voice.b bVar = this.j;
            if (bVar == null) {
                return -2;
            }
            return bVar.a(bArr, i, i2, i3, i4, z);
        }
        return -1;
    }

    @Override
    public synchronized int pushExternalAudioMixingStream(byte[] bArr, int i, int i2, int i3) {
        com.netease.nrtc.voice.b bVar = this.j;
        if (bVar == null) {
            Trace.e("RtcEngineImpl", "push external audio mixing stream error, voe is null!");
            return -1;
        }
        return bVar.a(bArr, i, i2, i3);
    }

    @Override
    public synchronized void rate(int i, String str) {
        if (this.d == null) {
            return;
        }
        com.netease.nrtc.c.a(new com.netease.nrtc.c.f.a(this.c, this.d.channel, i, str));
    }

    @Override
    public synchronized boolean registerPlayAudioCallBack(IPlayAudioCallBack iPlayAudioCallBack) {
        if (this.j == null) {
            Trace.w("RtcEngineImpl", "register play audio call back , but voe is null ,  callback :" + iPlayAudioCallBack);
            return iPlayAudioCallBack == null;
        }
        Trace.i("RtcEngineImpl", "register play audio call back , callback : " + iPlayAudioCallBack);
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.af);
        return this.j.a(iPlayAudioCallBack);
    }

    @Override
    public synchronized boolean registerRemoteAudioCallBack(long j, IRemoteAudioCallBack iRemoteAudioCallBack) {
        if (this.j == null) {
            Trace.w("RtcEngineImpl", "register remote audio call back , but voe is null , uid : " + j + ", callback :" + iRemoteAudioCallBack);
            return iRemoteAudioCallBack == null;
        } else if (!this.e.containsKey(Long.valueOf(j))) {
            Trace.w("RtcEngineImpl", "register remote audio call back , but not find user , uid : " + j + ", callback :" + iRemoteAudioCallBack);
            return iRemoteAudioCallBack == null;
        } else {
            Trace.i("RtcEngineImpl", "register remote audio call back , uid : " + j + ", callback :" + iRemoteAudioCallBack);
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ae);
            return this.j.a(j, iRemoteAudioCallBack);
        }
    }

    @Override
    public synchronized boolean remoteAudioStreamMuted(long j) {
        if (j == -1) {
            for (Long l : this.e.keySet()) {
                long longValue = l.longValue();
                if (longValue != this.d.userId && this.j.c(longValue)) {
                    return false;
                }
            }
            return true;
        }
        return !this.j.c(j);
    }

    @Override
    public synchronized boolean remoteVideoStreamMuted(long j) {
        return !this.n.f(j);
    }

    @Override
    public synchronized int resumeAudioMixing() {
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "resume audio mixing error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        }
        Trace.i("RtcEngineImpl", "resume audio mixing");
        this.j.k();
        return 0;
    }

    @Override
    public int seekAudioMixing(long j) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.W);
        return this.j.h(j);
    }

    @Override
    public synchronized void selectAudioDevice(int i) {
        com.netease.nrtc.voice.device.b.e eVar = this.m;
        if (eVar != null) {
            eVar.b(i);
        }
    }

    @Override
    public void setAsMainArea(long j, IRtcRoomServerHandler iRtcRoomServerHandler) {
        if (!this.aI) {
            if (iRtcRoomServerHandler != null) {
                iRtcRoomServerHandler.onResult(300, "not in live mode");
            }
            Trace.e("RtcEngineImpl", "setAsMainArea not live mode ");
        } else if (TextUtils.isEmpty(this.aJ)) {
            if (iRtcRoomServerHandler != null) {
                iRtcRoomServerHandler.onResult(301, "not anchor");
            }
            Trace.e("RtcEngineImpl", "setAsMainArea not anchor");
        } else {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.am);
            try {
                RtcConfig rtcConfig = this.d;
                h.a(j, rtcConfig.channel, rtcConfig.roomServerToken, rtcConfig.userId, iRtcRoomServerHandler);
            } catch (Exception e) {
                if (iRtcRoomServerHandler != null) {
                    iRtcRoomServerHandler.onResult(400, e.getMessage());
                }
                Trace.e("RtcEngineImpl", e.getMessage());
            }
        }
    }

    @Override
    public int setAudioMixingPlaybackVolume(float f) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.V);
        if (f < 0.0f) {
            f = 0.0f;
        }
        if (f > 1.0f) {
            f = 1.0f;
        }
        return this.j.a(Math.round(f * 10.0f) / 10.0f);
    }

    @Override
    public int setAudioMixingSendVolume(float f) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.U);
        if (f < 0.0f) {
            f = 0.0f;
        }
        if (f > 1.0f) {
            f = 1.0f;
        }
        return this.j.b(Math.round(f * 10.0f) / 10.0f);
    }

    @Override
    public synchronized int setAutoPublish(boolean z, boolean z2) {
        int i = 1;
        if (this.y.get() != 1) {
            Trace.e("RtcEngineImpl", -300000L, "setAutoPublish err , must before joinChannel");
            return -1;
        }
        if (!z && z2) {
            i = 2;
        } else if (z && !z2) {
            i = 3;
        } else if (!z) {
            i = 4;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ap, i);
        this.ai.a(z);
        this.ai.b(z2);
        Trace.i("RtcEngineImpl", -300000L, "setAutoPublish , autoPub = " + z + ", autoSub = " + z2);
        return 0;
    }

    @Override
    public int setChannelProfile(int i) {
        Trace.i("RtcEngineImpl", "setChannelProfile " + i);
        if (i != 0 && i != 1) {
            Trace.e("RtcEngineImpl", "setVideoQualityStrategy error: profile is illegality");
            return -400;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.D, i + 1);
        if (this.y.get() == 3) {
            Trace.i("RtcEngineImpl", "set channel profile error, rtc is running.");
            return -500;
        }
        this.P = i;
        com.netease.nrtc.engine.impl.a.j = this.P;
        return 0;
    }

    @Override
    public synchronized int setExternalAudioMixingStream(boolean z, boolean z2, boolean z3) {
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "set external audio mixing steam error, voe is null!");
            return -1;
        }
        Trace.i("RtcEngineImpl", "set external audio mixing stream, enable:" + z + ", as source:" + z2 + ", as sink:" + z3);
        com.netease.nrtc.voice.b bVar = this.j;
        boolean z4 = true;
        boolean z5 = z && z2;
        if (!z || !z3) {
            z4 = false;
        }
        return bVar.a(z5, z4);
    }

    @Override
    public int setExternalAudioSource(boolean z) {
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.a, z));
        if (this.A.get()) {
            return -1;
        }
        com.netease.nrtc.voice.b bVar = this.j;
        if (bVar == null) {
            return -2;
        }
        return bVar.b(z) ? 0 : -3;
    }

    @Override
    public synchronized int setLocalVideoSimulcastModel(int i) {
        int i2 = 1;
        if (this.y.get() != 1) {
            Trace.e("RtcEngineImpl", -300000L, "setLocalVideoSimulcastModel err , must before joinChannel");
            return -1;
        } else if (q(i)) {
            Trace.e("RtcEngineImpl", -300000L, "setLocalVideoSimulcastModel param illegal  , see NRtcConstants.Subscribe , mode = " + i);
            return -1;
        } else {
            int i3 = com.netease.nrtc.monitor.d.ao;
            if (i != 0) {
                i2 = 2;
            }
            com.netease.nrtc.monitor.d.a(i3, i2);
            this.ai.a(i);
            Trace.i("RtcEngineImpl", -300000L, "setLocalVideoSimulcastModel , mode = " + i);
            return 0;
        }
    }

    @Override
    public synchronized int setMicrophoneMute(boolean z) {
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.c, z));
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.f);
        return this.j.h(z);
    }

    @Override
    public synchronized void setNewLoginConfig(RtcConfig rtcConfig) {
        RtcConfig rtcConfig2 = this.d;
        if (rtcConfig2 != null && rtcConfig != null && rtcConfig2.channel == rtcConfig.channel) {
            this.d = rtcConfig;
            this.z.set(3);
            Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
            this.g.a(w());
            return;
        }
        Trace.e("RtcEngineImpl", "relogin but info err , pre : " + this.d + ", new : " + rtcConfig);
    }

    @Override
    public synchronized void setParameters(RtcParameters rtcParameters) throws IllegalArgumentException {
        Checker.checkArgument(rtcParameters != null, "parameters is null");
        Set<String> keys = rtcParameters.keys();
        if (keys.size() == 0) {
            return;
        }
        int size = keys.size();
        String[] strArr = new String[size];
        Object[] objArr = new Object[keys.size()];
        Privilege privilege = l.c(com.netease.nrtc.engine.impl.a.b) ? Privilege.PROTECTED : Privilege.PUBLIC;
        int i = 0;
        for (String str : keys) {
            if (RtcParameters.checkPrivilege(str, privilege)) {
                if (RtcParameters.writeSupported(str)) {
                    if (this.y.get() == 3 && !RtcParameters.runtimeSupported(str)) {
                        throw new IllegalArgumentException("parameter [" + str.toUpperCase() + "] unsupported runtime!");
                    }
                    strArr[i] = str;
                    objArr[i] = rtcParameters.getObject(str);
                    i++;
                } else {
                    throw new IllegalArgumentException("check parameter [" + str.toUpperCase() + "] access mode failed!");
                }
            } else {
                throw new IllegalArgumentException("check parameter [" + str.toUpperCase() + "] privilege failed!");
            }
        }
        for (int i2 = 0; i2 < size; i2++) {
            a(strArr[i2], objArr[i2]);
        }
    }

    @Override
    public synchronized int setPlayCapturedAudioVolume(float f) {
        Trace.i("RtcEngineImpl", "set play capture audio volume:" + f);
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "set play capture audio volume error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.T);
        return this.j.c(Math.max(Math.min(f, 1.0f), 0.0f));
    }

    @Override
    public synchronized int setPublishFallbackOption(int i) {
        if (this.y.get() == 3) {
            Trace.e("RtcEngineImpl", -300000L, "set publish fallback option but is running , status = " + this.y.get());
            return -1;
        }
        Trace.i("RtcEngineImpl", -300000L, "set publish fallback option , option = " + i);
        this.ar = i;
        return 0;
    }

    @Override
    public synchronized int setRole(int i) {
        Trace.i("RtcEngineImpl", "setRole: " + i);
        if (!this.aD) {
            Trace.i("RtcEngineImpl", "role only supported multi mode");
            return -2;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.Y);
        if (i == this.aC) {
            return 0;
        }
        this.aC = i;
        if (this.A.get()) {
            NEMediaEngine nEMediaEngine = this.g;
            if (nEMediaEngine != null) {
                nEMediaEngine.c(i == 1);
            }
            if (this.aC == 1) {
                stopAVRecording(0L);
                stopAudioRecording();
                stopAudioMixing();
                H();
                stopVideoPreview();
                E();
            } else {
                if (!C()) {
                    a(this.v, new a(this.b) {
                        @Override
                        public void a(IRtcEventHandler iRtcEventHandler) {
                            iRtcEventHandler.onDeviceEvent(3002, "start voice send error");
                        }
                    });
                }
                startVideoPreview();
                F();
            }
        }
        I();
        return 0;
    }

    @Override
    public synchronized int setSpeakerphoneOn(boolean z) {
        this.m.a(z ? 0 : 2);
        selectAudioDevice(z ? 0 : -1);
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.h);
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.d, z));
        return 0;
    }

    @Override
    public int setVideoQualityStrategy(int i) {
        if (this.y.get() == 3 && this.al != 0) {
            Trace.w("RtcEngineImpl", "can not change strategy , rtc is running and not single stream");
            return -500;
        }
        Trace.i("RtcEngineImpl", "setVideoQualityStrategy :" + i);
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.E, i);
        if (this.R == i) {
            return 0;
        }
        this.R = i;
        Q();
        return 0;
    }

    @Override
    public synchronized int setupLocalVideoRenderer(IVideoRender iVideoRender, int i, boolean z) {
        StringBuilder sb = new StringBuilder();
        sb.append("setupLocalVideoRenderer:");
        sb.append(iVideoRender == null ? "null" : Integer.toHexString(iVideoRender.hashCode()));
        sb.append(",render mode:");
        sb.append(i);
        sb.append(", mirror:");
        sb.append(z);
        Trace.i("RtcEngineImpl", sb.toString());
        if (!this.H) {
            Trace.i("RtcEngineImpl", "setup local video renderer error: video is not enabled!");
            return -1;
        }
        if (iVideoRender != null && iVideoRender.isAttachedToSession() && this.d != null && iVideoRender.getAttachedSession() != this.d.userId) {
            throw new RuntimeException("the canvas already attached a user, reused need detach.");
        }
        return this.n.a(iVideoRender, i, z) ? 0 : -1;
    }

    @Override
    public synchronized int setupRemoteVideoRenderer(IVideoRender iVideoRender, long j, int i, boolean z) {
        Checker.checkArgument(j != 0, "uid can not be 0.");
        StringBuilder sb = new StringBuilder();
        sb.append("setupRemoteVideoRenderer:");
        sb.append(iVideoRender == null ? "null" : Integer.toHexString(iVideoRender.hashCode()));
        sb.append(", uid:");
        sb.append(j);
        sb.append(",render mode:");
        sb.append(i);
        sb.append(", mirror:");
        sb.append(z);
        Trace.i("RtcEngineImpl", sb.toString());
        if (!this.H) {
            Trace.i("RtcEngineImpl", "setup remote video renderer error: video is not enabled!");
            return -1;
        }
        if (iVideoRender != null && iVideoRender.isAttachedToSession() && iVideoRender.getAttachedSession() != j) {
            throw new RuntimeException("the canvas already attached a user, reused need detach.");
        }
        return this.n.a(iVideoRender, j, i, z) ? 0 : -1;
    }

    @Override
    public synchronized int setupVideoCapturer(IVideoCapturer iVideoCapturer) {
        Trace.i("RtcEngineImpl", "setupVideoCapturer");
        return this.n.a(iVideoCapturer);
    }

    @Override
    public synchronized int startAVRecording(long j) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.t);
        int i = -1;
        long j2 = j == this.d.userId ? 0L : j;
        b bVar = null;
        if (j2 != 0 && (((bVar = this.ad.get(Long.valueOf(j2))) == null || !bVar.c()) && !this.ag)) {
            Trace.e("RtcEngineImpl", "try record remote video, but not subscribe video and audio , uid : " + j2);
            return -1;
        }
        if (this.h != null && M() && this.h.a(j2)) {
            if (j2 == 0) {
                this.n.a(true);
            } else if (bVar != null) {
                b(j2, bVar.b());
            }
            if (com.netease.nrtc.engine.impl.a.l && (j == 0 || j == this.d.userId)) {
                com.netease.nrtc.engine.impl.a.m = true;
            }
            if (com.netease.nrtc.engine.impl.a.o && j != 0 && j != this.d.userId) {
                com.netease.nrtc.engine.impl.a.p = true;
            }
            i = 0;
        }
        return i;
    }

    @Override
    public synchronized int startAudioMixing(String str, boolean z, boolean z2, int i, float f) {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported startAudioMixing");
            return -700;
        } else if (this.j == null) {
            Trace.e("RtcEngineImpl", "start audio mixing error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        } else if (StringUtils.isEmpty(str)) {
            Trace.e("RtcEngineImpl", "start audio mixing error, file path is empty!");
            return -400;
        } else {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.r);
            if (f < 0.0f) {
                f = 0.0f;
            }
            if (f > 1.0f) {
                f = 1.0f;
            }
            float round = Math.round(f * 10.0f) / 10.0f;
            Trace.i("RtcEngineImpl", "start audio mixing (path:" + str + ",loop:" + z + ",replace:" + z2 + ",cycle:" + i + ",volume:" + round + C5923.C5925.f19790);
            return this.j.a(str, z, z2, i, round);
        }
    }

    @Override
    public synchronized int startAudioRecording() {
        boolean z;
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.u);
        if (this.h != null && M()) {
            if (this.h.b()) {
                z = true;
            }
        }
        z = false;
        return z ? 0 : -1;
    }

    @Override
    public synchronized int startPlayCapturedAudio() {
        Trace.i("RtcEngineImpl", "start play capture audio");
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "start play capture audio error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.S);
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.f, true));
        return this.j.o();
    }

    @Override
    public synchronized int startVideoPreview() {
        Trace.i("RtcEngineImpl", "start video preview");
        if (!this.H) {
            Trace.e("RtcEngineImpl", "start video preview error: video is not enable!!");
            return -500;
        }
        if (!this.n.g()) {
            if (!SystemPermissionUtils.checkCameraPermission(com.netease.nrtc.engine.impl.a.b)) {
                Trace.e("RtcEngineImpl", "no camera permission!");
                return -700;
            } else if (this.n.i() <= 0) {
                Trace.e("RtcEngineImpl", "no video capture device");
                return -700;
            }
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.v);
        com.netease.nrtc.video.a.a ab = ab();
        com.netease.nrtc.video.a.a ac = ac();
        this.n.a(ab.a, ab.b, ac.a, ac.b, this.aK);
        this.n.c(0L);
        return 0;
    }

    @Override
    public synchronized int stopAVRecording(long j) {
        boolean z;
        com.netease.nrtc.rec.a aVar = this.h;
        if (aVar != null) {
            if (aVar.b(j == this.d.userId ? 0L : j)) {
                z = true;
                if (com.netease.nrtc.engine.impl.a.l && (j == 0 || j == this.d.userId)) {
                    com.netease.nrtc.engine.impl.a.m = false;
                }
                if (com.netease.nrtc.engine.impl.a.o && j != 0 && j != this.d.userId) {
                    com.netease.nrtc.engine.impl.a.p = false;
                }
                if (j != 0 || j == this.d.userId) {
                    this.n.a(false);
                }
            }
        }
        z = false;
        if (com.netease.nrtc.engine.impl.a.l) {
            com.netease.nrtc.engine.impl.a.m = false;
        }
        if (com.netease.nrtc.engine.impl.a.o) {
            com.netease.nrtc.engine.impl.a.p = false;
        }
        if (j != 0) {
        }
        this.n.a(false);
        return z ? 0 : -1;
    }

    @Override
    public synchronized int stopAudioMixing() {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported stopAudioMixing");
            return -700;
        } else if (this.j == null) {
            Trace.e("RtcEngineImpl", "stop audio mixing error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        } else {
            Trace.i("RtcEngineImpl", "stop audio mixing");
            return this.j.q();
        }
    }

    @Override
    public synchronized int stopAudioRecording() {
        boolean z;
        com.netease.nrtc.rec.a aVar = this.h;
        if (aVar != null) {
            if (aVar.c()) {
                z = true;
            }
        }
        z = false;
        return z ? 0 : -1;
    }

    @Override
    public synchronized int stopPlayAudioEffect(int i) {
        if (k()) {
            Trace.i("RtcEngineImpl", "audience unsupported stopPlayAudioEffect");
            return -700;
        }
        Trace.i("RtcEngineImpl", "stop audio effect  , id = " + i);
        return this.j.a(i);
    }

    @Override
    public synchronized int stopPlayCapturedAudio() {
        Trace.i("RtcEngineImpl", "stop play capture audio");
        if (this.j == null) {
            Trace.e("RtcEngineImpl", "stop play capture audio error, voe is null!");
            return RtcCode.ERR_UNINITIALIZED;
        }
        com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.f, false));
        return this.j.p();
    }

    @Override
    public synchronized int stopVideoPreview() {
        Trace.i("RtcEngineImpl", "stop video preview");
        this.n.d(0L);
        this.n.h();
        return 0;
    }

    @Override
    public synchronized int subscribeActiveAudio() {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "subscribe active audio but not running , status = " + this.y.get());
            return -1;
        }
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.aq);
        int ah = ah();
        if (ah == 0) {
            ah = ae();
        }
        Trace.i("RtcEngineImpl", -300000L, "subscribe active audio  , result = " + ah);
        return ah;
    }

    @Override
    public synchronized int subscribeVideo(long j, int i) {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "subscribe video but not running , status = " + this.y.get() + " , uid = " + j);
            return -1;
        } else if (com.netease.nrtc.utility.a.a(i)) {
            Trace.e("RtcEngineImpl", -300000L, "subscribe video type err , uid = " + j + ", type = " + i);
            return -1;
        } else {
            int ah = ah();
            if (ah == 0) {
                b bVar = this.ad.get(Long.valueOf(j));
                int b = bVar != null ? bVar.b() : -1;
                if (b != -1 && b != i) {
                    Trace.e("RtcEngineImpl", -300000L, "subscribe video type err , must un subscribe first, uid = " + j + ", type = " + i + " , pre = " + b);
                    return -700;
                }
                ah = e(j, i);
            }
            Trace.i("RtcEngineImpl", -300000L, "subscribe video , uid = " + j + ", type = " + i + ", result = " + ah);
            return ah;
        }
    }

    @Override
    public int switchCommunicateMode(int i) {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", "switchCommunicateMode ,but  not in running , status :  " + this.y.get());
            return -1;
        } else if (i != 1 && i != 2) {
            Trace.e("RtcEngineImpl", "switchCommunicateMode , err param , mode : " + i);
            return -1;
        } else if (k()) {
            Trace.e("RtcEngineImpl", "switchCommunicateMode  , but is audience");
            return -1;
        } else if (i == 1 && !this.H) {
            Trace.e("RtcEngineImpl", "switchCommunicateMode to video , but video not enable");
            return -1;
        } else {
            Trace.i("RtcEngineImpl", "switchCommunicateMode , mode :  " + i);
            if (this.at == i) {
                return 0;
            }
            this.at = i;
            this.g.b(i == 1);
            if (i == 1) {
                startVideoPreview();
                F();
                X();
            } else {
                H();
                stopVideoPreview();
                ad();
            }
            return 0;
        }
    }

    @Override
    public synchronized int takeSnapshot(long j) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.s);
        Trace.i("RtcEngineImpl", "takeSnapshot: " + j);
        return this.n.h(j) ? 0 : -1;
    }

    @Override
    public synchronized int unpublishVideo() {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "un publish video but not running , status = " + this.y.get());
            return -1;
        }
        int ag = ag();
        if (ag == 0) {
            ag = ad();
        }
        Trace.i("RtcEngineImpl", -300000L, "un publish video  , result = " + ag);
        return ag;
    }

    @Override
    public synchronized int unsubscribeActiveAudio() {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "un subscribe active audio but not running , status = " + this.y.get());
            return -1;
        }
        int ah = ah();
        if (ah == 0) {
            ah = af();
        }
        Trace.i("RtcEngineImpl", -300000L, "un subscribe active audio  , result = " + ah);
        return ah;
    }

    @Override
    public synchronized int unsubscribeVideo(long j) {
        if (this.y.get() != 3) {
            Trace.e("RtcEngineImpl", -300000L, "un subscribe video but not running , status = " + this.y.get() + " , uid = " + j);
            return -1;
        }
        int ah = ah();
        if (ah == 0) {
            ah = o(j);
        }
        Trace.i("RtcEngineImpl", -300000L, "un  subscribe video , uid = " + j + " result = " + ah);
        return ah;
    }

    @Override
    public synchronized int updateSharedEGLContext(EGLContext eGLContext) {
        if (this.n == null) {
            Trace.e("RtcEngineImpl", "updateSharedEGL10Context error, vie is null");
            return -1;
        }
        EglContextWrapper eglContextWrapper = this.ah;
        if (eglContextWrapper != null && eGLContext != eglContextWrapper.getEglContext()) {
            Trace.i("RtcEngineImpl", "updateSharedEGL10Context:" + eGLContext + " default EglContext: " + this.ah.getEglContext());
            this.ah.release();
            this.ah = null;
        }
        return this.n.a(eGLContext) ? 0 : -2;
    }

    private void c() throws Error {
        if (IRtcEngine.versionCode() != NativeVersion.nativeBuildVersionCode()) {
            throw new Error("native lib version wrong!!!");
        }
    }

    private void g() {
        EglContextWrapper createEglContext = EglContextWrapper.createEglContext();
        this.ah = createEglContext;
        if (createEglContext.isEGL14Supported() && Build.VERSION.SDK_INT >= 17) {
            updateSharedEGLContext((android.opengl.EGLContext) this.ah.getEglContext());
        } else {
            updateSharedEGLContext((EGLContext) this.ah.getEglContext());
        }
    }

    private void h() {
        AudioEffectLoader a2 = AudioEffectLoader.a(this);
        this.ac = a2;
        this.j.a(a2);
    }

    private void i() {
        this.ab.clear();
        this.e.clear();
        this.f.clear();
        this.Q.set(-1);
        this.ad.clear();
        synchronized (this.ae) {
            this.ae.clear();
        }
        this.af = false;
        this.ag = false;
    }

    private void j() {
        this.au = false;
        this.av = false;
        this.aw = false;
        this.ax = 0;
        this.ay = true;
        this.az = true;
        this.aA = 0;
        this.aB = 0;
        this.aC = 1;
        this.aD = false;
        this.aE = false;
        this.aF = 0;
        this.aG = false;
        this.aH = 0;
        this.aI = false;
        this.aJ = null;
        this.aK = 15;
        this.aL = null;
        this.aM = true;
        this.aN = false;
        this.aO = false;
        this.aP = false;
        this.aQ = 0;
        this.aR = 0;
        this.aS = -1;
        this.aT = -1;
        this.aU = 4;
        this.aV = 0;
        this.aW = null;
        this.as = false;
        this.aZ = false;
        this.at = 1;
    }

    private boolean k() {
        return this.aD && this.aC == 1;
    }

    private String l() {
        return !com.netease.nrtc.video.a.e.d() ? "media_codec_software" : com.netease.nrtc.video.a.e.b() ? "media_codec_hardware" : com.netease.nrtc.video.a.e.f() ? "media_codec_auto" : "media_codec_software";
    }

    private String m() {
        return !com.netease.nrtc.video.a.e.e() ? "media_codec_software" : com.netease.nrtc.video.a.e.c() ? "media_codec_hardware" : com.netease.nrtc.video.a.e.g() ? "media_codec_auto" : "media_codec_software";
    }

    private String n() {
        return com.netease.nrtc.voice.a.a.d() ? !com.netease.nrtc.voice.a.a.a() ? "audio_effect_mode_platform_builtin_priority" : "audio_effect_mode_sdk_builtin_priority" : "audio_effect_mode_disable";
    }

    private String o() {
        return com.netease.nrtc.voice.a.a.e() ? !com.netease.nrtc.voice.a.a.b() ? "audio_effect_mode_platform_builtin_priority" : "audio_effect_mode_sdk_builtin_priority" : "audio_effect_mode_disable";
    }

    private String p() {
        return com.netease.nrtc.voice.a.a.f() ? !com.netease.nrtc.voice.a.a.c() ? "audio_effect_mode_platform_builtin_priority" : "audio_effect_mode_sdk_builtin_priority" : "audio_effect_mode_disable";
    }

    private void q() {
        this.p = com.netease.nrtc.voice.a.a.i(this.aD);
        this.q = com.netease.nrtc.video.a.e.a(this.aD);
        Trace.i("RtcEngineImpl", "default audio codec=" + this.p + ", video codec=" + this.q);
        this.t = false;
    }

    private int r() {
        int a2 = com.netease.nrtc.video.a.e.a(com.netease.nrtc.engine.impl.a.b, this.aD);
        int f = com.netease.nrtc.video.a.e.f(this.aD);
        Trace.i("RtcEngineImpl", "default video encode res=" + a2 + ", video decode res=" + f);
        int b = com.netease.nrtc.video.a.e.b(this.aA, a2);
        int max = Math.max(f, b);
        Trace.i("RtcEngineImpl", "user setting video encode res=" + b + ", video decode res=" + max);
        int b2 = this.o.b(max);
        StringBuilder sb = new StringBuilder();
        sb.append("privilege video decode res=");
        sb.append(b2);
        Trace.i("RtcEngineImpl", sb.toString());
        return b2;
    }

    private void s() {
        if (this.d == null) {
            m(-1L);
            return;
        }
        for (j jVar : this.e.values()) {
            long j = jVar.a;
            if (j != this.d.userId) {
                this.n.d(j);
            }
        }
    }

    private boolean t() {
        if (u()) {
            this.B.set(this.g.a(w(), x()));
        }
        P();
        if (this.g != null) {
            int i = 20;
            int i2 = 8;
            if (D()) {
                i = 64;
            } else {
                i = this.aM ? 48 : 48;
                this.g.a(i, i2, 500, 300);
            }
            i2 = 32;
            this.g.a(i, i2, 500, 300);
        }
        return this.B.get();
    }

    private boolean u() {
        return (this.B.get() && this.C.get()) ? false : true;
    }

    private boolean v() {
        if (this.y.get() == 3) {
            if (u()) {
                int incrementAndGet = this.D.incrementAndGet();
                this.E.set(false);
                this.C.set(this.g.d());
                if (this.C.get()) {
                    this.z.set(3);
                    Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
                }
                Trace.i("RtcEngineImpl", "try relogin, count=" + incrementAndGet);
            } else {
                this.E.set(true);
            }
        }
        return this.C.get();
    }

    private NEMediaEngineConfig w() {
        String sb;
        int i;
        RtcLiveCompositingLayout rtcLiveCompositingLayout;
        c.a aVar = com.netease.nrtc.b.c.e;
        if (com.netease.nrtc.b.a.a(aVar)) {
            sb = (String) com.netease.nrtc.b.a.b(aVar);
        } else {
            StringBuilder sb2 = new StringBuilder();
            List<String> list = this.d.proxy;
            if (list != null) {
                for (String str : list) {
                    if (!StringUtils.isEmpty(str)) {
                        if (sb2.length() > 0) {
                            sb2.append(",");
                        }
                        sb2.append(str);
                    }
                }
            }
            sb = sb2.toString();
        }
        c.a aVar2 = com.netease.nrtc.b.c.d;
        if (com.netease.nrtc.b.a.a(aVar2)) {
            ArrayList arrayList = new ArrayList();
            ArrayList arrayList2 = new ArrayList();
            arrayList2.add(com.netease.nrtc.b.a.b(aVar2));
            arrayList.add(arrayList2);
            this.d.turn = arrayList;
        }
        StringBuilder sb3 = new StringBuilder();
        for (List<String> list2 : this.d.turn) {
            if (sb3.length() > 0) {
                sb3.append("#");
            }
            StringBuilder sb4 = new StringBuilder();
            for (String str2 : list2) {
                if (!StringUtils.isEmpty(str2)) {
                    if (sb4.length() > 0) {
                        sb4.append(",");
                    }
                    sb4.append(str2);
                }
            }
            sb3.append(sb4.toString());
        }
        String b = com.netease.nrtc.utility.c.c.b(com.netease.nrtc.engine.impl.a.b);
        if (StringUtils.isNotEmpty(b) && b.startsWith("460")) {
            String substring = b.substring(3);
            if (StringUtils.isDigitsOnly(substring)) {
                i = Integer.parseInt(substring);
                NEMediaEngineConfig nEMediaEngineConfig = new NEMediaEngineConfig();
                nEMediaEngineConfig.b((int) this.d.userType);
                nEMediaEngineConfig.m(this.d.appKeyChannel);
                nEMediaEngineConfig.d(!StringUtils.isEmpty(sb) ? null : sb);
                nEMediaEngineConfig.e(sb3.toString());
                nEMediaEngineConfig.a(!StringUtils.isEmpty(sb));
                nEMediaEngineConfig.a(this.d.userId);
                nEMediaEngineConfig.b(this.d.channel);
                nEMediaEngineConfig.b(this.d.p2p);
                nEMediaEngineConfig.i(this.d.dTunnel);
                if (this.d.networkProxy != null) {
                    ClientSocks5Info clientSocks5Info = new ClientSocks5Info();
                    clientSocks5Info.a(this.d.networkProxy.scheme);
                    clientSocks5Info.c(this.d.networkProxy.userName);
                    clientSocks5Info.d(this.d.networkProxy.userPassword);
                    clientSocks5Info.b(this.d.networkProxy.host + ":" + this.d.networkProxy.port);
                    nEMediaEngineConfig.j(true);
                    nEMediaEngineConfig.a(clientSocks5Info);
                }
                nEMediaEngineConfig.b(!StringUtils.isEmpty(this.c) ? "" : this.c);
                nEMediaEngineConfig.a("nrtc_engine");
                nEMediaEngineConfig.c(e());
                nEMediaEngineConfig.f(this.q);
                nEMediaEngineConfig.e(r());
                nEMediaEngineConfig.d(this.p);
                nEMediaEngineConfig.c(this.H);
                nEMediaEngineConfig.d(k());
                nEMediaEngineConfig.c(new String(this.d.encryptToken));
                nEMediaEngineConfig.a(this.d.encrypt_type);
                nEMediaEngineConfig.g(com.netease.nrtc.utility.c.c.a(com.netease.nrtc.engine.impl.a.b));
                nEMediaEngineConfig.h(i);
                nEMediaEngineConfig.i(com.netease.nrtc.engine.impl.a.k);
                if (IRtcEngine.versionCode() >= 1011) {
                    nEMediaEngineConfig.j(A());
                }
                nEMediaEngineConfig.e(this.au);
                nEMediaEngineConfig.f(this.av);
                nEMediaEngineConfig.k(this.ax);
                nEMediaEngineConfig.g(this.aw);
                nEMediaEngineConfig.h(this.aD);
                nEMediaEngineConfig.m(!StringUtils.isEmpty(this.aJ));
                nEMediaEngineConfig.k(!this.aD && this.aI);
                nEMediaEngineConfig.f(this.aJ);
                rtcLiveCompositingLayout = this.aL;
                if (rtcLiveCompositingLayout != null) {
                    nEMediaEngineConfig.l(rtcLiveCompositingLayout.mode);
                    nEMediaEngineConfig.g(this.aL.extraInfo);
                }
                nEMediaEngineConfig.l(this.aP);
                nEMediaEngineConfig.o(this.aM);
                nEMediaEngineConfig.n(this.U);
                nEMediaEngineConfig.n(false);
                nEMediaEngineConfig.e(sb3.toString());
                nEMediaEngineConfig.d(sb);
                nEMediaEngineConfig.p(this.aa == 1);
                nEMediaEngineConfig.r(com.netease.nrtc.engine.impl.a.h);
                nEMediaEngineConfig.q(com.netease.nrtc.engine.impl.a.h);
                nEMediaEngineConfig.o(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ae, 80)).intValue());
                nEMediaEngineConfig.p(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.af, 120)).intValue());
                nEMediaEngineConfig.q(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ag, 400)).intValue());
                nEMediaEngineConfig.r(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ah, 1)).intValue());
                nEMediaEngineConfig.s(this.aX);
                nEMediaEngineConfig.t(this.aY);
                nEMediaEngineConfig.s(this.ar);
                nEMediaEngineConfig.a(this.d.reproxy);
                return nEMediaEngineConfig;
            }
        }
        i = 0;
        NEMediaEngineConfig nEMediaEngineConfig2 = new NEMediaEngineConfig();
        nEMediaEngineConfig2.b((int) this.d.userType);
        nEMediaEngineConfig2.m(this.d.appKeyChannel);
        nEMediaEngineConfig2.d(!StringUtils.isEmpty(sb) ? null : sb);
        nEMediaEngineConfig2.e(sb3.toString());
        nEMediaEngineConfig2.a(!StringUtils.isEmpty(sb));
        nEMediaEngineConfig2.a(this.d.userId);
        nEMediaEngineConfig2.b(this.d.channel);
        nEMediaEngineConfig2.b(this.d.p2p);
        nEMediaEngineConfig2.i(this.d.dTunnel);
        if (this.d.networkProxy != null) {
        }
        nEMediaEngineConfig2.b(!StringUtils.isEmpty(this.c) ? "" : this.c);
        nEMediaEngineConfig2.a("nrtc_engine");
        nEMediaEngineConfig2.c(e());
        nEMediaEngineConfig2.f(this.q);
        nEMediaEngineConfig2.e(r());
        nEMediaEngineConfig2.d(this.p);
        nEMediaEngineConfig2.c(this.H);
        nEMediaEngineConfig2.d(k());
        nEMediaEngineConfig2.c(new String(this.d.encryptToken));
        nEMediaEngineConfig2.a(this.d.encrypt_type);
        nEMediaEngineConfig2.g(com.netease.nrtc.utility.c.c.a(com.netease.nrtc.engine.impl.a.b));
        nEMediaEngineConfig2.h(i);
        nEMediaEngineConfig2.i(com.netease.nrtc.engine.impl.a.k);
        if (IRtcEngine.versionCode() >= 1011) {
        }
        nEMediaEngineConfig2.e(this.au);
        nEMediaEngineConfig2.f(this.av);
        nEMediaEngineConfig2.k(this.ax);
        nEMediaEngineConfig2.g(this.aw);
        nEMediaEngineConfig2.h(this.aD);
        nEMediaEngineConfig2.m(!StringUtils.isEmpty(this.aJ));
        nEMediaEngineConfig2.k(!this.aD && this.aI);
        nEMediaEngineConfig2.f(this.aJ);
        rtcLiveCompositingLayout = this.aL;
        if (rtcLiveCompositingLayout != null) {
        }
        nEMediaEngineConfig2.l(this.aP);
        nEMediaEngineConfig2.o(this.aM);
        nEMediaEngineConfig2.n(this.U);
        nEMediaEngineConfig2.n(false);
        nEMediaEngineConfig2.e(sb3.toString());
        nEMediaEngineConfig2.d(sb);
        nEMediaEngineConfig2.p(this.aa == 1);
        nEMediaEngineConfig2.r(com.netease.nrtc.engine.impl.a.h);
        nEMediaEngineConfig2.q(com.netease.nrtc.engine.impl.a.h);
        nEMediaEngineConfig2.o(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ae, 80)).intValue());
        nEMediaEngineConfig2.p(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.af, 120)).intValue());
        nEMediaEngineConfig2.q(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ag, 400)).intValue());
        nEMediaEngineConfig2.r(((Integer) com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.ah, 1)).intValue());
        nEMediaEngineConfig2.s(this.aX);
        nEMediaEngineConfig2.t(this.aY);
        nEMediaEngineConfig2.s(this.ar);
        nEMediaEngineConfig2.a(this.d.reproxy);
        return nEMediaEngineConfig2;
    }

    private LoginExtraConfig x() {
        LoginExtraConfig loginExtraConfig = new LoginExtraConfig();
        loginExtraConfig.a(this.aV);
        loginExtraConfig.a(this.aW);
        Trace.d("RtcEngineImpl", "encrypt , type : " + loginExtraConfig.getEncryptType() + " , key : " + loginExtraConfig.getEncryptKey());
        return loginExtraConfig;
    }

    private boolean y() {
        return z() && this.aI;
    }

    private void b() throws Error {
        LibraryUtils.loadLibrary("nrtc_sdk");
        c();
    }

    private void d(boolean z) {
        WifiInfo connectionInfo;
        StringBuilder sb = new StringBuilder();
        sb.append(z ? "acquire" : "release");
        sb.append(" high performance wifi lock");
        Trace.i("RtcEngineImpl", sb.toString());
        if (z) {
            WifiManager wifiManager = (WifiManager) com.netease.nrtc.engine.impl.a.b.getSystemService("wifi");
            if (wifiManager != null) {
                WifiManager.WifiLock createWifiLock = wifiManager.createWifiLock(3, "com.netease.nrtc::wifiLock");
                this.w = createWifiLock;
                createWifiLock.setReferenceCounted(false);
                if (this.w.isHeld() || (connectionInfo = wifiManager.getConnectionInfo()) == null) {
                    return;
                }
                NetworkInfo.DetailedState detailedStateOf = WifiInfo.getDetailedStateOf(connectionInfo.getSupplicantState());
                if (detailedStateOf == NetworkInfo.DetailedState.OBTAINING_IPADDR || detailedStateOf == NetworkInfo.DetailedState.CONNECTED) {
                    this.w.acquire();
                    return;
                }
                return;
            }
            return;
        }
        WifiManager.WifiLock wifiLock = this.w;
        if (wifiLock == null || !wifiLock.isHeld()) {
            return;
        }
        this.w.release();
        this.w = null;
    }

    private int e() {
        boolean z = (l.a(com.netease.nrtc.engine.impl.a.b) || l.a()) && l.c(com.netease.nrtc.engine.impl.a.b);
        if (this.as && z) {
            return 1;
        }
        return z ? 2 : 5;
    }

    private void f() throws RuntimeException {
        this.g = new NEMediaEngine(this);
        this.j = new com.netease.nrtc.voice.b(com.netease.nrtc.engine.impl.a.b, this, this, c(this.c));
        this.n = new com.netease.nrtc.video.a.d(com.netease.nrtc.engine.impl.a.b, this, this);
        this.h = d.a();
        if (Checker.traceFuncState(this.g.b(), "RtcEngineImpl", "net#init")) {
            com.netease.nrtc.monitor.e.a().b();
            if (Checker.traceFuncState(this.j.a(), "RtcEngineImpl", "voe#create")) {
                com.netease.nrtc.video.a.d dVar = this.n;
                if (dVar != null) {
                    Checker.traceFuncState(dVar.b(), "RtcEngineImpl", "vie#create");
                    return;
                }
                return;
            }
            throw new RuntimeException("voe create error");
        }
        throw new RuntimeException("net engine init error");
    }

    private boolean k(long j) {
        Trace.i("RtcEngineImpl", "startVideoReceive ->" + j);
        boolean z = true;
        if (this.d.userId == j) {
            z = false;
        } else if (j == -1) {
            for (j jVar : this.e.values()) {
                this.n.a(jVar.a, n(Math.min(NEMediaEngine.a(), jVar.b)));
                this.n.a(jVar.a, this.r, this.t, G());
                this.n.b(jVar.a, n(Math.min(NEMediaEngine.a(), jVar.b)));
                this.n.e(jVar.a);
                this.n.c(jVar.a);
                this.g.g(jVar.a);
            }
        } else {
            j jVar2 = this.e.get(Long.valueOf(j));
            if (jVar2 != null) {
                this.n.a(jVar2.a, n(Math.min(NEMediaEngine.a(), jVar2.b)));
                this.n.a(jVar2.a, this.r, this.t, G());
                this.n.b(jVar2.a, n(Math.min(NEMediaEngine.a(), jVar2.b)));
                this.n.e(jVar2.a);
                this.n.c(jVar2.a);
                this.g.g(jVar2.a);
            }
        }
        Trace.i("RtcEngineImpl", "startVideoReceive done");
        return z;
    }

    @SuppressLint({"WakelockTimeout"})
    private void c(boolean z) {
        StringBuilder sb = new StringBuilder();
        sb.append(z ? "acquire" : "release");
        sb.append(" partial wake lock");
        Trace.i("RtcEngineImpl", sb.toString());
        if (z) {
            PowerManager powerManager = (PowerManager) com.netease.nrtc.engine.impl.a.b.getSystemService("power");
            if (this.x == null && powerManager != null) {
                PowerManager.WakeLock newWakeLock = powerManager.newWakeLock(1, "com.netease.nrtc::wakeLock");
                this.x = newWakeLock;
                newWakeLock.setReferenceCounted(false);
            }
            PowerManager.WakeLock wakeLock = this.x;
            if (wakeLock == null || wakeLock.isHeld()) {
                return;
            }
            this.x.acquire();
            return;
        }
        PowerManager.WakeLock wakeLock2 = this.x;
        if (wakeLock2 == null || !wakeLock2.isHeld()) {
            return;
        }
        this.x.release();
        this.x = null;
    }

    private void h(long j) {
        Trace.i("RtcEngineImpl", "stopVoiceReceiving ->" + j);
        if (this.d.userId != j) {
            if (j == -1) {
                for (Long l : this.e.keySet()) {
                    long longValue = l.longValue();
                    if (longValue != this.d.userId) {
                        try {
                            this.j.b(longValue);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
            } else {
                this.j.b(j);
            }
        }
        Trace.i("RtcEngineImpl", "stopVoiceReceiving done");
    }

    private void n(long j) {
        Trace.i("RtcEngineImpl", "stopVideoReceive(" + j + ") start");
        if (j == -1) {
            for (j jVar : this.e.values()) {
                this.g.f(jVar.a);
                this.n.g(jVar.a);
            }
            return;
        }
        this.g.f(j);
        this.n.g(j);
    }

    private int o(long j) {
        return this.g.h(j);
    }

    private int p(int i) {
        if (this.al != 0 && i < 4) {
            Trace.w("RtcEngineImpl", -300000L, "resolution is too low , resolutionIndex : " + i);
            return 4;
        }
        return i;
    }

    @Override
    public int startAudioRecording(int i) {
        this.aU = i;
        com.netease.nrtc.rec.a aVar = this.h;
        if (aVar != null) {
            aVar.a(i);
        }
        return startAudioRecording();
    }

    public void a(Set<Integer> set) {
        for (Integer num : set) {
            int intValue = num.intValue();
            EncodeStatInfo g = this.n.g(intValue);
            if (g == null) {
                g = EncodeStatInfo.obtain();
            }
            this.g.b(this.aq.a(intValue), intValue, g.a(), g.b());
            g.recycle();
        }
    }

    private void b(final int i, int i2, final Set<Integer> set, final boolean z) {
        com.netease.nrtc.b.a.a(i);
        com.netease.nrtc.voice.b bVar = this.j;
        if (bVar != null) {
            bVar.a(i, i2);
        }
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioDeviceChanged(i, set, z);
            }
        });
    }

    private void l(long j) {
        Trace.i("RtcEngineImpl", "deleteVideoChannel ->" + j);
        if (j == -1) {
            for (j jVar : this.e.values()) {
                this.n.b(jVar.a);
            }
        } else {
            this.n.b(j);
        }
        Trace.i("RtcEngineImpl", "deleteVideoChannel done");
    }

    private void m(long j) {
        Trace.i("RtcEngineImpl", "stopVideoRending(" + j + ") start");
        if (j == -1) {
            for (j jVar : this.e.values()) {
                this.n.d(jVar.a);
            }
        } else {
            this.n.d(j);
        }
        Trace.i("RtcEngineImpl", "stopVideoRending(" + j + ") done");
    }

    private void e(boolean z) {
        com.netease.nrtc.internal.b bVar = this.ai;
        if (z) {
            bVar.d();
        }
        if (this.aD) {
            this.aj = bVar.a();
            this.ak = bVar.b();
            this.al = bVar.c();
        } else {
            this.aj = true;
            this.ak = true;
            this.al = 0;
        }
        if (this.al == 0 || this.R != 3) {
            return;
        }
        this.al = 0;
        Trace.w("RtcEngineImpl", -300000L, " video qos strategy is screen sharing , only support PUBLISH_MODEL_SINGLE_STREAM");
    }

    public boolean p(long j) {
        b bVar = this.ad.get(Long.valueOf(j));
        return bVar != null && bVar.c();
    }

    public void q(long j) {
        NEMediaEngine nEMediaEngine;
        if (this.y.get() != 3 || (nEMediaEngine = this.g) == null) {
            return;
        }
        nEMediaEngine.e(j);
    }

    public void g(int i) {
        int i2 = 0;
        if (i != 0) {
            if (i == 1) {
                i2 = 270;
            } else if (i == 2) {
                i2 = 180;
            } else if (i == 3) {
                i2 = 90;
            }
        }
        int surfaceRotationToRealWorldRotation = (i2 + VideoUtils.surfaceRotationToRealWorldRotation(this.aH)) % 360;
        if (surfaceRotationToRealWorldRotation != this.G) {
            this.G = surfaceRotationToRealWorldRotation;
            Trace.i("RtcEngineImpl", "orientationChanged -> " + this.G);
            com.netease.nrtc.video.a.d dVar = this.n;
            if (dVar != null) {
                dVar.c(this.G);
            }
        }
        VideoUtils.restDisplayRotationTime();
    }

    public com.netease.nrtc.monitor.statistics.e s(int i) {
        com.netease.nrtc.monitor.statistics.e eVar = this.T.get(i);
        if (eVar == null) {
            com.netease.nrtc.monitor.statistics.e eVar2 = new com.netease.nrtc.monitor.statistics.e();
            this.T.put(i, eVar2);
            return eVar2;
        }
        return eVar;
    }

    private void b(boolean z) {
        if (SystemPermissionUtils.checkWakeLockPermission(com.netease.nrtc.engine.impl.a.b)) {
            d(z);
            c(z);
        }
    }

    @Override
    public synchronized int updateSharedEGLContext(android.opengl.EGLContext eGLContext) {
        if (this.n == null) {
            Trace.e("RtcEngineImpl", "updateSharedEGL14Context error, vie is null");
            return -1;
        }
        EglContextWrapper eglContextWrapper = this.ah;
        if (eglContextWrapper != null && eGLContext != eglContextWrapper.getEglContext()) {
            Trace.i("RtcEngineImpl", "updateSharedEGL14Context:" + eGLContext + " default EglContext: " + this.ah.getEglContext());
            this.ah.release();
            this.ah = null;
        }
        return this.n.a(eGLContext) ? 0 : -2;
    }

    public void u(final int i) {
        Trace.i("RtcEngineImpl", "re login callback , reason : " + i);
        ThreadUtils.runOnThread(this.v, new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.t(i);
            }
        });
    }

    public void t(int i) {
        this.b.onReloginCallback(i, this.d);
    }

    @Override
    public void b(long j, final String str) {
        final long j2 = j == 0 ? this.d.userId : j;
        Trace.i("RtcEngineImpl", "onAVRecordingCompletion ->" + j);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAVRecordingCompletion(j2, str);
            }
        });
    }

    private void a(Context context, String str, boolean z, int i) {
        com.netease.nrtc.engine.impl.a.b = context.getApplicationContext();
        com.netease.nrtc.engine.impl.a.d = str;
        com.netease.nrtc.engine.impl.a.g = false;
        com.netease.nrtc.engine.impl.a.c = SystemClock.elapsedRealtime();
        com.netease.nrtc.engine.impl.a.j = this.P;
        com.netease.nrtc.engine.impl.a.h = z;
        com.netease.nrtc.engine.impl.a.k = i;
    }

    public void y(final int i) {
        Trace.i("RtcEngineImpl", "onDisconnectServer:" + i);
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        this.z.set(4);
        Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
        if (z() && i == 1 && u() && this.D.getAndIncrement() < 2) {
            Trace.i("RtcEngineImpl", "disconnect server, login again!");
            v();
        }
        if (i == 3 || i == 2) {
            leaveChannel();
        }
        if (this.C.get()) {
            return;
        }
        if (this.d != null) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.d.a(this.d.userId, String.valueOf(i)));
        }
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onDisconnectServer(i);
            }
        });
    }

    private void i(long j) {
        Trace.i("RtcEngineImpl", "deleteVoiceChannel ->" + j);
        if (this.d.userId != j) {
            if (j == -1) {
                for (Long l : this.e.keySet()) {
                    long longValue = l.longValue();
                    if (longValue != this.d.userId) {
                        try {
                            com.netease.nrtc.monitor.j jVar = this.M;
                            if (jVar != null) {
                                jVar.c(longValue);
                            }
                            this.j.e(longValue);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
            } else {
                com.netease.nrtc.monitor.j jVar2 = this.M;
                if (jVar2 != null) {
                    jVar2.c(j);
                }
                this.j.e(j);
            }
        }
        Trace.i("RtcEngineImpl", "deleteVoiceChannel done");
    }

    public void v(int i) {
        if (this.y.get() != 3 || this.g == null || this.S == i) {
            return;
        }
        this.S = i;
        Q();
        boolean c = new b.a(i).c();
        float f = c ? 0.75f : 0.5f;
        int a2 = c ? com.netease.nrtc.b.a.a(com.netease.nrtc.b.c.u, 200) : 85;
        int i2 = (int) (a2 * 1.0f * f);
        this.g.b(i2, a2);
        Trace.i("RtcEngineImpl", "overuse setEncodeUsageThresholdPercent->" + i2 + "," + a2);
    }

    private String c(String str) {
        if (TextUtils.isEmpty(str)) {
            return null;
        }
        File file = new File(str, "audio_dump");
        if (!file.exists()) {
            file.mkdirs();
        }
        return file.getAbsolutePath();
    }

    private void d() {
        Trace.CreateTrace();
        Trace.nativeSetTraceFilter(e());
        if (StringUtils.isEmpty(this.c)) {
            return;
        }
        File file = new File(this.c);
        if (!file.exists()) {
            file.mkdirs();
        }
        Trace.nativeSetTraceFile(new File(this.c, "nrtc_sdk.log").getAbsolutePath(), false, (l.a(com.netease.nrtc.engine.impl.a.b) || l.a()) && l.c(com.netease.nrtc.engine.impl.a.b));
    }

    private void g(long j) {
        Trace.i("RtcEngineImpl", "startVoicePlayout ->" + j);
        RtcConfig rtcConfig = this.d;
        if (rtcConfig != null && rtcConfig.userId != j) {
            if (j == -1) {
                for (Long l : this.e.keySet()) {
                    long longValue = l.longValue();
                    if (longValue != this.d.userId) {
                        try {
                            this.j.d(longValue);
                            this.j.a(longValue);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
                this.j.g();
            } else {
                this.j.d(j);
                this.j.a(j);
                this.j.f(j);
            }
        }
        Trace.i("RtcEngineImpl", "startVoicePlayout done");
    }

    @Override
    public void b(final String str) {
        Trace.i("RtcEngineImpl", "onAudioRecordingCompletion");
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioRecordingCompletion(str);
            }
        });
    }

    @Override
    public void f(final long j) {
        Trace.i("RtcEngineImpl", "onFirstFrameRendered->" + j);
        RtcConfig rtcConfig = this.d;
        if (rtcConfig != null && rtcConfig.userId != j && com.netease.nrtc.c.a.a().a(j, 1)) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.l.a(this.d.channel, j, 1));
        }
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onFirstVideoFrameRendered(j);
            }
        });
    }

    @Override
    public boolean b(long j) {
        boolean z = true;
        return this.j.a(j, (this.aD && this.aC == 1) ? false : false);
    }

    public void d(LoginResInfo loginResInfo) {
        StringBuilder sb = new StringBuilder();
        sb.append("re login call back , result = ");
        sb.append(loginResInfo == null ? "null" : Long.valueOf(loginResInfo.a()));
        Trace.i("RtcEngineImpl", sb.toString());
        if (loginResInfo == null || loginResInfo.a() != 200) {
            return;
        }
        S();
    }

    private void e(String str) {
        if (!TextUtils.isEmpty(this.aJ) && this.aJ != str) {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ar);
        }
        this.aJ = str;
        if (this.y.get() == 3) {
            this.g.a(this.aJ);
        }
    }

    private void a(String str, Object obj) {
        char c;
        char c2;
        char c3;
        char c4;
        char c5;
        char c6;
        char c7;
        boolean z;
        str.hashCode();
        switch (str.hashCode()) {
            case 311174625:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCRYPT_KEY)) {
                    c = 0;
                    break;
                }
                c = 65535;
                break;
            case 955184389:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_URL)) {
                    c = 1;
                    break;
                }
                c = 65535;
                break;
            case 1056765944:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCRYPT_TYPE)) {
                    c = 2;
                    break;
                }
                c = 65535;
                break;
            default:
                c = 65535;
                break;
        }
        switch (c) {
            case 0:
            case 2:
                break;
            case 1:
                StringBuilder sb = new StringBuilder();
                sb.append("set parameter: [");
                sb.append(str.toUpperCase());
                sb.append(", ");
                sb.append(StringUtils.isEmpty((String) obj) ? "null" : "url");
                sb.append("]");
                Trace.i("RtcEngineImpl", sb.toString());
                break;
            default:
                Trace.i("RtcEngineImpl", "set parameter: [" + str.toUpperCase() + ", " + obj + "]");
                break;
        }
        if (obj == null) {
            Trace.i("RtcEngineImpl", "ignore parameter: [" + str.toUpperCase() + "]");
            return;
        }
        str.hashCode();
        switch (str.hashCode()) {
            case -2071249850:
                if (str.equals(RtcParameters.KEY_NETLIB_VIDEO_LOOPBACK)) {
                    c2 = 0;
                    break;
                }
                c2 = 65535;
                break;
            case -2071183187:
                if (str.equals(RtcParameters.KEY_SERVER_RECORD_SPEAKER)) {
                    c2 = 1;
                    break;
                }
                c2 = 65535;
                break;
            case -1999908078:
                if (str.equals(RtcParameters.KEY_DEVICE_FIXED_ROTATION)) {
                    c2 = 2;
                    break;
                }
                c2 = 65535;
                break;
            case -1979116379:
                if (str.equals(RtcParameters.KEY_DEVICE_DEFAULT_ROTATION)) {
                    c2 = 3;
                    break;
                }
                c2 = 65535;
                break;
            case -1862587763:
                if (str.equals(RtcParameters.KEY_VIDEO_FPS_REPORTED)) {
                    c2 = 4;
                    break;
                }
                c2 = 65535;
                break;
            case -1791226945:
                if (str.equals(RtcParameters.KEY_VIDEO_ROTATE_IN_RENDING)) {
                    c2 = 5;
                    break;
                }
                c2 = 65535;
                break;
            case -1683085645:
                if (str.equals(RtcParameters.KEY_VIDEO_CAPTURE_ORIENTATION)) {
                    c2 = 6;
                    break;
                }
                c2 = 65535;
                break;
            case -1679500112:
                if (str.equals(RtcParameters.KEY_PROFILE_TRACE_FLAG_DEBUG)) {
                    c2 = 7;
                    break;
                }
                c2 = 65535;
                break;
            case -1639007703:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_AGC_CONFIG)) {
                    c2 = '\b';
                    break;
                }
                c2 = 65535;
                break;
            case -1624428709:
                if (str.equals(RtcParameters.KEY_VIDEO_QUALITY)) {
                    c2 = '\t';
                    break;
                }
                c2 = 65535;
                break;
            case -1574984238:
                if (str.equals(RtcParameters.KEY_AUDIO_PROCESS_DUMP_FLAG_DEBUG)) {
                    c2 = '\n';
                    break;
                }
                c2 = 65535;
                break;
            case -1527914602:
                if (str.equals(RtcParameters.KEY_DEVICE_ROTATION_FIXED_OFFSET)) {
                    c2 = 11;
                    break;
                }
                c2 = 65535;
                break;
            case -1460447772:
                if (str.equals(RtcParameters.KEY_VIDEO_PREVIEW_QUALITY)) {
                    c2 = '\f';
                    break;
                }
                c2 = 65535;
                break;
            case -1443392620:
                if (str.equals(RtcParameters.KEY_AUDIO_ADJUST_PLAYBACK_SIGNAL_VOLUME)) {
                    c2 = '\r';
                    break;
                }
                c2 = 65535;
                break;
            case -1285199350:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCODER_MODE)) {
                    c2 = 14;
                    break;
                }
                c2 = 65535;
                break;
            case -1156683758:
                if (str.equals(RtcParameters.KEY_SESSION_MULTI_MODE)) {
                    c2 = 15;
                    break;
                }
                c2 = 65535;
                break;
            case -1144049993:
                if (str.equals(RtcParameters.KEY_PROFILES_ENABLE_ON_TEST_SERVER)) {
                    c2 = 16;
                    break;
                }
                c2 = 65535;
                break;
            case -830116030:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_NOISE_SUPPRESSOR)) {
                    c2 = 17;
                    break;
                }
                c2 = 65535;
                break;
            case -773145927:
                if (str.equals(RtcParameters.KEY_VIDEO_TRANSPORT_MIRROR)) {
                    c2 = 18;
                    break;
                }
                c2 = 65535;
                break;
            case -705087381:
                if (str.equals(RtcParameters.KEY_VIDEO_FIXED_CROP_RATIO)) {
                    c2 = 19;
                    break;
                }
                c2 = 65535;
                break;
            case -574756739:
                if (str.equals(RtcParameters.KEY_SESSION_MULTI_MODE_USER_ROLE)) {
                    c2 = 20;
                    break;
                }
                c2 = 65535;
                break;
            case -454296371:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_MODE)) {
                    c2 = 21;
                    break;
                }
                c2 = 65535;
                break;
            case -334213656:
                if (str.equals(RtcParameters.KEY_SERVER_LIVE_RECORD)) {
                    c2 = 22;
                    break;
                }
                c2 = 65535;
                break;
            case -161968216:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_FILTER_FORMAT)) {
                    c2 = 23;
                    break;
                }
                c2 = 65535;
                break;
            case -157773497:
                if (str.equals(RtcParameters.KEY_AUDIO_CALL_PROXIMITY)) {
                    c2 = 24;
                    break;
                }
                c2 = 65535;
                break;
            case -146319937:
                if (str.equals(RtcParameters.KEY_LOCAL_ENCODE_DECODE_VIDEO)) {
                    c2 = 25;
                    break;
                }
                c2 = 65535;
                break;
            case -137287658:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_AUTOMATIC_GAIN_CONTROL)) {
                    c2 = JSONLexer.EOI;
                    break;
                }
                c2 = 65535;
                break;
            case -112917522:
                if (str.equals(RtcParameters.KEY_VIDEO_MAX_BITRATE)) {
                    c2 = 27;
                    break;
                }
                c2 = 65535;
                break;
            case -70718756:
                if (str.equals(RtcParameters.KEY_AUDIO_PLAYBACK_DEFAULT_SAMPLE_RATE)) {
                    c2 = 28;
                    break;
                }
                c2 = 65535;
                break;
            case 129341046:
                if (str.equals(RtcParameters.KEY_SERVER_AUDIO_RECORD)) {
                    c2 = 29;
                    break;
                }
                c2 = 65535;
                break;
            case 237668859:
                if (str.equals(RtcParameters.KEY_AUDIO_EXTERNAL_CAPTURE)) {
                    c2 = 30;
                    break;
                }
                c2 = 65535;
                break;
            case 311174625:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCRYPT_KEY)) {
                    c2 = 31;
                    break;
                }
                c2 = 65535;
                break;
            case 337397166:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_FILTER)) {
                    c2 = ' ';
                    break;
                }
                c2 = 65535;
                break;
            case 372528241:
                if (str.equals(RtcParameters.KEY_COMPATIBILITY_CONFIG_SERVER)) {
                    c2 = '!';
                    break;
                }
                c2 = 65535;
                break;
            case 412571665:
                if (str.equals(RtcParameters.KEY_SDK_FEATURE_STATISTICS)) {
                    c2 = C1672.f6711;
                    break;
                }
                c2 = 65535;
                break;
            case 419532311:
                if (str.equals(RtcParameters.KEY_AUDIO_ADJUST_CAPTURED_SIGNAL_VOLUME)) {
                    c2 = '#';
                    break;
                }
                c2 = 65535;
                break;
            case 596167219:
                if (str.equals(RtcParameters.KEY_AUDIO_FRAME_FILTER)) {
                    c2 = '$';
                    break;
                }
                c2 = 65535;
                break;
            case 698571901:
                if (str.equals(RtcParameters.KEY_COMPATIBILITY_CONFIG_LOCAL)) {
                    c2 = '%';
                    break;
                }
                c2 = 65535;
                break;
            case 760558347:
                if (str.equals(RtcParameters.KEY_AUDIO_HIGH_QUALITY)) {
                    c2 = C1672.f6726;
                    break;
                }
                c2 = 65535;
                break;
            case 955184389:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_URL)) {
                    c2 = '\'';
                    break;
                }
                c2 = 65535;
                break;
            case 1056765944:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCRYPT_TYPE)) {
                    c2 = '(';
                    break;
                }
                c2 = 65535;
                break;
            case 1103225839:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_COMPOSITING_LAYOUT)) {
                    c2 = ')';
                    break;
                }
                c2 = 65535;
                break;
            case 1285247325:
                if (str.equals(RtcParameters.KEY_AUDIO_REPORT_SPEAKER)) {
                    c2 = '*';
                    break;
                }
                c2 = 65535;
                break;
            case 1464760610:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_FAR_END_AUTOMATIC_GAIN_CONTROL)) {
                    c2 = '+';
                    break;
                }
                c2 = 65535;
                break;
            case 1568541233:
                if (str.equals(RtcParameters.KEY_SERVER_VIDEO_RECORD)) {
                    c2 = ',';
                    break;
                }
                c2 = 65535;
                break;
            case 1658076469:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_FAR_END_AGC_CONFIG)) {
                    c2 = '-';
                    break;
                }
                c2 = 65535;
                break;
            case 1823452394:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_ACOUSTIC_ECHO_CANCELER)) {
                    c2 = '.';
                    break;
                }
                c2 = 65535;
                break;
            case 1873378274:
                if (str.equals(RtcParameters.KEY_VIDEO_DECODER_MODE)) {
                    c2 = '/';
                    break;
                }
                c2 = 65535;
                break;
            case 1882245767:
                if (str.equals(RtcParameters.KEY_AUDIO_SPECIAL_CODEC)) {
                    c2 = '0';
                    break;
                }
                c2 = 65535;
                break;
            case 2022851605:
                if (str.equals(RtcParameters.KEY_AUDIO_CAPTURE_DEFAULT_SAMPLE_RATE)) {
                    c2 = '1';
                    break;
                }
                c2 = 65535;
                break;
            case 2061813685:
                if (str.equals(RtcParameters.KEY_SERVER_RECORD_MODE)) {
                    c2 = '2';
                    break;
                }
                c2 = 65535;
                break;
            case 2083380374:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_RATE)) {
                    c2 = '3';
                    break;
                }
                c2 = 65535;
                break;
            case 2083690383:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_FILTER_NEW)) {
                    c2 = '4';
                    break;
                }
                c2 = 65535;
                break;
            case 2099798764:
                if (str.equals(RtcParameters.KEY_SDK_ENABLE_GPL)) {
                    c2 = '5';
                    break;
                }
                c2 = 65535;
                break;
            case 2131807051:
                if (str.equals(RtcParameters.KEY_NETLIB_AUDIO_LOOPBACK)) {
                    c2 = '6';
                    break;
                }
                c2 = 65535;
                break;
            case 2138662542:
                if (str.equals(RtcParameters.KEY_VIDEO_LOCAL_PREVIEW_MIRROR)) {
                    c2 = '7';
                    break;
                }
                c2 = 65535;
                break;
            default:
                c2 = 65535;
                break;
        }
        switch (c2) {
            case 0:
                this.aX = ((Boolean) obj).booleanValue();
                return;
            case 1:
                this.aw = ((Boolean) obj).booleanValue();
                return;
            case 2:
                int intValue = ((Integer) obj).intValue();
                this.aF = intValue;
                this.n.c(VideoUtils.surfaceRotationToRealWorldRotation(intValue));
                this.aG = true;
                return;
            case 3:
                int intValue2 = ((Integer) obj).intValue();
                this.aF = intValue2;
                this.n.c(VideoUtils.surfaceRotationToRealWorldRotation(intValue2));
                return;
            case 4:
                this.aE = ((Boolean) obj).booleanValue();
                return;
            case 5:
                boolean booleanValue = ((Boolean) obj).booleanValue();
                this.az = booleanValue;
                this.n.b(booleanValue);
                if (this.az) {
                    com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.L);
                    return;
                }
                return;
            case 6:
                int intValue3 = ((Integer) obj).intValue();
                this.aQ = intValue3;
                this.n.d(VideoUtils.surfaceRotationToRealWorldRotation(intValue3));
                int i = this.aQ;
                if (i == 0 || i == 2) {
                    com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.P, 2);
                    return;
                } else if (i == 3 || i == 1) {
                    com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.P, 1);
                    return;
                } else {
                    return;
                }
            case 7:
                this.as = ((Boolean) obj).booleanValue();
                int e = e();
                Trace.nativeSetTraceFilter(e);
                NEMediaEngine nEMediaEngine = this.g;
                if (nEMediaEngine != null) {
                    nEMediaEngine.f(e);
                    return;
                }
                return;
            case '\b':
                RtcAgcConfig rtcAgcConfig = (RtcAgcConfig) obj;
                Integer num = rtcAgcConfig.mode;
                if (num != null && C3865.m17582(num.intValue())) {
                    com.netease.nrtc.voice.a.a.a(rtcAgcConfig.mode.intValue());
                }
                Boolean bool = rtcAgcConfig.limiterEnabled;
                if (bool != null) {
                    this.j.e(bool.booleanValue());
                }
                Integer num2 = rtcAgcConfig.compressionGainDb;
                if (num2 != null) {
                    this.j.e(num2.intValue());
                }
                Integer num3 = rtcAgcConfig.targetLevelDbfs;
                if (num3 != null) {
                    this.j.d(num3.intValue());
                    return;
                }
                return;
            case '\t':
                if (this.al != 0 && this.y.get() == 3 && 1 == ((Integer) obj).intValue()) {
                    Trace.w("RtcEngineImpl", "QUALITY_LOW not allowed at multi stream");
                    return;
                }
                int i2 = this.aA;
                int intValue4 = ((Integer) obj).intValue();
                this.aA = intValue4;
                if (i2 != intValue4) {
                    aa();
                    X();
                }
                if (this.d != null) {
                    int i3 = com.netease.nrtc.c.g.b.i;
                    com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(i3, "1", o(this.aA) + ""));
                }
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.y, o(this.aA));
                return;
            case '\n':
                this.j.h(((Integer) obj).intValue());
                return;
            case 11:
                this.aH = ((Integer) obj).intValue();
                return;
            case '\f':
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ag);
                int intValue5 = ((Integer) obj).intValue();
                if (this.aB == intValue5) {
                    return;
                }
                this.aB = intValue5;
                aa();
                Z();
                return;
            case '\r':
                this.j.b(((Integer) obj).intValue());
                return;
            case 14:
                String str2 = (String) obj;
                str2.hashCode();
                switch (str2.hashCode()) {
                    case -1687096461:
                        if (str2.equals("media_codec_auto")) {
                            c3 = 0;
                            break;
                        }
                        c3 = 65535;
                        break;
                    case -1021446805:
                        if (str2.equals("media_codec_software")) {
                            c3 = 1;
                            break;
                        }
                        c3 = 65535;
                        break;
                    case 2071099820:
                        if (str2.equals("media_codec_hardware")) {
                            c3 = 2;
                            break;
                        }
                        c3 = 65535;
                        break;
                    default:
                        c3 = 65535;
                        break;
                }
                switch (c3) {
                    case 0:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.A, 0);
                        com.netease.nrtc.video.a.e.b(false);
                        com.netease.nrtc.video.a.e.d(true);
                        break;
                    case 1:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.A, 1);
                        com.netease.nrtc.video.a.e.b(false);
                        com.netease.nrtc.video.a.e.d(false);
                        break;
                    case 2:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.A, 2);
                        com.netease.nrtc.video.a.e.b(true);
                        com.netease.nrtc.video.a.e.d(true);
                        break;
                }
                if (this.y.get() == 3) {
                    this.n.c(true);
                    return;
                }
                return;
            case 15:
                this.aD = ((Boolean) obj).booleanValue();
                return;
            case 16:
                this.aZ = ((Boolean) obj).booleanValue();
                return;
            case 17:
                String str3 = (String) obj;
                str3.hashCode();
                switch (str3.hashCode()) {
                    case -1143663023:
                        if (str3.equals("audio_effect_mode_disable")) {
                            c4 = 0;
                            break;
                        }
                        c4 = 65535;
                        break;
                    case -900892964:
                        if (str3.equals("audio_effect_mode_sdk_builtin_priority")) {
                            c4 = 1;
                            break;
                        }
                        c4 = 65535;
                        break;
                    case -489074763:
                        if (str3.equals("audio_effect_mode_platform_builtin_priority")) {
                            c4 = 2;
                            break;
                        }
                        c4 = 65535;
                        break;
                    default:
                        c4 = 65535;
                        break;
                }
                switch (c4) {
                    case 0:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.F, 0);
                        com.netease.nrtc.voice.a.a.d(false);
                        return;
                    case 1:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.F, 1);
                        com.netease.nrtc.voice.a.a.d(true);
                        com.netease.nrtc.voice.a.a.c(true);
                        return;
                    case 2:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.F, 2);
                        com.netease.nrtc.voice.a.a.d(true);
                        com.netease.nrtc.voice.a.a.c(false);
                        return;
                    default:
                        return;
                }
            case 18:
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.o);
                this.n.g(((Boolean) obj).booleanValue());
                return;
            case 19:
                int intValue6 = ((Integer) obj).intValue();
                this.aR = intValue6;
                this.n.a(intValue6);
                com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.m, "1", String.valueOf(this.aR)));
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.M, this.aR);
                return;
            case 20:
                int intValue7 = ((Integer) obj).intValue();
                if (this.y.get() != 3) {
                    this.aC = intValue7;
                    return;
                } else {
                    setRole(intValue7);
                    return;
                }
            case 21:
                this.aI = ((Boolean) obj).booleanValue();
                return;
            case 22:
                this.aP = ((Boolean) obj).booleanValue();
                return;
            case 23:
                this.n.f(((Integer) obj).intValue());
                return;
            case 24:
                this.ay = ((Boolean) obj).booleanValue();
                return;
            case 25:
                try {
                    JSONObject jSONObject = new JSONObject((String) obj);
                    com.netease.nrtc.engine.impl.a.s = jSONObject.optBoolean("local_encode_encode_video", false);
                    this.ao = jSONObject.optInt("high_res_count", 1);
                    this.ap = jSONObject.optInt("low_res_count", 1);
                    this.an = C3890.m17588();
                    return;
                } catch (Exception e2) {
                    e2.printStackTrace();
                    return;
                }
            case 26:
                String str4 = (String) obj;
                str4.hashCode();
                switch (str4.hashCode()) {
                    case -1143663023:
                        if (str4.equals("audio_effect_mode_disable")) {
                            c5 = 0;
                            break;
                        }
                        c5 = 65535;
                        break;
                    case -900892964:
                        if (str4.equals("audio_effect_mode_sdk_builtin_priority")) {
                            c5 = 1;
                            break;
                        }
                        c5 = 65535;
                        break;
                    case -489074763:
                        if (str4.equals("audio_effect_mode_platform_builtin_priority")) {
                            c5 = 2;
                            break;
                        }
                        c5 = 65535;
                        break;
                    default:
                        c5 = 65535;
                        break;
                }
                switch (c5) {
                    case 0:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.G, 0);
                        com.netease.nrtc.voice.a.a.f(false);
                        return;
                    case 1:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.G, 1);
                        com.netease.nrtc.voice.a.a.f(true);
                        com.netease.nrtc.voice.a.a.b(true);
                        return;
                    case 2:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.G, 2);
                        com.netease.nrtc.voice.a.a.f(true);
                        com.netease.nrtc.voice.a.a.b(false);
                        return;
                    default:
                        return;
                }
            case 27:
                this.aS = ((Integer) obj).intValue();
                if (this.y.get() == 3) {
                    R();
                }
                com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.l, "1", String.valueOf(this.aS)));
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.C, this.aS);
                return;
            case 28:
                AudioDeviceParameters.b(((Integer) obj).intValue());
                return;
            case 29:
                boolean booleanValue2 = ((Boolean) obj).booleanValue();
                this.au = booleanValue2;
                if (booleanValue2) {
                    com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.aa);
                    return;
                }
                return;
            case 30:
                this.j.b(((Boolean) obj).booleanValue());
                return;
            case 31:
                this.aW = (String) obj;
                return;
            case ' ':
                this.n.d(((Boolean) obj).booleanValue());
                return;
            case '!':
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.w);
                com.netease.nrtc.b.a.b(com.netease.nrtc.engine.impl.a.b, (String) obj);
                return;
            case '\"':
                a((Pair) obj);
                return;
            case '#':
                this.j.c(((Integer) obj).intValue());
                return;
            case '$':
                this.j.g(((Boolean) obj).booleanValue());
                return;
            case '%':
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.w);
                com.netease.nrtc.b.a.a((String) obj);
                return;
            case '&':
                this.aM = ((Boolean) obj).booleanValue();
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.x);
                return;
            case '\'':
                e((String) obj);
                return;
            case '(':
                this.aV = ((Integer) obj).intValue();
                return;
            case ')':
                this.aL = (RtcLiveCompositingLayout) obj;
                return;
            case '*':
                this.j.d(((Boolean) obj).booleanValue());
                return;
            case '+':
                com.netease.nrtc.voice.a.a.g("audio_effect_mode_sdk_builtin_priority".equals((String) obj));
                return;
            case ',':
                boolean booleanValue3 = ((Boolean) obj).booleanValue();
                this.av = booleanValue3;
                if (booleanValue3) {
                    com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ab);
                    return;
                }
                return;
            case '-':
                RtcAgcConfig rtcAgcConfig2 = (RtcAgcConfig) obj;
                Integer num4 = rtcAgcConfig2.mode;
                if (num4 != null && C3865.m17582(num4.intValue())) {
                    com.netease.nrtc.voice.a.a.b(rtcAgcConfig2.mode.intValue());
                }
                Boolean bool2 = rtcAgcConfig2.limiterEnabled;
                if (bool2 != null) {
                    this.j.f(bool2.booleanValue());
                }
                Integer num5 = rtcAgcConfig2.compressionGainDb;
                if (num5 != null) {
                    this.j.g(num5.intValue());
                }
                Integer num6 = rtcAgcConfig2.targetLevelDbfs;
                if (num6 != null) {
                    this.j.f(num6.intValue());
                    return;
                }
                return;
            case '.':
                String str5 = (String) obj;
                str5.hashCode();
                switch (str5.hashCode()) {
                    case -1143663023:
                        if (str5.equals("audio_effect_mode_disable")) {
                            c6 = 0;
                            break;
                        }
                        c6 = 65535;
                        break;
                    case -900892964:
                        if (str5.equals("audio_effect_mode_sdk_builtin_priority")) {
                            c6 = 1;
                            break;
                        }
                        c6 = 65535;
                        break;
                    case -489074763:
                        if (str5.equals("audio_effect_mode_platform_builtin_priority")) {
                            c6 = 2;
                            break;
                        }
                        c6 = 65535;
                        break;
                    default:
                        c6 = 65535;
                        break;
                }
                switch (c6) {
                    case 0:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.I, 0);
                        com.netease.nrtc.voice.a.a.e(false);
                        return;
                    case 1:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.I, 1);
                        com.netease.nrtc.voice.a.a.e(true);
                        com.netease.nrtc.voice.a.a.a(true);
                        return;
                    case 2:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.I, 2);
                        com.netease.nrtc.voice.a.a.e(true);
                        com.netease.nrtc.voice.a.a.a(false);
                        return;
                    default:
                        return;
                }
            case '/':
                String str6 = (String) obj;
                str6.hashCode();
                switch (str6.hashCode()) {
                    case -1687096461:
                        if (str6.equals("media_codec_auto")) {
                            c7 = 0;
                            break;
                        }
                        c7 = 65535;
                        break;
                    case -1021446805:
                        if (str6.equals("media_codec_software")) {
                            c7 = 1;
                            break;
                        }
                        c7 = 65535;
                        break;
                    case 2071099820:
                        if (str6.equals("media_codec_hardware")) {
                            c7 = 2;
                            break;
                        }
                        c7 = 65535;
                        break;
                    default:
                        c7 = 65535;
                        break;
                }
                switch (c7) {
                    case 0:
                        z = false;
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.B, 0);
                        com.netease.nrtc.video.a.e.c(false);
                        com.netease.nrtc.video.a.e.e(true);
                        break;
                    case 1:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.B, 1);
                        z = false;
                        com.netease.nrtc.video.a.e.c(false);
                        com.netease.nrtc.video.a.e.e(false);
                        break;
                    case 2:
                        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.B, 2);
                        com.netease.nrtc.video.a.e.c(true);
                        com.netease.nrtc.video.a.e.e(true);
                    default:
                        z = false;
                        break;
                }
                if (this.y.get() == 3) {
                    this.n.c(z);
                    return;
                }
                return;
            case '0':
                this.aT = ((Integer) obj).intValue();
                return;
            case '1':
                AudioDeviceParameters.a(((Integer) obj).intValue());
                return;
            case '2':
                int intValue8 = ((Integer) obj).intValue();
                this.ax = intValue8;
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ac, intValue8);
                return;
            case '3':
                if (this.y.get() != 3) {
                    int intValue9 = ((Integer) obj).intValue();
                    if (this.aK != intValue9) {
                        this.aK = intValue9;
                        Z();
                    }
                } else {
                    Trace.e("RtcEngineImpl", "status is running , cannot change video rate");
                }
                com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.k, "1", String.valueOf(this.aK)));
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.z, (this.aK / 5) + 1);
                return;
            case '4':
                this.n.e(((Boolean) obj).booleanValue());
                return;
            case '5':
                com.netease.nrtc.engine.impl.a.g = ((Boolean) obj).booleanValue();
                return;
            case '6':
                this.aY = ((Boolean) obj).booleanValue();
                return;
            case '7':
                com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.n);
                this.n.f(((Boolean) obj).booleanValue());
                return;
            default:
                Trace.e("RtcEngineImpl", "set parameter [" + str.toUpperCase() + "] unsupported!");
                return;
        }
    }

    private void c(LoginResInfo loginResInfo) {
        SessionInfo obtain;
        com.netease.nrtc.c.i.a aVar = new com.netease.nrtc.c.i.a();
        if (this.d != null) {
            aVar.a(this.d.userId + "");
            aVar.b(this.d.channel + "");
        }
        aVar.a(this.aD);
        aVar.b(this.au);
        aVar.c(this.av);
        aVar.a(this.ax);
        aVar.d(this.aw);
        aVar.d(this.N.c());
        aVar.e(this.N.d());
        aVar.e(this.aI && this.aD);
        NEMediaEngine nEMediaEngine = this.g;
        if (nEMediaEngine != null) {
            obtain = nEMediaEngine.g();
        } else {
            obtain = SessionInfo.obtain();
        }
        aVar.c(obtain.a());
        aVar.b(this.aa);
        aVar.c((int) loginResInfo.a());
        aVar.a(com.netease.nrtc.video.a.e.i());
        aVar.b(com.netease.nrtc.video.a.e.j());
        com.netease.nrtc.c.a(aVar);
    }

    public void c(int i, int i2, int i3) {
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        this.n.a(i, i2, i3);
        Trace.i("RtcEngineImpl", "onVideoDropFrame->(flag=" + i + ", long time drop=" + i2 + "  type = " + i3 + C5923.C5925.f19790);
    }

    @Override
    public void e(long j) {
        Trace.i("RtcEngineImpl", "onFirstFramePkgReceived->" + j);
        if (this.d != null) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.l.c(String.valueOf(this.d.channel), String.valueOf(j), 1));
        }
    }

    private Object d(String str) {
        str.hashCode();
        char c = 65535;
        switch (str.hashCode()) {
            case -2071183187:
                if (str.equals(RtcParameters.KEY_SERVER_RECORD_SPEAKER)) {
                    c = 0;
                    break;
                }
                break;
            case -1999908078:
                if (str.equals(RtcParameters.KEY_DEVICE_FIXED_ROTATION)) {
                    c = 1;
                    break;
                }
                break;
            case -1979116379:
                if (str.equals(RtcParameters.KEY_DEVICE_DEFAULT_ROTATION)) {
                    c = 2;
                    break;
                }
                break;
            case -1862587763:
                if (str.equals(RtcParameters.KEY_VIDEO_FPS_REPORTED)) {
                    c = 3;
                    break;
                }
                break;
            case -1791226945:
                if (str.equals(RtcParameters.KEY_VIDEO_ROTATE_IN_RENDING)) {
                    c = 4;
                    break;
                }
                break;
            case -1683085645:
                if (str.equals(RtcParameters.KEY_VIDEO_CAPTURE_ORIENTATION)) {
                    c = 5;
                    break;
                }
                break;
            case -1624428709:
                if (str.equals(RtcParameters.KEY_VIDEO_QUALITY)) {
                    c = 6;
                    break;
                }
                break;
            case -1527914602:
                if (str.equals(RtcParameters.KEY_DEVICE_ROTATION_FIXED_OFFSET)) {
                    c = 7;
                    break;
                }
                break;
            case -1460447772:
                if (str.equals(RtcParameters.KEY_VIDEO_PREVIEW_QUALITY)) {
                    c = '\b';
                    break;
                }
                break;
            case -1459623615:
                if (str.equals(RtcParameters.KEY_VIDEO_SUPPORTED_HW_ENCODER)) {
                    c = '\t';
                    break;
                }
                break;
            case -1285199350:
                if (str.equals(RtcParameters.KEY_VIDEO_ENCODER_MODE)) {
                    c = '\n';
                    break;
                }
                break;
            case -1156683758:
                if (str.equals(RtcParameters.KEY_SESSION_MULTI_MODE)) {
                    c = 11;
                    break;
                }
                break;
            case -1144049993:
                if (str.equals(RtcParameters.KEY_PROFILES_ENABLE_ON_TEST_SERVER)) {
                    c = '\f';
                    break;
                }
                break;
            case -830116030:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_NOISE_SUPPRESSOR)) {
                    c = '\r';
                    break;
                }
                break;
            case -773145927:
                if (str.equals(RtcParameters.KEY_VIDEO_TRANSPORT_MIRROR)) {
                    c = 14;
                    break;
                }
                break;
            case -705087381:
                if (str.equals(RtcParameters.KEY_VIDEO_FIXED_CROP_RATIO)) {
                    c = 15;
                    break;
                }
                break;
            case -574756739:
                if (str.equals(RtcParameters.KEY_SESSION_MULTI_MODE_USER_ROLE)) {
                    c = 16;
                    break;
                }
                break;
            case -454296371:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_MODE)) {
                    c = 17;
                    break;
                }
                break;
            case -334213656:
                if (str.equals(RtcParameters.KEY_SERVER_LIVE_RECORD)) {
                    c = 18;
                    break;
                }
                break;
            case -161968216:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_FILTER_FORMAT)) {
                    c = 19;
                    break;
                }
                break;
            case -157773497:
                if (str.equals(RtcParameters.KEY_AUDIO_CALL_PROXIMITY)) {
                    c = 20;
                    break;
                }
                break;
            case -137287658:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_AUTOMATIC_GAIN_CONTROL)) {
                    c = 21;
                    break;
                }
                break;
            case -112917522:
                if (str.equals(RtcParameters.KEY_VIDEO_MAX_BITRATE)) {
                    c = 22;
                    break;
                }
                break;
            case -70718756:
                if (str.equals(RtcParameters.KEY_AUDIO_PLAYBACK_DEFAULT_SAMPLE_RATE)) {
                    c = 23;
                    break;
                }
                break;
            case 129341046:
                if (str.equals(RtcParameters.KEY_SERVER_AUDIO_RECORD)) {
                    c = 24;
                    break;
                }
                break;
            case 237668859:
                if (str.equals(RtcParameters.KEY_AUDIO_EXTERNAL_CAPTURE)) {
                    c = 25;
                    break;
                }
                break;
            case 337397166:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_FILTER)) {
                    c = JSONLexer.EOI;
                    break;
                }
                break;
            case 596167219:
                if (str.equals(RtcParameters.KEY_AUDIO_FRAME_FILTER)) {
                    c = 27;
                    break;
                }
                break;
            case 760558347:
                if (str.equals(RtcParameters.KEY_AUDIO_HIGH_QUALITY)) {
                    c = 28;
                    break;
                }
                break;
            case 955184389:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_URL)) {
                    c = 29;
                    break;
                }
                break;
            case 1103225839:
                if (str.equals(RtcParameters.KEY_SESSION_LIVE_COMPOSITING_LAYOUT)) {
                    c = 30;
                    break;
                }
                break;
            case 1285247325:
                if (str.equals(RtcParameters.KEY_AUDIO_REPORT_SPEAKER)) {
                    c = 31;
                    break;
                }
                break;
            case 1568541233:
                if (str.equals(RtcParameters.KEY_SERVER_VIDEO_RECORD)) {
                    c = ' ';
                    break;
                }
                break;
            case 1690177641:
                if (str.equals(RtcParameters.KEY_VIDEO_SUPPORTED_HW_DECODER)) {
                    c = '!';
                    break;
                }
                break;
            case 1823452394:
                if (str.equals(RtcParameters.KEY_AUDIO_EFFECT_ACOUSTIC_ECHO_CANCELER)) {
                    c = C1672.f6711;
                    break;
                }
                break;
            case 1873378274:
                if (str.equals(RtcParameters.KEY_VIDEO_DECODER_MODE)) {
                    c = '#';
                    break;
                }
                break;
            case 1882245767:
                if (str.equals(RtcParameters.KEY_AUDIO_SPECIAL_CODEC)) {
                    c = '$';
                    break;
                }
                break;
            case 2022851605:
                if (str.equals(RtcParameters.KEY_AUDIO_CAPTURE_DEFAULT_SAMPLE_RATE)) {
                    c = '%';
                    break;
                }
                break;
            case 2061813685:
                if (str.equals(RtcParameters.KEY_SERVER_RECORD_MODE)) {
                    c = C1672.f6726;
                    break;
                }
                break;
            case 2083380374:
                if (str.equals(RtcParameters.KEY_VIDEO_FRAME_RATE)) {
                    c = '\'';
                    break;
                }
                break;
            case 2099798764:
                if (str.equals(RtcParameters.KEY_SDK_ENABLE_GPL)) {
                    c = '(';
                    break;
                }
                break;
            case 2138662542:
                if (str.equals(RtcParameters.KEY_VIDEO_LOCAL_PREVIEW_MIRROR)) {
                    c = ')';
                    break;
                }
                break;
        }
        switch (c) {
            case 0:
                return Boolean.valueOf(this.aw);
            case 1:
                return Integer.valueOf(this.aG ? this.aF : 0);
            case 2:
                return Integer.valueOf(this.aF);
            case 3:
                return Boolean.valueOf(this.aE);
            case 4:
                return Boolean.valueOf(this.az);
            case 5:
                return Integer.valueOf(this.aQ);
            case 6:
                com.netease.nrtc.video.a.a e = this.n.e(0);
                return Integer.valueOf(this.n.m() ? com.netease.nrtc.video.a.e.a(e.a, e.b) : this.aA);
            case 7:
                return Integer.valueOf(this.aH);
            case '\b':
                com.netease.nrtc.video.a.a l = this.n.l();
                return Integer.valueOf(this.n.m() ? com.netease.nrtc.video.a.e.a(l.a, l.b) : this.aB);
            case '\t':
                return Boolean.valueOf(com.netease.nrtc.video.a.e.d());
            case '\n':
                if (this.y.get() == 3) {
                    return this.n.j() ? "media_codec_hardware" : "media_codec_software";
                }
                return l();
            case 11:
                return Boolean.valueOf(this.aD);
            case '\f':
                return Boolean.valueOf(this.aZ);
            case '\r':
                return o();
            case 14:
                return Boolean.valueOf(this.n.r());
            case 15:
                return Integer.valueOf(this.aR);
            case 16:
                return Integer.valueOf(this.aC);
            case 17:
                return Boolean.valueOf(y());
            case 18:
                return Boolean.valueOf(this.aP);
            case 19:
                return Integer.valueOf(this.n.p());
            case 20:
                return Boolean.valueOf(this.ay);
            case 21:
                return p();
            case 22:
                return Integer.valueOf(this.aS);
            case 23:
                return Integer.valueOf(AudioDeviceParameters.b());
            case 24:
                return Boolean.valueOf(this.au);
            case 25:
                return Boolean.valueOf(this.j.e());
            case 26:
                return Boolean.valueOf(this.n.o());
            case 27:
                return Boolean.valueOf(this.j.u());
            case 28:
                return Boolean.valueOf(this.aM);
            case 29:
                return this.aJ;
            case 30:
                return this.aL;
            case 31:
                return Boolean.valueOf(this.j.j());
            case ' ':
                return Boolean.valueOf(this.av);
            case '!':
                return Boolean.valueOf(com.netease.nrtc.video.a.e.e());
            case '\"':
                return n();
            case '#':
                if (this.y.get() == 3) {
                    if (this.aD) {
                        return m();
                    }
                    return this.n.i(W()) ? "media_codec_hardware" : "media_codec_software";
                }
                return m();
            case '$':
                return Integer.valueOf(this.aT);
            case '%':
                return Integer.valueOf(AudioDeviceParameters.a());
            case '&':
                return Integer.valueOf(this.ax);
            case '\'':
                return Integer.valueOf(this.n.m() ? this.n.e(0).c : this.aK);
            case '(':
                return Boolean.valueOf(com.netease.nrtc.engine.impl.a.g);
            case ')':
                return Boolean.valueOf(this.n.q());
            default:
                Trace.e("RtcEngineImpl", "get parameter [" + str.toUpperCase() + "] unsupported!");
                return null;
        }
    }

    public void x(final int i) {
        Trace.i("RtcEngineImpl", "onProtocolIncompatible->" + i);
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
        } else {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onProtocolIncompatible(i);
                }
            });
        }
    }

    private int e(long j, int i) {
        return this.g.c(j, i);
    }

    @Override
    public void b(final long j, final int i) {
        ThreadUtils.runOnThread(this.v, new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.a(i, j);
            }
        });
    }

    @Override
    public void b(final int i) {
        Trace.i("RtcEngineImpl", "onConnectionTypeChanged (" + i + C5923.C5925.f19790);
        this.am = i;
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onConnectionTypeChanged(i);
            }
        });
        if (this.d == null || i == 70) {
            return;
        }
        if (this.y.get() == 3) {
            this.g.a(i);
        }
        v();
    }

    private void j(long j) {
        Trace.i("RtcEngineImpl", "stopVoicePlayout ->" + j);
        if (this.d.userId != j) {
            if (j == -1) {
                for (Long l : this.e.keySet()) {
                    long longValue = l.longValue();
                    if (longValue != this.d.userId) {
                        this.j.g(longValue);
                    }
                }
            } else {
                this.j.g(j);
            }
        }
        Trace.i("RtcEngineImpl", "stopVoicePlayout done");
    }

    @Override
    public void b(final int i, final int i2) {
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioEffectPlayEvent(i, i2);
            }
        });
    }

    private void b(Handler handler, a aVar) {
        if (handler != null) {
            ThreadUtils.runOnThreadBlocking(handler, aVar);
        }
    }

    public void w(int i) {
        Trace.i("RtcEngineImpl", "onLiveEvent:" + i);
        IRtcEventHandler iRtcEventHandler = this.b;
        if (iRtcEventHandler != null) {
            iRtcEventHandler.onLiveEvent(i);
        }
    }

    @Override
    public void c(final long j) {
        Trace.i("RtcEngineImpl", "onFirstVideoFrameAvailable->" + j);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onFirstVideoFrameAvailable(j);
            }
        });
    }

    @Override
    public void c(final long j, final int i) {
        if (this.aE) {
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onVideoFpsReported(j, i);
                }
            });
        }
    }

    @Override
    public void c(final int i) {
        Trace.i("RtcEngineImpl", "onAudioMixingEvent->" + i);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioMixingEvent(e.l(i));
            }
        });
    }

    private static int c(int i, int i2) {
        int parseInt;
        String valueOf = String.valueOf(i);
        String valueOf2 = String.valueOf(i2);
        HashMap hashMap = new HashMap();
        int i3 = 0;
        for (int i4 = 0; i4 < valueOf.length(); i4++) {
            hashMap.put(Character.valueOf(valueOf.charAt(i4)), Integer.valueOf(255 - i4));
        }
        for (int i5 = 0; i5 < valueOf2.length(); i5++) {
            Character valueOf3 = Character.valueOf(valueOf2.charAt(i5));
            Integer num = (Integer) hashMap.get(valueOf3);
            hashMap.put(valueOf3, Integer.valueOf(num == null ? 255 - i5 : (num.intValue() + 255) - i5));
        }
        int i6 = -1;
        for (Character ch : hashMap.keySet()) {
            int intValue = ((Integer) hashMap.get(ch)).intValue();
            if (intValue > i3) {
                i6 = Integer.parseInt(Character.toString(ch.charValue()));
                i3 = intValue;
            }
            if (intValue == i3 && i6 > (parseInt = Integer.parseInt(Character.toString(ch.charValue())))) {
                i6 = parseInt;
            }
        }
        String valueOf4 = String.valueOf(i6);
        if (!valueOf.contains(valueOf4) || !valueOf2.contains(valueOf4)) {
            Trace.w("RtcEngineImpl", "codec confirm cannot find all suitable , codec1 : " + valueOf + " , codec2 : " + valueOf2 + " , select : " + valueOf4);
        }
        return i6;
    }

    public synchronized void f(final long j, final int i) {
        RtcStats rtcStats;
        Trace.i("RtcEngineImpl", "onUserLeave->" + j + " #" + i);
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        com.netease.nrtc.voice.b bVar = this.j;
        if (bVar != null) {
            bVar.a(j, (IRemoteAudioCallBack) null);
        }
        j(j);
        h(j);
        i(j);
        m(j);
        n(j);
        l(j);
        this.e.remove(Long.valueOf(j));
        this.f.remove(Long.valueOf(j));
        this.ad.remove(Long.valueOf(j));
        N();
        Trace.i("RtcEngineImpl", "user remained->" + this.e.size());
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            rtcStats = jVar.d(j);
        } else {
            rtcStats = new RtcStats();
            rtcStats.uid = j;
            rtcStats.duration = -1L;
            rtcStats.freezeSessionRate = -1;
        }
        final RtcStats rtcStats2 = rtcStats;
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onUserLeave(j, rtcStats2, i);
            }
        });
    }

    @Override
    public void d(final long j) {
        ThreadUtils.runOnThread(this.v, new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.q(j);
            }
        });
    }

    private void a(RtcConfig rtcConfig) throws IllegalArgumentException {
        com.netease.nrtc.utility.g.a(rtcConfig);
        this.d = rtcConfig;
        this.o.a(rtcConfig.limitVideoQuality);
        this.m.a(this.ay);
        this.n.a(rtcConfig.userId);
        this.n.b(this.az);
        q();
        if (l.a()) {
            com.netease.nrtc.engine.impl.a.g = com.netease.nrtc.engine.impl.a.g || rtcConfig.gpl;
        } else {
            com.netease.nrtc.engine.impl.a.g = rtcConfig.gpl;
        }
        c.a aVar = com.netease.nrtc.b.c.X;
        if (com.netease.nrtc.b.a.a(aVar)) {
            this.Y = com.netease.nrtc.b.a.a(aVar, this.Y);
        }
        Trace.i("RtcEngineImpl", "qos qosVideoInitBitrateMode -> " + this.Y);
        c.a aVar2 = com.netease.nrtc.b.c.Y;
        if (com.netease.nrtc.b.a.a(aVar2)) {
            this.Z = com.netease.nrtc.b.a.a(aVar2, 1) == 0;
        }
        Trace.i("RtcEngineImpl", "qos qosMusicQosRollback -> " + this.Z);
        c.a aVar3 = com.netease.nrtc.b.c.V;
        if (com.netease.nrtc.b.a.a(aVar3)) {
            this.V = com.netease.nrtc.b.a.a(aVar3, 3);
        }
        Trace.i("RtcEngineImpl", "qos qosTurnOffVideo -> " + this.V);
        c.a aVar4 = com.netease.nrtc.b.c.W;
        if (com.netease.nrtc.b.a.a(aVar4)) {
            this.W = com.netease.nrtc.b.a.a(aVar4, 3);
        }
        Trace.i("RtcEngineImpl", "qos qosMinKeepAudioMode -> " + this.W);
        if (com.netease.nrtc.engine.impl.a.h) {
            this.U = 1;
        }
        c.a aVar5 = com.netease.nrtc.b.c.U;
        if (com.netease.nrtc.b.a.a(aVar5)) {
            this.U = com.netease.nrtc.b.a.a(aVar5, 2);
        }
        Trace.i("RtcEngineImpl", "audio jitter type -> " + this.U);
        c.a aVar6 = com.netease.nrtc.b.c.ac;
        if (com.netease.nrtc.b.a.a(aVar6)) {
            this.X = com.netease.nrtc.b.a.a(aVar6, 2);
        }
        Trace.i("RtcEngineImpl", "arq mode -> " + this.X);
        c.a aVar7 = com.netease.nrtc.b.c.ad;
        if (com.netease.nrtc.b.a.a(aVar7)) {
            this.aa = com.netease.nrtc.b.a.a(aVar7, 1);
        }
        Trace.i("RtcEngineImpl", "bwe mode -> " + this.aa);
        com.netease.nrtc.engine.impl.a.e = rtcConfig.userId;
        com.netease.nrtc.engine.impl.a.f = rtcConfig.channel;
    }

    private void a(int i, int i2, int i3) {
        NEMediaEngine nEMediaEngine = this.g;
        if (nEMediaEngine != null) {
            nEMediaEngine.a(i, i2, i3);
        }
    }

    @Override
    public void a(final long j) {
        Trace.e("RtcEngineImpl", "onLowStorageSpaceWarning ->" + j);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onLowStorageSpaceWarning(j);
            }
        });
        if (j < 10485760) {
            this.h.a();
        }
    }

    @Override
    public void a(long j, final String str) {
        final long j2 = j == 0 ? this.d.userId : j;
        Trace.i("RtcEngineImpl", "onAVRecordingStart ->" + j);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAVRecordingStart(j2, str);
            }
        });
    }

    @Override
    public void a(final String str) {
        Trace.i("RtcEngineImpl", "onAudioRecordingStart");
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioRecordingStart(str);
            }
        });
    }

    @Override
    public boolean a(long j, long j2) {
        if (this.j.a(j, j2)) {
            if (this.r != 5 || this.n.a(j, j2)) {
                return true;
            }
            this.j.a(j, 0L);
            return false;
        }
        return false;
    }

    public void e(final LoginResInfo loginResInfo) {
        NEMediaEngine nEMediaEngine = this.g;
        boolean z = true;
        if (nEMediaEngine != null) {
            nEMediaEngine.a(loginResInfo.a() == 200);
        }
        boolean compareAndSet = this.B.compareAndSet(true, false);
        boolean compareAndSet2 = this.C.compareAndSet(true, false);
        this.J = (int) loginResInfo.a();
        if (StringUtils.isNotEmpty(loginResInfo.e())) {
            this.K = loginResInfo.e();
        }
        if (this.J != 200) {
            this.z.set(4);
            Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
        }
        com.netease.nrtc.monitor.j jVar = this.M;
        if (jVar != null) {
            int i = this.J;
            if (i == 101) {
                jVar.e();
            } else if (i == 200) {
                this.N.b();
                Trace.i("RtcEngineImpl", "onConnectedServer, signalElapsed->" + this.N.c() + ", connectElapsed->" + this.N.d());
            }
        }
        final int e = this.N.e();
        if (compareAndSet) {
            c(loginResInfo);
        }
        if (compareAndSet || compareAndSet2) {
            Trace.i("RtcEngineImpl", "onConnectedServer->" + loginResInfo.toString() + " , reconnected = " + compareAndSet2);
            if (this.y.get() != 3) {
                Trace.i("RtcEngineImpl", "status not running");
                return;
            }
            this.aM = (this.aM && loginResInfo.d() && this.j.c()) ? false : false;
            int i2 = this.J;
            if (i2 == 200) {
                this.E.set(false);
                this.D.set(0);
            } else if (i2 == 101 && this.E.get()) {
                Trace.i("RtcEngineImpl", "relogin from pending reconnect!");
                if (v()) {
                    Trace.i("RtcEngineImpl", "pending consumed, relogining!");
                    return;
                }
            }
            if (compareAndSet) {
                b(this.v, new a(this.b) {
                    @Override
                    public void a(IRtcEventHandler iRtcEventHandler) {
                        iRtcEventHandler.onJoinedChannel((int) loginResInfo.a(), loginResInfo.b(), loginResInfo.c(), e);
                    }
                });
                if (this.J == 101) {
                    O();
                }
            } else {
                int i3 = this.J;
                if (i3 == 101) {
                    if (this.D.get() < 2) {
                        Trace.i("RtcEngineImpl", "relogin timeout, try again!");
                        v();
                    } else {
                        a(this.v, new a(this.b) {
                            @Override
                            public void a(IRtcEventHandler iRtcEventHandler) {
                                iRtcEventHandler.onDisconnectServer(1);
                            }
                        });
                        if (this.d != null) {
                            com.netease.nrtc.c.a(new com.netease.nrtc.c.d.a(this.d.userId, "1"));
                        }
                        O();
                    }
                } else if (i3 != 200) {
                    b(this.v, new a(this.b) {
                        @Override
                        public void a(IRtcEventHandler iRtcEventHandler) {
                            iRtcEventHandler.onJoinedChannel((int) loginResInfo.a(), loginResInfo.b(), loginResInfo.c(), e);
                        }
                    });
                }
            }
            if (this.J == 200 && this.aD) {
                U();
            }
            if (this.J == 200 && !this.aD && compareAndSet2) {
                S();
            }
        }
    }

    public synchronized void b(ConnectInfo connectInfo) {
        Trace.i("RtcEngineImpl", "onConnected");
        Trace.i("RtcEngineImpl", connectInfo.toString());
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        boolean z = true;
        if (this.A.compareAndSet(false, true)) {
            a = (int) Math.min(connectInfo.d(), connectInfo.e());
            Trace.i("RtcEngineImpl", "my protocol version -> " + connectInfo.d());
            Trace.i("RtcEngineImpl", "remote protocol version -> " + connectInfo.e());
            j jVar = new j();
            jVar.a = this.d.userId;
            jVar.b = a;
            this.e.put(Long.valueOf(this.d.userId), jVar);
            com.netease.nrtc.monitor.j jVar2 = this.M;
            if (jVar2 != null) {
                jVar2.b(this.d.userId);
            }
            int h = com.netease.nrtc.voice.a.a.h(this.aD);
            if (this.aT != -1) {
                Trace.e("RtcEngineImpl", "has special audio codec = " + this.aT);
                h = this.aT;
            }
            int c = c((int) connectInfo.c(), h);
            this.s = c;
            if (!C3866.m17584(c)) {
                Trace.e("RtcEngineImpl", "confirm audio codec not supported(" + this.s + C5923.C5925.f19790);
                this.s = 4;
            }
            Trace.i("RtcEngineImpl", "audio codec for encoder = " + this.s);
            int b = (int) connectInfo.b();
            this.r = b;
            if (b != 5) {
                this.r = 5;
                Trace.e("RtcEngineImpl", "Only support H264, but got: " + this.r);
            }
            Trace.i("RtcEngineImpl", "video codec index -> " + this.r);
            Trace.i("RtcEngineImpl", "video other decode resolution index -> " + connectInfo.a());
            this.u = (int) connectInfo.a();
            Trace.i("RtcEngineImpl", "video encode resolution max = " + this.u);
            if (a < 24) {
                Trace.i("RtcEngineImpl", "disable audio high quality");
                this.aM = false;
            }
            if (a >= 39 && !this.aD) {
                Trace.i("RtcEngineImpl", "video use high profile!");
            }
            S();
            this.m.a(this.H ? 0 : 2, this.ay, this);
            com.netease.nrtc.voice.device.b.e eVar = this.m;
            if (this.H || !this.ay) {
                z = false;
            }
            eVar.a(z);
            com.netease.nrtc.utility.a.c.a().a(this.aD ? 0 : com.netease.nrtc.internal.a.b(connectInfo.f()));
            if (k()) {
                Trace.i("RtcEngineImpl", "role is audience");
            } else {
                if (!C()) {
                    a(this.v, new a(this.b) {
                        @Override
                        public void a(IRtcEventHandler iRtcEventHandler) {
                            iRtcEventHandler.onDeviceEvent(3002, "start voice send error");
                        }
                    });
                }
                F();
            }
            b(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    Trace.i("RtcEngineImpl", "notify onCallEstablished");
                    iRtcEventHandler.onCallEstablished();
                }
            });
            int size = this.ab.size();
            for (int i = 0; i < size; i++) {
                long keyAt = this.ab.keyAt(i);
                onPeopleJoined(keyAt, this.ab.get(keyAt));
            }
            this.ab.clear();
            com.netease.nrtc.video.a aVar = this.aq;
            if (aVar != null) {
                aVar.a();
            }
            this.an.prepare(this, this.aD, this.al, this.ao, this.ap);
        } else {
            S();
            Trace.i("RtcEngineImpl", "reConnecting");
        }
        this.z.set(2);
        Trace.d("Connect-Status-Test-Log", "status : " + this.z.get());
    }

    public synchronized void b(final long j, PeopleJoinInfo peopleJoinInfo) {
        Trace.i("RtcEngineImpl", "onUserJoin->" + j + ", " + peopleJoinInfo.toString());
        if (!this.A.get()) {
            this.ab.put(j, peopleJoinInfo);
            Trace.i("RtcEngineImpl", "pending user");
        } else if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
        } else {
            if (this.e.containsKey(Long.valueOf(j))) {
                this.n.d(j);
                this.n.g(j);
                this.n.b(j);
                this.j.g(j);
                this.j.b(j);
                this.j.e(j);
            } else {
                j jVar = new j();
                jVar.a = j;
                jVar.b = (int) peopleJoinInfo.a();
                jVar.c = peopleJoinInfo.b();
                jVar.d = peopleJoinInfo.c();
                jVar.e = SystemClock.elapsedRealtime();
                this.e.put(Long.valueOf(j), jVar);
                if (jVar.d == 0) {
                    this.f.put(Long.valueOf(j), jVar);
                    Trace.i("RtcEngineImpl", "user " + j + " is low energy!");
                }
            }
            com.netease.nrtc.monitor.j jVar2 = this.M;
            if (jVar2 != null) {
                jVar2.a(j);
            }
            g(j);
            k(j);
            N();
            a(this.v, new a(this.b) {
                @Override
                public void a(IRtcEventHandler iRtcEventHandler) {
                    iRtcEventHandler.onUserJoined(j);
                }
            });
        }
    }

    public void b(final long j, final int i, NetStatInfo netStatInfo) {
        Trace.i("RtcEngineImpl", "onNetQualityChange-> uid :" + j + ", stat: " + i);
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        final NetStats netStats = new NetStats();
        if (netStatInfo != null) {
            netStats.rtt = netStatInfo.a();
            netStats.audioLostRate = netStatInfo.b();
            netStats.videoLostRate = netStatInfo.c();
            netStatInfo.recycle();
        }
        com.netease.nrtc.profile.a.b().a(j, netStats.rtt, netStats.videoLostRate);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onNetworkQuality(j, i, netStats);
            }
        });
    }

    public void b(int i, int i2, float f, int i3) {
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        if (i >= 0) {
            s(i3).a = i;
            s(i3).b = i2;
        }
        if (this.n.f()) {
            this.n.a(i * 1000, i2, f, i3);
        }
    }

    public void b(String str, boolean z) {
        Trace.i("RtcEngineImpl", "onPublicIpChange:" + str + "@" + z);
        if (this.y.get() != 3) {
            Trace.i("RtcEngineImpl", "status not running");
            return;
        }
        if (this.d != null && !this.L.equals(str)) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.h.a(this.d.channel, str));
            this.L = str;
        }
        if (z || !this.K.equals(str)) {
            v();
        }
    }

    @Override
    public void a(byte[] bArr, int i, int i2, int i3, int i4, int i5) {
        if (this.g != null) {
            if (!this.an.onReceiveVideo(bArr, i, i2, i3)) {
                this.g.a(bArr, i, i2, i3, i4, i5);
            }
            com.netease.nrtc.monitor.j jVar = this.M;
            if (jVar != null) {
                jVar.h().a(i2, i);
            }
            com.netease.nrtc.video.a aVar = this.aq;
            if (aVar != null) {
                aVar.a(i2, i);
            }
        }
    }

    @Override
    public int a(long j, WrappedNativeAudioFrame wrappedNativeAudioFrame) {
        NEMediaEngine nEMediaEngine = this.g;
        return (nEMediaEngine == null || nEMediaEngine.a(wrappedNativeAudioFrame)) ? 0 : -1;
    }

    @Override
    public WrappedNativeAudioFrame a(long j, int i) {
        NEMediaEngine nEMediaEngine = this.g;
        if (nEMediaEngine != null) {
            WrappedNativeAudioFrame a2 = nEMediaEngine.a(j, i);
            if (a2 != null && a2.a() && com.netease.nrtc.c.a.a().a(j, 0) && this.d != null) {
                com.netease.nrtc.c.a(new com.netease.nrtc.c.l.a(this.d.channel, j, 0));
            }
            return a2;
        }
        Trace.e("RtcEngineImpl", "get audio err , mNEMediaEngine is null");
        return null;
    }

    @Override
    public void a(long j, final int i, final String str) {
        Trace.i("RtcEngineImpl", "onVideoDeviceEvent->" + j + "#" + i + "#" + str);
        if (i == 5) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.h, true));
        } else if (i == 4) {
            com.netease.nrtc.c.a(new com.netease.nrtc.c.g.a(com.netease.nrtc.c.g.b.h, false));
        } else if (i == 10 || i == 11) {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.ai);
        }
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onDeviceEvent(e.m(i), str);
            }
        });
    }

    public void a(int i, long j) {
        if (this.y.get() != 3 || this.g == null || this.an.requestRemoteKeyFrame(i)) {
            return;
        }
        this.g.b(j, i);
    }

    @Override
    public void a(final long j, final int i, final int i2, final int i3) {
        Trace.i("RtcEngineImpl", "onFrameResolutionChanged->" + j + "#" + i + "x" + i2 + ":" + i3);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onVideoFrameResolutionChanged(j, i, i2, i3);
            }
        });
    }

    @Override
    public void a(final long j, final boolean z, final String str) {
        Trace.i("RtcEngineImpl", "onSnapshot->" + j + "#" + z);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onTakeSnapshotResult(j, z, str);
            }
        });
    }

    @Override
    public void a(final boolean z) {
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onVideoCapturerStarted(z);
            }
        });
    }

    @Override
    public void a() {
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onVideoCapturerStopped();
            }
        });
    }

    @Override
    public void a(final int i) {
        Trace.i("RtcEngineImpl", "onVideoSenderCodecChanged->" + i);
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public final void run() {
                com.netease.nrtc.engine.impl.e.this.v(i);
            }
        });
    }

    @Override
    public boolean a(VideoFrame videoFrame, VideoFrame[] videoFrameArr, VideoFilterParameter videoFilterParameter) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.m);
        IRtcEventHandler iRtcEventHandler = this.b;
        if (iRtcEventHandler != null) {
            return iRtcEventHandler.onVideoFrameFilter(videoFrame, videoFrameArr, videoFilterParameter);
        }
        return false;
    }

    @Override
    public boolean a(com.netease.nrtc.sdk.common.VideoFrame videoFrame, boolean z) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.m);
        IRtcEventHandler iRtcEventHandler = this.b;
        if (iRtcEventHandler != null) {
            return iRtcEventHandler.onVideoFrameFilter(videoFrame, z);
        }
        return false;
    }

    @Override
    public void a(boolean z, boolean z2, boolean z3, int i) {
        if (this.y.get() == 3 && z3 && !com.netease.nrtc.utility.a.a(i)) {
            Size c = com.netease.nrtc.utility.a.c.a().c(i);
            int a2 = this.g.a(new PublishVideoProfile(i, c.getWidth(), c.getHeight(), this.aK), com.netease.nrtc.utility.c.c.a(com.netease.nrtc.engine.impl.a.b));
            com.netease.nrtc.utility.a.c.a().b(a2 * 1000, i);
            Trace.i("RtcEngineImpl", "onChange : video bitrate : " + a2 + " , type:" + i + " , w : " + c.getWidth() + " , h : " + c.getHeight() + " , r : " + this.aK);
        }
    }

    @Override
    public void a(final int i, final String str) {
        Trace.i("RtcEngineImpl", "onAudioDeviceEvent->" + i + "#" + str);
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onDeviceEvent(e.k(i), str);
            }
        });
    }

    @Override
    public boolean a(AudioFrame audioFrame) {
        com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.l);
        IRtcEventHandler iRtcEventHandler = this.b;
        return iRtcEventHandler == null || iRtcEventHandler.onAudioFrameFilter(audioFrame);
    }

    @Override
    public void a(final int i, long[] jArr, int[] iArr, final int i2) {
        if (jArr.length < i || iArr.length < i) {
            return;
        }
        long[] jArr2 = this.k;
        if (jArr2 == null || this.l == null || jArr2.length < i) {
            this.k = new long[i];
            this.l = new int[i];
        }
        for (int i3 = 0; i3 < i; i3++) {
            long j = jArr[i3];
            int i4 = iArr[i3];
            if (j == 0) {
                j = this.d.userId;
            }
            this.k[i3] = j;
            this.l[i3] = i4;
        }
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onReportSpeaker(i, e.this.k, e.this.l, i2);
            }
        });
    }

    @Override
    public void a(AudioMixing audioMixing) {
        final long currentMs = audioMixing == null ? -1L : audioMixing.getCurrentMs();
        final long durationMs = audioMixing != null ? audioMixing.getDurationMs() : -1L;
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioMixingProgressUpdated(currentMs, durationMs);
            }
        });
    }

    @Override
    public void a(final int i, final int i2) {
        a(this.v, new a(this.b) {
            @Override
            public void a(IRtcEventHandler iRtcEventHandler) {
                iRtcEventHandler.onAudioEffectPreload(i, i2);
            }
        });
    }

    @Override
    public void a(int i, int i2, Set<Integer> set, boolean z) {
        b(i, i2, set, z);
    }

    public void a(Handler handler, a aVar) {
        if (handler != null) {
            ThreadUtils.runOnThread(handler, aVar);
        }
    }

    private static void a(Pair pair) {
        String valueOf = String.valueOf(pair.first);
        String valueOf2 = String.valueOf(pair.second);
        Trace.i("RtcEngineImpl", "external requesting feature, key:" + valueOf + ", ext:" + valueOf2);
        valueOf.hashCode();
        if (valueOf.equals(RtcParameters.FEATURE_STATISTICS_CALL_CONTROL)) {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.d);
        } else if (!valueOf.equals(RtcParameters.FEATURE_STATISTICS_KEEP_CALLING)) {
            Trace.w("RtcEngineImpl", "Unknown requesting feature!");
        } else {
            com.netease.nrtc.monitor.d.a(com.netease.nrtc.monitor.d.Z);
        }
    }

    private void a(boolean z, long j, boolean z2, int[] iArr, boolean z3, int i) {
        b bVar = this.ad.get(Long.valueOf(j));
        if (bVar == null && z) {
            bVar = new b(j);
            this.ad.put(Long.valueOf(j), bVar);
        }
        if (bVar == null) {
            return;
        }
        if (z2) {
            bVar.a(iArr);
        }
        if (z3) {
            bVar.a(i);
        }
    }

    private int a(int[] iArr) {
        if (iArr == null || iArr.length == 0) {
            return -1;
        }
        int i = iArr[0];
        for (int i2 : iArr) {
            if (i2 == 0) {
                return i2;
            }
            if (i > i2) {
                i = i2;
            }
        }
        return i;
    }
}