RTCEngineImpl.smali

.class public Lcn/rongcloud/rtc/engine/RTCEngineImpl;
.super Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;
.source "RTCEngineImpl.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcn/rongcloud/rtc/engine/RTCEngineImpl$RTCEngineHolder;
    }
.end annotation


# static fields
.field private static final DEBUG:Z = false

.field private static final MAX_ROOM_ID_LENGTH:I = 0x40

.field private static final ROOM_ID_REGEX:Ljava/lang/String; = "^[A-Za-z0-9+=\\-_]+$"

.field private static final STREAM_TAG_REGEX:Ljava/lang/String; = "^[A-Za-z0-9]+"

.field private static final TAG:Ljava/lang/String; = "RTCEngineImpl"

.field private static final WAIT_INIT_TIMEOUT:J = 0x2710L


# instance fields
.field private engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

.field private mAppKey:Ljava/lang/String;

.field mCallbackHandler:Landroid/os/Handler;

.field mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

.field mContext:Landroid/content/Context;

.field mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;

.field mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;

.field mDisConnectingState:Lcn/rongcloud/rtc/engine/DisconnectingState;

.field mEglBase:Lcn/rongcloud/rtc/core/EglBase;

.field mEglContext:Lcn/rongcloud/rtc/core/EglBase$Context;

.field mEnableTinyStream:Z

.field mIdleState:Lcn/rongcloud/rtc/engine/IdleState;

.field mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

.field private mNetState:Lcn/rongcloud/rtc/utils/NetState;

.field mObserverState:Lcn/rongcloud/rtc/engine/ObserverState;

.field mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;

.field mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;

.field mToken:Ljava/lang/String;

.field private mUIHandler:Landroid/os/Handler;

.field mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

.field mUserId:Ljava/lang/String;

.field public version2UserIDs:Ljava/util/concurrent/ConcurrentHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/ConcurrentHashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method private constructor <init>()V
    .registers 3

    .line 2
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;-><init>()V

    .line 3
    new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;

    invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->version2UserIDs:Ljava/util/concurrent/ConcurrentHashMap;

    const/4 v0, 0x0

    .line 4
    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mNetState:Lcn/rongcloud/rtc/utils/NetState;

    const/4 v0, 0x1

    .line 5
    iput-boolean v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEnableTinyStream:Z

    .line 6
    invoke-static {}, Lio/rong/imlib/IMLibExtensionModuleManager;->getInstance()Lio/rong/imlib/IMLibExtensionModuleManager;

    move-result-object v0

    const-class v1, Lcn/rongcloud/rtc/RongRTCExtensionModule;

    invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;

    move-result-object v1

    invoke-virtual {v0, v1}, Lio/rong/imlib/IMLibExtensionModuleManager;->registerModulesByName(Ljava/util/List;)V

    .line 7
    new-instance v0, Landroid/os/Handler;

    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUIHandler:Landroid/os/Handler;

    .line 8
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->initCallBackHandler()V

    .line 9
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->initStates()V

    .line 10
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->start()V

    return-void
.end method

.method synthetic constructor <init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl$1;)V
    .registers 2

    .line 1
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;-><init>()V

    return-void
.end method

.method private AttributeListtoString(Ljava/util/List;)Ljava/lang/String;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;)",
            "Ljava/lang/String;"
        }
    .end annotation

    if-eqz p1, :cond_26

    .line 1
    invoke-interface {p1}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_26

    .line 2
    new-instance v0, Lorg/json/JSONArray;

    invoke-direct {v0}, Lorg/json/JSONArray;-><init>()V

    .line 3
    invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p1

    :goto_11
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_21

    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    .line 4
    invoke-virtual {v0, v1}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;

    goto :goto_11

    .line 5
    :cond_21
    invoke-virtual {v0}, Lorg/json/JSONArray;->toString()Ljava/lang/String;

    move-result-object p1

    goto :goto_28

    :cond_26
    const-string p1, ""

    :goto_28
    return-object p1
.end method

.method private checkStreams(Ljava/util/List;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)Z
    .registers 8

    .line 1
    invoke-static {p1}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->isEmpty(Ljava/util/Collection;)Z

    move-result p1

    const/4 v0, 0x0

    if-eqz p1, :cond_25

    .line 2
    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, p1, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    .line 3
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz p1, :cond_15

    invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;

    move-result-object p1

    goto :goto_17

    :cond_15
    const-string p1, "null"

    :goto_17
    const/4 p3, 0x2

    .line 4
    sget-object v1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    const/4 v2, 0x1

    new-array v3, v2, [Ljava/lang/Object;

    aput-object p1, v3, v0

    const-string p1, "roomId"

    invoke-static {p2, p3, v1, p1, v3}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;ILcn/rongcloud/rtc/base/RTCErrorCode;Ljava/lang/String;[Ljava/lang/Object;)V

    return v2

    :cond_25
    return v0
.end method

.method private getAudioManager()Landroid/media/AudioManager;
    .registers 3

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;

    if-nez v0, :cond_6

    const/4 v0, 0x0

    return-object v0

    :cond_6
    const-string v1, "audio"

    .line 2
    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/media/AudioManager;

    return-object v0
.end method

.method public static getInstance()Lcn/rongcloud/rtc/engine/RTCEngineImpl;
    .registers 1

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl$RTCEngineHolder;->instance:Lcn/rongcloud/rtc/engine/RTCEngineImpl;

    return-object v0
.end method

.method private initCallBackHandler()V
    .registers 3

    .line 1
    new-instance v0, Landroid/os/HandlerThread;

    const-string v1, "RTCCallback"

    invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V

    .line 2
    invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V

    .line 3
    new-instance v1, Landroid/os/Handler;

    invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object v0

    invoke-direct {v1, v0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mCallbackHandler:Landroid/os/Handler;

    return-void
.end method

.method private initStates()V
    .registers 2

    .line 1
    new-instance v0, Lcn/rongcloud/rtc/engine/UnInitState;

    invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/UnInitState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    .line 2
    new-instance v0, Lcn/rongcloud/rtc/engine/IdleState;

    invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/IdleState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mIdleState:Lcn/rongcloud/rtc/engine/IdleState;

    .line 3
    new-instance v0, Lcn/rongcloud/rtc/engine/ObserverState;

    invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/ObserverState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mObserverState:Lcn/rongcloud/rtc/engine/ObserverState;

    .line 4
    new-instance v0, Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/InRoomState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    .line 5
    new-instance v0, Lcn/rongcloud/rtc/engine/DisconnectingState;

    invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/DisconnectingState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDisConnectingState:Lcn/rongcloud/rtc/engine/DisconnectingState;

    .line 6
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->addState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    .line 7
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mIdleState:Lcn/rongcloud/rtc/engine/IdleState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->addState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    .line 8
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mObserverState:Lcn/rongcloud/rtc/engine/ObserverState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->addState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    .line 9
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->addState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    .line 10
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDisConnectingState:Lcn/rongcloud/rtc/engine/DisconnectingState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->addState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    .line 11
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->setInitialState(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V

    return-void
.end method

.method private internalRelease()V
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    if-eqz v0, :cond_7

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;->release()V

    :cond_7
    const/4 v0, 0x0

    .line 3
    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    return-void
.end method


# virtual methods
.method public cancelRequestJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 12

    .line 1
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    invoke-static {p1, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    const/4 v1, 0x2

    const/4 v2, 0x1

    const/4 v3, 0x3

    const/4 v4, 0x0

    if-eqz v0, :cond_2d

    if-eqz p5, :cond_15

    .line 2
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p5, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 3
    :cond_15
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->CANCELREQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p5, v3, [Ljava/lang/Object;

    aput-object p1, p5, v4

    aput-object p2, p5, v2

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v1

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 4
    :cond_2d
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->isInRoom()Z

    move-result v0

    if-nez v0, :cond_52

    if-eqz p5, :cond_3a

    .line 5
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p5, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 6
    :cond_3a
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->CANCELREQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p5, v3, [Ljava/lang/Object;

    aput-object p1, p5, v4

    aput-object p2, p5, v2

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v1

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 7
    :cond_52
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

    move-result-object v0

    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getInviteMessageElement()Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement;

    move-result-object v0

    invoke-virtual {v0, p2}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement;->get(Ljava/lang/String;)Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;

    move-result-object v0

    if-eqz v0, :cond_67

    .line 8
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;->getInviteSessionId()Ljava/lang/String;

    move-result-object v0

    goto :goto_69

    :cond_67
    const-string v0, ""

    .line 9
    :goto_69
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v5

    if-eqz v5, :cond_8e

    if-eqz p5, :cond_76

    .line 10
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->CANCELLED_INVITATION_DOES_NOT_EXIST:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p5, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 11
    :cond_76
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->CANCELREQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p5, v3, [Ljava/lang/Object;

    aput-object p1, p5, v4

    aput-object p2, p5, v2

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->CANCELLED_INVITATION_DOES_NOT_EXIST:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v1

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    :cond_8e
    const/16 p4, 0x81a

    const/4 v5, 0x5

    .line 12
    new-array v5, v5, [Ljava/lang/Object;

    aput-object p1, v5, v4

    aput-object p2, v5, v2

    aput-object v0, v5, v1

    aput-object p3, v5, v3

    const/4 p1, 0x4

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p2, p5, v4}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Z)V

    aput-object p2, v5, p1

    invoke-virtual {p0, p4, v5}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public changeVideoSize()V
    .registers 3

    const/4 v0, 0x0

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/16 v1, 0xbea

    invoke-virtual {p0, v1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public checkIsOnEngineThread()Z
    .registers 4

    .line 1
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v0

    .line 2
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->getHandler()Landroid/os/Handler;

    move-result-object v1

    invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-virtual {v1}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;

    move-result-object v1

    if-eq v0, v1, :cond_33

    .line 3
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Current Thread is "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/Thread;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v0, ", Not on Engine thread!"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "RTCEngineImpl"

    .line 4
    invoke-static {v1, v0}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v0, 0x0

    return v0

    :cond_33
    const/4 v0, 0x1

    return v0
.end method

.method public createFileVideoOutputStream(Ljava/lang/String;ZZLjava/lang/String;Lcn/rongcloud/rtc/api/stream/RCRTCVideoStreamConfig;)Lcn/rongcloud/rtc/api/stream/RCRTCFileVideoOutputStream;
    .registers 16

    .line 1
    invoke-static {p4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_43

    const-string v0, "^[A-Za-z0-9]+"

    invoke-virtual {p4, v0}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_43

    const-string v0, "RongCloudRTC"

    invoke-virtual {v0, p4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_43

    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_43

    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;

    if-eqz v0, :cond_43

    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_43

    iget-object v8, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    if-eqz v8, :cond_43

    iget-object v9, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;

    if-nez v9, :cond_31

    goto :goto_43

    .line 2
    :cond_31
    new-instance v0, Lcn/rongcloud/rtc/center/stream/RCFileVideoOutStreamImpl;

    iget-object v2, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;

    iget-object v7, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    move-object v1, v0

    move-object v3, p1

    move v4, p2

    move v5, p3

    move-object v6, p4

    invoke-direct/range {v1 .. v9}, Lcn/rongcloud/rtc/center/stream/RCFileVideoOutStreamImpl;-><init>(Landroid/content/Context;Ljava/lang/String;ZZLjava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;)V

    .line 3
    invoke-virtual {v0, p5}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->setVideoConfig(Lcn/rongcloud/rtc/api/stream/RCRTCVideoStreamConfig;)V

    return-object v0

    :cond_43
    :goto_43
    const-string p1, "RTCEngineImpl"

    const-string p2, "stream tag is illegal, it must be : [A-Za-z0-9]"

    .line 4
    invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    const/4 p1, 0x0

    return-object p1
.end method

.method public createVideoStream(Ljava/lang/String;Lcn/rongcloud/rtc/api/stream/RCRTCVideoStreamConfig;)Lcn/rongcloud/rtc/api/stream/RCRTCVideoOutputStream;
    .registers 5

    .line 1
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_2a

    const-string v0, "^[A-Za-z0-9]+"

    invoke-virtual {p1, v0}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_2a

    const-string v0, "RongCloudRTC"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_2a

    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_1f

    goto :goto_2a

    .line 2
    :cond_1f
    new-instance v0, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    invoke-direct {v0, p1, v1}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 3
    invoke-virtual {v0, p2}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->setVideoConfig(Lcn/rongcloud/rtc/api/stream/RCRTCVideoStreamConfig;)V

    return-object v0

    :cond_2a
    :goto_2a
    const-string p1, "RTCEngineImpl"

    const-string p2, "stream tag is illegal, it must be : [A-Za-z0-9]"

    .line 4
    invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    const/4 p1, 0x0

    return-object p1
.end method

.method public deleteAttributes(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/util/List;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 13
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/base/RCAttributeType;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Lio/rong/imlib/model/MessageContent;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/base/RCAttributeType;->ROOM:Lcn/rongcloud/rtc/base/RCAttributeType;

    if-ne p2, v0, :cond_7

    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->DELETEROOMATTRIBUTE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    goto :goto_9

    :cond_7
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->DELETEATTRIBUTE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    :goto_9
    const/4 v1, 0x3

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    invoke-direct {p0, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->AttributeListtoString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v4

    const/4 v5, 0x1

    aput-object v4, v2, v5

    if-eqz p4, :cond_22

    new-instance v4, Ljava/lang/String;

    invoke-virtual {p4}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v6

    invoke-direct {v4, v6}, Ljava/lang/String;-><init>([B)V

    goto :goto_24

    :cond_22
    const-string v4, ""

    :goto_24
    const/4 v6, 0x2

    aput-object v4, v2, v6

    const-string v4, "roomId|keys|content"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v2, 0xce8

    const/4 v4, 0x5

    .line 3
    new-array v4, v4, [Ljava/lang/Object;

    aput-object p2, v4, v3

    aput-object p3, v4, v5

    aput-object p4, v4, v6

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p2, p5, v0, p1}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p2, v4, v1

    const/4 p2, 0x4

    aput-object p1, v4, p2

    invoke-virtual {p0, v2, v4}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public deleteUserAttributes(Ljava/util/List;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Lio/rong/imlib/model/MessageContent;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETATTRIBUTEVALUE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x3

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-direct {p0, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->AttributeListtoString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    if-eqz p2, :cond_1f

    new-instance v3, Ljava/lang/String;

    invoke-virtual {p2}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v6

    invoke-direct {v3, v6}, Ljava/lang/String;-><init>([B)V

    goto :goto_21

    :cond_1f
    const-string v3, ""

    :goto_21
    const/4 v6, 0x2

    aput-object v3, v2, v6

    const-string v3, "roomId|keys|content"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v2, 0xce8

    const/4 v3, 0x5

    .line 3
    new-array v3, v3, [Ljava/lang/Object;

    sget-object v7, Lcn/rongcloud/rtc/base/RCAttributeType;->USER:Lcn/rongcloud/rtc/base/RCAttributeType;

    aput-object v7, v3, v4

    aput-object p1, v3, v5

    aput-object p2, v3, v6

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p2

    invoke-direct {p1, p3, v0, p2}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v3, v1

    const/4 p1, 0x4

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p2

    aput-object p2, v3, p1

    invoke-virtual {p0, v2, v3}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public enableSpeaker(Z)V
    .registers 7

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->USESPEAKER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v2, v1, [Ljava/lang/Object;

    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    const-string/jumbo v3, "useSpeaker "

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appStatus(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getAudioManager()Landroid/media/AudioManager;

    move-result-object v0

    if-eqz v0, :cond_1c

    .line 3
    invoke-virtual {v0, p1}, Landroid/media/AudioManager;->setSpeakerphoneOn(Z)V

    goto :goto_31

    .line 4
    :cond_1c
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->USESPEAKER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v0, 0x2

    new-array v0, v0, [Ljava/lang/Object;

    const/4 v2, -0x1

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    aput-object v2, v0, v4

    const-string v2, "AudioManager is Null"

    aput-object v2, v0, v1

    const-string v1, "code|desc"

    invoke-static {p1, v1, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    :goto_31
    return-void
.end method

.method public engineError(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
    .registers 3

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    if-eqz v0, :cond_7

    .line 2
    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;->onError(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    :cond_7
    return-void
.end method

.method public getAppKey()Ljava/lang/String;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mAppKey:Ljava/lang/String;

    return-object v0
.end method

.method public getAttributes(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/base/RCAttributeType;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;>;)V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/base/RCAttributeType;->ROOM:Lcn/rongcloud/rtc/base/RCAttributeType;

    if-ne p2, v0, :cond_7

    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->GETROOMATTRIBUTE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    goto :goto_9

    :cond_7
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->GETATTRIBUTE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    :goto_9
    const/4 v1, 0x2

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    invoke-direct {p0, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->AttributeListtoString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v4

    const/4 v5, 0x1

    aput-object v4, v2, v5

    const-string v4, "roomId|keys"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v2, 0xce9

    const/4 v4, 0x4

    .line 3
    new-array v4, v4, [Ljava/lang/Object;

    aput-object p2, v4, v3

    aput-object p3, v4, v5

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;

    invoke-direct {p2, p4, v0, p1}, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p2, v4, v1

    const/4 p2, 0x3

    aput-object p1, v4, p2

    invoke-virtual {p0, v2, v4}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public getAudioEffectManager()Lcn/rongcloud/rtc/api/IAudioEffectManager;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;

    if-eqz v0, :cond_9

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;->getAudioEffectManager()Lcn/rongcloud/rtc/api/IAudioEffectManager;

    move-result-object v0

    return-object v0

    :cond_9
    const/4 v0, 0x0

    return-object v0
.end method

.method public getAudioSampleRate()I
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    if-eqz v0, :cond_9

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->getAudioSampleRate()I

    move-result v0

    return v0

    .line 3
    :cond_9
    invoke-static {}, Lcn/rongcloud/rtc/center/config/RCServerConfig;->getAudioSampleRate()I

    move-result v0

    return v0
.end method

.method public declared-synchronized getClientId()Ljava/lang/String;
    .registers 4

    monitor-enter p0

    .line 1
    :try_start_1
    invoke-static {}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->getInstance()Lcn/rongcloud/rtc/utils/RongRTCSessionManager;

    move-result-object v0

    const-string v1, "RongRTC_uuid"

    invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 2
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_1e

    .line 3
    invoke-static {}, Lcn/rongcloud/rtc/utils/UUID22;->getUUID22()Ljava/lang/String;

    move-result-object v0

    .line 4
    invoke-static {}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->getInstance()Lcn/rongcloud/rtc/utils/RongRTCSessionManager;

    move-result-object v1

    const-string v2, "RongRTC_uuid"

    invoke-virtual {v1, v2, v0}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->put(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    :try_end_1e
    .catchall {:try_start_1 .. :try_end_1e} :catchall_20

    .line 5
    :cond_1e
    monitor-exit p0

    return-object v0

    :catchall_20
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public getContext()Landroid/content/Context;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;

    return-object v0
.end method

.method public getDefaultAudioStream()Lcn/rongcloud/rtc/api/stream/RCRTCMicOutputStream;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;

    return-object v0
.end method

.method public getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;

    return-object v0
.end method

.method public declared-synchronized getEglBaseContext()Lcn/rongcloud/rtc/core/EglBase$Context;
    .registers 2

    monitor-enter p0

    .line 1
    :try_start_1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglContext:Lcn/rongcloud/rtc/core/EglBase$Context;

    if-nez v0, :cond_13

    .line 2
    invoke-static {}, Lcn/rongcloud/rtc/core/EglBase;->create()Lcn/rongcloud/rtc/core/EglBase;

    move-result-object v0

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglBase:Lcn/rongcloud/rtc/core/EglBase;

    .line 3
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglBase:Lcn/rongcloud/rtc/core/EglBase;

    invoke-virtual {v0}, Lcn/rongcloud/rtc/core/EglBase;->getEglBaseContext()Lcn/rongcloud/rtc/core/EglBase$Context;

    move-result-object v0

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglContext:Lcn/rongcloud/rtc/core/EglBase$Context;

    .line 4
    :cond_13
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglContext:Lcn/rongcloud/rtc/core/EglBase$Context;
    :try_end_15
    .catchall {:try_start_1 .. :try_end_15} :catchall_17

    monitor-exit p0

    return-object v0

    :catchall_17
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public getRTCConfig()Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    return-object v0
.end method

.method public getRoom()Lcn/rongcloud/rtc/api/RCRTCRoom;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;

    return-object v0
.end method

.method protected getRoomId()Ljava/lang/String;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v0, :cond_9

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    return-object v0

    :cond_9
    const-string v0, ""

    return-object v0
.end method

.method public getUserAttributes(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;>;)V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETATTRIBUTEVALUE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-direct {p0, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->AttributeListtoString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "roomId|keys"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/4 v2, 0x4

    .line 3
    new-array v2, v2, [Ljava/lang/Object;

    sget-object v3, Lcn/rongcloud/rtc/base/RCAttributeType;->USER:Lcn/rongcloud/rtc/base/RCAttributeType;

    aput-object v3, v2, v4

    aput-object p1, v2, v5

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    invoke-direct {p1, p2, v0, v3}, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v2, v1

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p1

    const/4 p2, 0x3

    aput-object p1, v2, p2

    const/16 p1, 0xce9

    invoke-virtual {p0, p1, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public getUserId()Ljava/lang/String;
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    return-object v0
.end method

.method public getVersion()Ljava/lang/String;
    .registers 2

    const-string v0, "4.1.0"

    return-object v0
.end method

.method public init(Landroid/content/Context;Lcn/rongcloud/rtc/api/RCRTCConfig;)V
    .registers 12

    const-string v0, "code|desc"

    .line 1
    invoke-static {}, Ljava/lang/System;->nanoTime()J

    move-result-wide v1

    .line 2
    invoke-static {p1}, Lio/rong/common/SystemUtils;->getCurrentProcessName(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v3

    .line 3
    invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v4

    .line 4
    sget-object v5, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RTCINIT:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v6, 0x2

    new-array v7, v6, [Ljava/lang/Object;

    const/4 v8, 0x0

    aput-object v3, v7, v8

    const/4 v3, 0x1

    aput-object v4, v7, v3

    const-string v4, "currentProcess|mainProcess"

    invoke-static {v5, v4, v7}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 5
    invoke-static {}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->getInstance()Lcn/rongcloud/rtc/utils/RongRTCSessionManager;

    move-result-object v4

    invoke-virtual {v4, p1}, Lcn/rongcloud/rtc/utils/RongRTCSessionManager;->init(Landroid/content/Context;)V

    .line 6
    invoke-static {}, Lcn/rongcloud/rtc/sniffer/SnifferManager;->getInstance()Lcn/rongcloud/rtc/sniffer/SnifferManager;

    move-result-object v4

    invoke-virtual {v4}, Lcn/rongcloud/rtc/sniffer/SnifferManager;->init()V

    .line 7
    move-object v4, p2

    check-cast v4, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    invoke-virtual {v4}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->updateServerConfig()V

    .line 8
    new-array v4, v6, [Ljava/lang/Object;

    aput-object p1, v4, v8

    aput-object p2, v4, v3

    const/16 p1, 0x3e8

    invoke-virtual {p0, p1, v4}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    .line 9
    :try_start_3d
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    const-wide/16 v4, 0x2710

    invoke-virtual {p1, v4, v5}, Lcn/rongcloud/rtc/engine/UnInitState;->waitIniComplete(J)Z

    move-result p1

    .line 10
    invoke-static {}, Ljava/lang/System;->nanoTime()J

    move-result-wide v4

    sub-long/2addr v4, v1

    long-to-float p2, v4

    const/high16 v1, 0x3f800000    # 1.0f

    mul-float p2, p2, v1

    const v1, 0x49742400    # 1000000.0f

    div-float/2addr p2, v1

    if-eqz p1, :cond_66

    .line 11
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RTCINIT:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const-string/jumbo v1, "useTime"

    new-array v2, v3, [Ljava/lang/Object;

    invoke-static {p2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object p2

    aput-object p2, v2, v8

    invoke-static {p1, v1, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appRes(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_b4

    .line 12
    :cond_66
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RTCINIT:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v1, v6, [Ljava/lang/Object;

    sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RTC_INIT_TIMEOUT:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result v2

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    aput-object v2, v1, v8

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "init RTCLib Timeout, Time: "

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string p2, "ms"

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p2

    aput-object p2, v1, v3

    invoke-static {p1, v0, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
    :try_end_91
    .catch Ljava/lang/InterruptedException; {:try_start_3d .. :try_end_91} :catch_92

    goto :goto_b4

    :catch_92
    move-exception p1

    .line 13
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RTCINIT:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v1, v6, [Ljava/lang/Object;

    sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->UnknownError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result v2

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    aput-object v2, v1, v8

    const-string v2, "init RTCLib InterruptedException"

    aput-object v2, v1, v3

    invoke-static {p2, v0, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 14
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object p2

    invoke-virtual {p2}, Ljava/lang/Thread;->interrupt()V

    .line 15
    invoke-virtual {p1}, Ljava/lang/InterruptedException;->printStackTrace()V

    :goto_b4
    return-void
.end method

.method public isInRoom()Z
    .registers 3

    .line 1
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->getCurrentState()Lcn/rongcloud/rtc/engine/AbstractBaseState;

    move-result-object v0

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    if-ne v0, v1, :cond_a

    const/4 v0, 0x1

    goto :goto_b

    :cond_a
    const/4 v0, 0x0

    :goto_b
    return v0
.end method

.method public isMicrophoneEnabled()Z
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    if-eqz v0, :cond_9

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isMicrophoneEnable()Z

    move-result v0

    return v0

    :cond_9
    const/4 v0, 0x0

    return v0
.end method

.method public isStereo()Z
    .registers 2

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mConfig:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;

    if-eqz v0, :cond_9

    .line 2
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isStereo()Z

    move-result v0

    return v0

    .line 3
    :cond_9
    invoke-static {}, Lcn/rongcloud/rtc/center/config/RCServerConfig;->isStereo()Z

    move-result v0

    return v0
.end method

.method public joinOtherRoom(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Lcn/rongcloud/rtc/api/RCRTCOtherRoom;",
            ">;)V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    const-string v4, "otherRoomId"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    const-string v2, "otherRoomId|code"

    const/4 v4, 0x2

    if-eqz v0, :cond_33

    if-eqz p2, :cond_1d

    .line 3
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 4
    :cond_1d
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v4, [Ljava/lang/Object;

    aput-object p1, v0, v3

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p2, v2, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 5
    :cond_33
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->isInRoom()Z

    move-result v0

    if-nez v0, :cond_56

    if-eqz p2, :cond_40

    .line 6
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 7
    :cond_40
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v4, [Ljava/lang/Object;

    aput-object p1, v0, v3

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p2, v2, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 8
    :cond_56
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0, p1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_7d

    if-eqz p2, :cond_67

    .line 9
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 10
    :cond_67
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v4, [Ljava/lang/Object;

    aput-object p1, v0, v3

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p2, v2, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    :cond_7d
    const/16 v0, 0x816

    .line 11
    new-array v2, v4, [Ljava/lang/Object;

    aput-object p1, v2, v3

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;

    invoke-direct {p1, p2, v3}, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Z)V

    aput-object p1, v2, v1

    invoke-virtual {p0, v0, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public joinRoom(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Lcn/rongcloud/rtc/api/RCRTCRoom;",
            ">;)V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/base/RCRTCRoomType;->MEETING:Lcn/rongcloud/rtc/base/RCRTCRoomType;

    invoke-virtual {p0, p1, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->joinRoom(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V

    return-void
.end method

.method public joinRoom(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/base/RCRTCRoomType;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Lcn/rongcloud/rtc/api/RCRTCRoom;",
            ">;)V"
        }
    .end annotation

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x4

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    iget-object v3, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    const/4 v4, 0x1

    aput-object v3, v1, v4

    invoke-virtual {p2}, Lcn/rongcloud/rtc/base/RCRTCRoomType;->getRoomType()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    const/4 v5, 0x2

    aput-object v3, v1, v5

    invoke-virtual {p2}, Lcn/rongcloud/rtc/base/RCRTCRoomType;->getMediaType()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    const/4 v6, 0x3

    aput-object v3, v1, v6

    const-string v3, "roomId|uid|roomType|liveType"

    invoke-static {v0, v3, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 3
    invoke-virtual {p0, p1, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->joinRoomBeforeCheck(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)Z

    move-result v0

    if-nez v0, :cond_2f

    return-void

    :cond_2f
    const/16 v0, 0x7d0

    .line 4
    new-array v1, v6, [Ljava/lang/Object;

    aput-object p1, v1, v2

    aput-object p2, v1, v4

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;

    sget-object v2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p2, p3, v2, p1}, Lcn/rongcloud/rtc/engine/RTCResultDataCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p2, v1, v5

    invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method protected joinRoomBeforeCheck(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)Z
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Lcn/rongcloud/rtc/api/RCRTCRoom;",
            ">;)Z"
        }
    .end annotation

    .line 1
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    const/4 v1, 0x1

    const/4 v2, 0x0

    if-nez v0, :cond_59

    const-string v0, "^[A-Za-z0-9+=\\-_]+$"

    invoke-virtual {p1, v0}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_59

    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v0

    const/16 v3, 0x40

    if-le v0, v3, :cond_19

    goto :goto_59

    .line 2
    :cond_19
    invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;

    move-result-object v0

    invoke-virtual {v0}, Lcn/rongcloud/rtc/signal/SignalManager;->imSignalIsConnected()Z

    move-result v0

    const-string v3, "roomId"

    if-nez v0, :cond_36

    .line 3
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSignalServerNotConnect:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    .line 4
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSignalServerNotConnect:Lcn/rongcloud/rtc/base/RTCErrorCode;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v2

    invoke-static {p2, v0, v3, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/base/RTCErrorCode;Ljava/lang/String;[Ljava/lang/Object;)V

    return v2

    .line 5
    :cond_36
    invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;

    move-result-object v0

    invoke-virtual {v0}, Lcn/rongcloud/rtc/signal/SignalManager;->voipIsEnable()Z

    move-result v0

    if-nez v0, :cond_58

    const-string v0, "RTCEngineImpl"

    const-string v4, "Can\'t get VoIP info: please check whether is VoIP service available!!"

    .line 6
    invoke-static {v0, v4}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 7
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    sget-object v4, Lcn/rongcloud/rtc/base/RTCErrorCode;->ServiceNotOpened:Lcn/rongcloud/rtc/base/RTCErrorCode;

    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v2

    invoke-static {v0, v4, v3, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/base/RTCErrorCode;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 8
    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeVoIPNotAvailable:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, p1, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    return v2

    :cond_58
    return v1

    .line 9
    :cond_59
    :goto_59
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    .line 10
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v0, 0x3

    new-array v0, v0, [Ljava/lang/Object;

    aput-object p1, v0, v2

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    const/4 p1, 0x2

    const-string v1, "RoomId Not Available"

    aput-object v1, v0, p1

    const-string v1, "roomId|code|desc"

    invoke-static {p2, p1, v1, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;ILjava/lang/String;[Ljava/lang/Object;)V

    return v2
.end method

.method public leaveOtherRoom(Ljava/lang/String;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 10

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v4

    const/4 v5, 0x1

    aput-object v4, v2, v5

    const-string v4, "otherRoomId|notifyFinished"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    const/4 v2, 0x3

    const-string v4, "otherRoomId|notifyFinished|code"

    if-eqz v0, :cond_40

    if-eqz p3, :cond_24

    .line 3
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p3, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 4
    :cond_24
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v2, [Ljava/lang/Object;

    aput-object p1, v0, v3

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v0, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p3, v4, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 5
    :cond_40
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->isInRoom()Z

    move-result v0

    if-nez v0, :cond_69

    if-eqz p3, :cond_4d

    .line 6
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p3, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 7
    :cond_4d
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v2, [Ljava/lang/Object;

    aput-object p1, v0, v3

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v0, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p3, v4, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 8
    :cond_69
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0, p1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_96

    if-eqz p3, :cond_7a

    .line 9
    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p3, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 10
    :cond_7a
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array v0, v2, [Ljava/lang/Object;

    aput-object p1, v0, v3

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v0, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v0, v1

    invoke-static {p3, v4, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    :cond_96
    const/16 v0, 0x818

    .line 11
    new-array v2, v2, [Ljava/lang/Object;

    aput-object p1, v2, v3

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v2, v5

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p1, p3, v3}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Z)V

    aput-object p1, v2, v1

    invoke-virtual {p0, v0, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public leaveRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 6

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v2

    const/4 v3, 0x0

    aput-object v2, v1, v3

    iget-object v2, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;

    const/4 v3, 0x1

    aput-object v2, v1, v3

    const-string v2, "roomId|uid"

    invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    new-instance v0, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p1, v1, v2}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    const/16 p1, 0x2328

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(ILjava/lang/Object;)V

    return-void
.end method

.method public modifyResource(Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;Z)V
    .registers 9

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->MODIFYRESOURCE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v3

    invoke-virtual {v3}, Lcn/rongcloud/rtc/base/RCRTCMediaType;->getDescription()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    xor-int/lit8 v3, p2, 0x1

    invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "media|isOpen"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appOperate(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    if-eqz p2, :cond_23

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/base/RCRTCResourceState;->DISABLED:Lcn/rongcloud/rtc/base/RCRTCResourceState;

    goto :goto_25

    :cond_23
    sget-object v0, Lcn/rongcloud/rtc/base/RCRTCResourceState;->NORMAL:Lcn/rongcloud/rtc/base/RCRTCResourceState;

    :goto_25
    invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setResourceState(Lcn/rongcloud/rtc/base/RCRTCResourceState;)V

    const/16 v0, 0xc1c

    .line 3
    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v4

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v1, v5

    invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public onCreateEglFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)V
    .registers 6

    const/4 v0, 0x3

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/4 v1, 0x0

    aput-object p1, v0, v1

    const/4 p1, 0x1

    aput-object p2, v0, p1

    const/4 p1, 0x2

    aput-object p3, v0, p1

    const/16 p1, 0xce6

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
    .registers 4

    if-eqz p2, :cond_d

    if-nez p1, :cond_5

    goto :goto_d

    .line 1
    :cond_5
    new-instance v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl$2;

    invoke-direct {v0, p0, p2, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl$2;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->postCallback(Ljava/lang/Runnable;)V

    :cond_d
    :goto_d
    return-void
.end method

.method public onFirstFrameRendered(Ljava/lang/String;Ljava/lang/String;)V
    .registers 9

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ONFIRSTFRAME:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    const/4 v3, 0x1

    aput-object p1, v2, v3

    const-string v5, "roomId|uid"

    invoke-static {v0, v5, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->libStatus(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    new-array v0, v1, [Ljava/lang/Object;

    aput-object p1, v0, v4

    aput-object p2, v0, v3

    const/16 p1, 0xce5

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public onIMConnectChanged(Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;)V
    .registers 3

    .line 1
    invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/signal/SignalManager;->onIMConnectChanged(Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;)V

    .line 2
    sget-object v0, Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;->SIGN_OUT:Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;

    if-eq p1, v0, :cond_f

    sget-object v0, Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;->KICKED_OFFLINE_BY_OTHER_CLIENT:Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;

    if-ne v0, p1, :cond_17

    :cond_f
    const/16 p1, 0x3f3

    const/4 v0, 0x0

    .line 3
    new-array v0, v0, [Ljava/lang/Object;

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    :cond_17
    return-void
.end method

.method public onIMLogin(Ljava/lang/String;Ljava/lang/String;)V
    .registers 8

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->IMLOGIN:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    const-string/jumbo v4, "userId"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->libStatus(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/4 v0, 0x2

    .line 2
    new-array v0, v0, [Ljava/lang/Object;

    aput-object p1, v0, v3

    aput-object p2, v0, v1

    const/16 p1, 0x3f2

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public onNetStateChanged(Lcn/rongcloud/rtc/utils/NetState;)V
    .registers 4

    .line 1
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "onNetStateChanged state = "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "RTCEngineImpl"

    invoke-static {v1, v0}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V

    .line 2
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mNetState:Lcn/rongcloud/rtc/utils/NetState;

    if-eqz v0, :cond_25

    if-eq v0, p1, :cond_25

    sget-object v0, Lcn/rongcloud/rtc/utils/NetState;->NONE:Lcn/rongcloud/rtc/utils/NetState;

    if-eq p1, v0, :cond_25

    const/16 v0, 0x1f40

    .line 3
    invoke-virtual {p0, v0, p1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(ILjava/lang/Object;)V

    .line 4
    :cond_25
    iput-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mNetState:Lcn/rongcloud/rtc/utils/NetState;

    return-void
.end method

.method public onReceivedMessage(Lio/rong/imlib/model/Message;)V
    .registers 3

    const/16 v0, 0x1b58

    .line 1
    invoke-virtual {p0, v0, p1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(ILjava/lang/Object;)V

    return-void
.end method

.method public onSuccessCallback(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 3

    if-nez p1, :cond_3

    return-void

    .line 2
    :cond_3
    new-instance v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl$4;

    invoke-direct {v0, p0, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl$4;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->postCallback(Ljava/lang/Runnable;)V

    return-void
.end method

.method public onSuccessCallback(Ljava/lang/Object;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 4

    if-nez p2, :cond_3

    return-void

    .line 1
    :cond_3
    new-instance v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl$3;

    invoke-direct {v0, p0, p2, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl$3;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Ljava/lang/Object;)V

    invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->postCallback(Ljava/lang/Runnable;)V

    return-void
.end method

.method public postCallback(Ljava/lang/Runnable;)V
    .registers 4

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mCallbackHandler:Landroid/os/Handler;

    new-instance v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl$5;

    invoke-direct {v1, p0, p1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl$5;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;Ljava/lang/Runnable;)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    return-void
.end method

.method public postUIThread(Ljava/lang/Runnable;)V
    .registers 3

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUIHandler:Landroid/os/Handler;

    invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    return-void
.end method

.method public publishLiveStreams(Ljava/util/ArrayList;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/ArrayList<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;",
            ">;)V"
        }
    .end annotation

    const/4 v0, 0x2

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/4 v1, 0x0

    aput-object p1, v0, v1

    const/4 p1, 0x1

    aput-object p2, v0, p1

    const/16 p1, 0xbc2

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public publishStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "+",
            "Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    const-string v3, "roomId"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p0, p1, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->checkStreams(Ljava/util/List;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)Z

    move-result v0

    if-eqz v0, :cond_1a

    return-void

    :cond_1a
    const/16 v0, 0xbb8

    const/4 v2, 0x2

    .line 3
    new-array v2, v2, [Ljava/lang/Object;

    aput-object p1, v2, v4

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v4

    invoke-direct {p1, p2, v3, v4}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v2, v1

    invoke-virtual {p0, v0, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public putInnerData(Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 15

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUT_INNER_DATA:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x5

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RCAttributeType;->getValue()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const/4 v3, 0x2

    aput-object p2, v2, v3

    const/4 v6, 0x3

    aput-object p3, v2, v6

    if-eqz p4, :cond_29

    new-instance v7, Ljava/lang/String;

    invoke-virtual {p4}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v8

    invoke-direct {v7, v8}, Ljava/lang/String;-><init>([B)V

    goto :goto_2b

    :cond_29
    const-string v7, ""

    :goto_2b
    const/4 v8, 0x4

    aput-object v7, v2, v8

    const-string v7, "roomId|type|key|value|content"

    invoke-static {v0, v7, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v0, 0xceb

    .line 2
    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v4

    aput-object p2, v1, v5

    aput-object p3, v1, v3

    aput-object p4, v1, v6

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUT_INNER_DATA:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p3

    invoke-direct {p1, p5, p2, p3}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v1, v8

    invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public registerEventListener(Lcn/rongcloud/rtc/api/callback/IRCRTCEngineEventListener;)V
    .registers 4

    if-eqz p1, :cond_b

    .line 1
    new-instance v0, Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mCallbackHandler:Landroid/os/Handler;

    invoke-direct {v0, v1, p1}, Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;-><init>(Landroid/os/Handler;Lcn/rongcloud/rtc/api/callback/IRCRTCEngineEventListener;)V

    iput-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    :cond_b
    return-void
.end method

.method public registerStatusReportListener(Lcn/rongcloud/rtc/api/callback/IRCRTCStatusReportListener;)V
    .registers 4

    .line 1
    new-instance v0, Lcn/rongcloud/rtc/center/RCStatusReportListenerWrapper;

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mCallbackHandler:Landroid/os/Handler;

    invoke-direct {v0, v1, p1}, Lcn/rongcloud/rtc/center/RCStatusReportListenerWrapper;-><init>(Landroid/os/Handler;Lcn/rongcloud/rtc/api/callback/IRCRTCStatusReportListener;)V

    const/16 p1, 0x7da

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(ILjava/lang/Object;)V

    return-void
.end method

.method public requestJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;IZLjava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 15

    .line 1
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->isInRoom()Z

    move-result v0

    const-string v1, "code"

    const-string v2, "inviteeUserId"

    const-string v3, "inviteeRoomId"

    const/4 v4, 0x3

    const/4 v5, 0x2

    const/4 v6, 0x1

    const/4 v7, 0x0

    if-nez v0, :cond_3b

    if-eqz p6, :cond_17

    .line 2
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p6, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 3
    :cond_17
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->REQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p4, v4, [Ljava/lang/String;

    aput-object v3, p4, v7

    aput-object v2, p4, v6

    aput-object v1, p4, v5

    invoke-static {p4}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    new-array p5, v4, [Ljava/lang/Object;

    aput-object p1, p5, v7

    aput-object p2, p5, v6

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v5

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 4
    :cond_3b
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    invoke-static {p1, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_70

    if-eqz p6, :cond_4c

    .line 5
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p6, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 6
    :cond_4c
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->REQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p4, v4, [Ljava/lang/String;

    aput-object v3, p4, v7

    aput-object v2, p4, v6

    aput-object v1, p4, v5

    invoke-static {p4}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    new-array p5, v4, [Ljava/lang/Object;

    aput-object p1, p5, v7

    aput-object p2, p5, v6

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v5

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 7
    :cond_70
    invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->createInviteSessionId(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const/16 v1, 0x819

    const/4 v2, 0x7

    .line 8
    new-array v2, v2, [Ljava/lang/Object;

    aput-object p1, v2, v7

    aput-object p2, v2, v6

    invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, v2, v5

    invoke-static {p4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v2, v4

    const/4 p1, 0x4

    aput-object v0, v2, p1

    const/4 p1, 0x5

    aput-object p5, v2, p1

    const/4 p1, 0x6

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p2, p6, v7}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Z)V

    aput-object p2, v2, p1

    invoke-virtual {p0, v1, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public responseJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 16

    .line 1
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->isInRoom()Z

    move-result v0

    const-string v1, "code"

    const-string v2, "inviterUserId"

    const-string v3, "inviterRoomId"

    const/4 v4, 0x2

    const/4 v5, 0x1

    const/4 v6, 0x3

    const/4 v7, 0x0

    if-nez v0, :cond_3b

    if-eqz p6, :cond_17

    .line 2
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p6, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 3
    :cond_17
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RESPONSEJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p4, v6, [Ljava/lang/String;

    aput-object v3, p4, v7

    aput-object v2, p4, v5

    aput-object v1, p4, v4

    invoke-static {p4}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    new-array p5, v6, [Ljava/lang/Object;

    aput-object p1, p5, v7

    aput-object p2, p5, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->NOT_JOINED_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v4

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 4
    :cond_3b
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v0

    invoke-static {p1, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_70

    if-eqz p6, :cond_4c

    .line 5
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p6, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 6
    :cond_4c
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RESPONSEJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p4, v6, [Ljava/lang/String;

    aput-object v3, p4, v7

    aput-object v2, p4, v5

    aput-object v1, p4, v4

    invoke-static {p4}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    new-array p5, v6, [Ljava/lang/Object;

    aput-object p1, p5, v7

    aput-object p2, p5, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->OTHER_ROOM_ID_CANNOT_THE_MAIN_ROOM:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v4

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void

    .line 7
    :cond_70
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

    move-result-object v0

    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getInviteNotifyMessageElement()Lcn/rongcloud/rtc/engine/tools/multiroom/InviteNotifyMessageElement;

    move-result-object v0

    invoke-virtual {v0, p2}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteNotifyMessageElement;->get(Ljava/lang/String;)Lcn/rongcloud/rtc/proxy/message/InviteMessage;

    move-result-object v0

    if-eqz v0, :cond_c4

    .line 8
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getInviteSessionId()Ljava/lang/String;

    move-result-object v8

    invoke-static {v8}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v8

    if-nez v8, :cond_c4

    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getInviteInfo()Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;

    move-result-object v8

    if-nez v8, :cond_91

    goto :goto_c4

    .line 9
    :cond_91
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getInviteSessionId()Ljava/lang/String;

    move-result-object v1

    .line 10
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getInviteInfo()Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;

    move-result-object v0

    const/16 v2, 0x81b

    const/16 v3, 0x8

    .line 11
    new-array v3, v3, [Ljava/lang/Object;

    aput-object p1, v3, v7

    aput-object p2, v3, v5

    invoke-static {p3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v3, v4

    invoke-static {p4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v3, v6

    const/4 p1, 0x4

    aput-object v1, v3, p1

    const/4 p1, 0x5

    aput-object v0, v3, p1

    const/4 p1, 0x6

    aput-object p5, v3, p1

    const/4 p1, 0x7

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p2, p6, v7}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Z)V

    aput-object p2, v3, p1

    invoke-virtual {p0, v2, v3}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void

    :cond_c4
    :goto_c4
    if-eqz p6, :cond_cb

    .line 12
    sget-object p3, Lcn/rongcloud/rtc/base/RTCErrorCode;->RESPONDING_INVITATION_DOES_NOT_EXIST:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p6, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 13
    :cond_cb
    sget-object p3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RESPONSEJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p4, v6, [Ljava/lang/String;

    aput-object v3, p4, v7

    aput-object v2, p4, v5

    aput-object v1, p4, v4

    invoke-static {p4}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    new-array p5, v6, [Ljava/lang/Object;

    aput-object p1, p5, v7

    aput-object p2, p5, v5

    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RESPONDING_INVITATION_DOES_NOT_EXIST:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result p1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    aput-object p1, p5, v4

    invoke-static {p3, p4, p5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    return-void
.end method

.method public sendIMSignal(Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/IRongCallback$ISendMessageCallback;)V
    .registers 5

    const/4 v0, 0x2

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/4 v1, 0x0

    aput-object p1, v0, v1

    const/4 p1, 0x1

    aput-object p2, v0, p1

    const/16 p1, 0xcea

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public setAppKey(Ljava/lang/String;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mAppKey:Ljava/lang/String;

    return-void
.end method

.method public setAttributeValue(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 15

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/base/RCAttributeType;->ROOM:Lcn/rongcloud/rtc/base/RCAttributeType;

    if-ne p2, v0, :cond_7

    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETROOMATTRIBUTEVALUE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    goto :goto_9

    :cond_7
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETATTRIBUTEVALUE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    :goto_9
    const/4 v1, 0x4

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    const/4 v4, 0x1

    aput-object p4, v2, v4

    const/4 v5, 0x2

    aput-object p3, v2, v5

    if-eqz p5, :cond_21

    new-instance v6, Ljava/lang/String;

    invoke-virtual {p5}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v7

    invoke-direct {v6, v7}, Ljava/lang/String;-><init>([B)V

    goto :goto_23

    :cond_21
    const-string v6, ""

    :goto_23
    const/4 v7, 0x3

    aput-object v6, v2, v7

    const-string v6, "roomId|value|key|content"

    invoke-static {v0, v6, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v2, 0xce7

    const/4 v6, 0x6

    .line 3
    new-array v6, v6, [Ljava/lang/Object;

    aput-object p2, v6, v3

    aput-object p3, v6, v4

    aput-object p4, v6, v5

    aput-object p5, v6, v7

    new-instance p2, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-direct {p2, p6, v0, p1}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p2, v6, v1

    const/4 p2, 0x5

    aput-object p1, v6, p2

    invoke-virtual {p0, v2, v6}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public setEnableTinyStream(Z)V
    .registers 4

    .line 1
    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->getCurrentState()Lcn/rongcloud/rtc/engine/AbstractBaseState;

    move-result-object v0

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    if-eq v0, v1, :cond_a

    .line 2
    iput-boolean p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEnableTinyStream:Z

    :cond_a
    return-void
.end method

.method public setMediaServerUrl(Ljava/lang/String;)V
    .registers 5

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETMEDIASERVERURL:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    const-string v2, "mediaUrl"

    invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appOperate(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/signal/SignalManager;->setMediaServerUrl(Ljava/lang/String;)V

    return-void
.end method

.method public setUserAttributeValue(Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 14

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETATTRIBUTEVALUE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x4

    .line 2
    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    const/4 v3, 0x1

    aput-object p2, v2, v3

    const/4 v5, 0x2

    aput-object p1, v2, v5

    if-eqz p3, :cond_1e

    new-instance v6, Ljava/lang/String;

    invoke-virtual {p3}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v7

    invoke-direct {v6, v7}, Ljava/lang/String;-><init>([B)V

    goto :goto_20

    :cond_1e
    const-string v6, ""

    :goto_20
    const/4 v7, 0x3

    aput-object v6, v2, v7

    const-string v6, "roomId|value|key|content"

    invoke-static {v0, v6, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v2, 0xce7

    const/4 v6, 0x6

    .line 3
    new-array v6, v6, [Ljava/lang/Object;

    sget-object v8, Lcn/rongcloud/rtc/base/RCAttributeType;->USER:Lcn/rongcloud/rtc/base/RCAttributeType;

    aput-object v8, v6, v4

    aput-object p1, v6, v3

    aput-object p2, v6, v5

    aput-object p3, v6, v7

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p2

    invoke-direct {p1, p4, v0, p2}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v6, v1

    const/4 p1, 0x5

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object p2

    aput-object p2, v6, p1

    invoke-virtual {p0, v2, v6}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public subscribeLiveStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCAVStreamType;Lcn/rongcloud/rtc/api/callback/RCRTCLiveCallback;)V
    .registers 11

    const/4 v0, 0x1

    const/4 v1, 0x0

    const/4 v2, 0x2

    if-nez p2, :cond_24

    .line 1
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SUBSCRIBELIVESTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    new-array p2, v2, [Ljava/lang/Object;

    sget-object v3, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {v3}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    aput-object v3, p2, v1

    const-string v1, "RCRTCAVStreamType is null "

    aput-object v1, p2, v0

    const-string v0, "code|desc"

    invoke-static {p1, v2, v0, p2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;ILjava/lang/String;[Ljava/lang/Object;)V

    .line 2
    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, p1, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    return-void

    .line 3
    :cond_24
    sget-object v3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SUBSCRIBELIVESTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v4, 0x3

    new-array v5, v4, [Ljava/lang/Object;

    aput-object p1, v5, v1

    invoke-virtual {p2}, Lcn/rongcloud/rtc/base/RCRTCAVStreamType;->getMediaType()I

    move-result v6

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v0

    invoke-virtual {p2}, Lcn/rongcloud/rtc/base/RCRTCAVStreamType;->getSimulcast()I

    move-result v6

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v2

    const-string v6, "liveUrl|liveType|simulcast"

    invoke-static {v3, v6, v5}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    const/16 v3, 0x1388

    .line 4
    new-array v4, v4, [Ljava/lang/Object;

    aput-object p1, v4, v1

    aput-object p2, v4, v0

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCEngineImpl$1;

    invoke-direct {p1, p0, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl$1;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;Lcn/rongcloud/rtc/api/callback/RCRTCLiveCallback;)V

    aput-object p1, v4, v2

    invoke-virtual {p0, v3, v4}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public subscribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "+",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-static {p1}, Lcn/rongcloud/rtc/utils/ReportUtil;->resourceToString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "roomId|streams"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p0, p1, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->checkStreams(Ljava/util/List;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)Z

    move-result v0

    if-eqz v0, :cond_21

    return-void

    :cond_21
    const/16 v0, 0xfa0

    .line 3
    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v4

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    invoke-direct {p1, p2, v2, v3}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v1, v5

    invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public switchStream(ZLcn/rongcloud/rtc/api/stream/RCRTCInputStream;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 10

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SWITCHSTREAMTINYORNORMAL:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "roomId|isTiny"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    if-nez p2, :cond_27

    .line 2
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SWITCHSTREAMTINYORNORMAL:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    sget-object p2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSubscribeNotExistResources:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    .line 3
    sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSubscribeNotExistResources:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-virtual {p0, p1, p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    return-void

    :cond_27
    const/16 v0, 0xc12

    const/4 v2, 0x3

    .line 4
    new-array v2, v2, [Ljava/lang/Object;

    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object p1

    aput-object p1, v2, v4

    aput-object p2, v2, v5

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SWITCHSTREAMTINYORNORMAL:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p1, p3, p2}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;)V

    aput-object p1, v2, v1

    invoke-virtual {p0, v0, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public unInit()V
    .registers 3

    const/4 v0, 0x0

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/16 v1, 0x2710

    invoke-virtual {p0, v1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    .line 2
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->internalRelease()V

    return-void
.end method

.method public unhandledMessage(Landroid/os/Message;)V
    .registers 6

    .line 1
    invoke-super {p0, p1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->unhandledMessage(Landroid/os/Message;)V

    .line 2
    iget v0, p1, Landroid/os/Message;->what:I

    const/16 v1, 0x3e8

    if-eq v0, v1, :cond_7c

    const/16 v1, 0x3f3

    if-eq v0, v1, :cond_76

    .line 3
    new-instance v0, Lcn/rongcloud/rtc/engine/MsgObjectWraper;

    iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;

    invoke-direct {v0, p1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;-><init>(Ljava/lang/Object;)V

    .line 4
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    instance-of p1, p1, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    if-eqz p1, :cond_28

    .line 5
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->ILLEGALSTATE:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {p1, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    goto :goto_81

    .line 6
    :cond_28
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    instance-of p1, p1, [Ljava/lang/Object;

    if-eqz p1, :cond_4a

    .line 7
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, [Ljava/lang/Object;

    .line 8
    array-length v0, p1

    const/4 v1, 0x0

    :goto_38
    if-ge v1, v0, :cond_81

    aget-object v2, p1, v1

    .line 9
    instance-of v3, v2, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    if-eqz v3, :cond_47

    .line 10
    check-cast v2, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    sget-object v3, Lcn/rongcloud/rtc/base/RTCErrorCode;->ILLEGALSTATE:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {v2, v3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    :cond_47
    add-int/lit8 v1, v1, 0x1

    goto :goto_38

    .line 11
    :cond_4a
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    instance-of p1, p1, Ljava/util/Map;

    if-eqz p1, :cond_81

    .line 12
    invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Ljava/util/Map;

    .line 13
    invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object p1

    invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object p1

    :cond_60
    :goto_60
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_81

    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    .line 14
    instance-of v1, v0, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    if-eqz v1, :cond_60

    .line 15
    check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;

    sget-object v1, Lcn/rongcloud/rtc/base/RTCErrorCode;->ILLEGALSTATE:Lcn/rongcloud/rtc/base/RTCErrorCode;

    invoke-interface {v0, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V

    goto :goto_60

    .line 16
    :cond_76
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/UnInitState;->imSignOut()V

    goto :goto_81

    .line 17
    :cond_7c
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/UnInitState;->notifyAndReInitCountDownLatch()V

    :cond_81
    :goto_81
    return-void
.end method

.method public unpublishStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNPUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    const-string v3, "roomId"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNPUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p0, p1, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->checkStreams(Ljava/util/List;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)Z

    move-result v0

    if-eqz v0, :cond_1a

    return-void

    :cond_1a
    const/16 v0, 0xc08

    const/4 v2, 0x2

    .line 3
    new-array v2, v2, [Ljava/lang/Object;

    aput-object p1, v2, v4

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v3, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNPUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v4

    invoke-direct {p1, p2, v3, v4}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v2, v1

    invoke-virtual {p0, v0, v2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public unregisterEventListener()V
    .registers 3

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineEventListenerWrapper:Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;

    if-eqz v0, :cond_8

    const/4 v1, 0x0

    .line 2
    invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/center/RCEngineEventListenerWrapper;->setEventsListener(Lcn/rongcloud/rtc/api/callback/IRCRTCEngineEventListener;)V

    :cond_8
    return-void
.end method

.method public unregisterStatusReportListener()V
    .registers 3

    const/4 v0, 0x0

    .line 1
    new-array v0, v0, [Ljava/lang/Object;

    const/16 v1, 0x7db

    invoke-virtual {p0, v1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public unsubscribeLiveStream(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 9

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBELIVESTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getUserId()Ljava/lang/String;

    move-result-object v4

    const/4 v5, 0x1

    aput-object v4, v2, v5

    const-string v4, "liveUrl|userId"

    invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    new-array v0, v1, [Ljava/lang/Object;

    aput-object p1, v0, v3

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBELIVESTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p1, p2, v1}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;)V

    aput-object p1, v0, v5

    const/16 p1, 0x1392

    invoke-virtual {p0, p1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method

.method public unsubscribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "+",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;",
            "Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;",
            ")V"
        }
    .end annotation

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-static {p1}, Lcn/rongcloud/rtc/utils/ReportUtil;->resourceToString(Ljava/util/List;)Ljava/lang/String;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "roomId|streams"

    invoke-static {v0, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 2
    sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-direct {p0, p1, v0, p2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->checkStreams(Ljava/util/List;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)Z

    move-result v0

    if-eqz v0, :cond_21

    return-void

    :cond_21
    const/16 v0, 0xfc8

    .line 3
    new-array v1, v1, [Ljava/lang/Object;

    aput-object p1, v1, v4

    new-instance p1, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;

    sget-object v2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;

    move-result-object v3

    invoke-direct {p1, p2, v2, v3}, Lcn/rongcloud/rtc/engine/RTCResultCallbackWrapper;-><init>(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;)V

    aput-object p1, v1, v5

    invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->sendMessage(I[Ljava/lang/Object;)V

    return-void
.end method