HandleRTCMsgTools.smali

.class public Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;
.super Ljava/lang/Object;
.source "HandleRTCMsgTools.java"


# static fields
.field private static final TAG:Ljava/lang/String; = "HandleRTCMsgTools"


# instance fields
.field private mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

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

.field private mMainRoomId:Ljava/lang/String;

.field private mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

.field private mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

.field private mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;


# direct methods
.method public constructor <init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
    .registers 2

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    iput-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    .line 3
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

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

    move-result-object p1

    iput-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

    .line 4
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

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

    move-result-object p1

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;

    move-result-object p1

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->getMainRoomId()Ljava/lang/String;

    move-result-object p1

    iput-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    return-void
.end method

.method static synthetic access$000(Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
    .registers 3

    .line 1
    invoke-direct {p0, p1, p2}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object p0

    return-object p0
.end method

.method static synthetic access$100(Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;
    .registers 1

    .line 1
    iget-object p0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    return-object p0
.end method

.method private addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
    .registers 6

    if-nez p1, :cond_12

    .line 1
    new-instance p1, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;

    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;->getUserId()Ljava/lang/String;

    move-result-object p2

    const-string v0, ""

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

    .line 2
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-direct {p0, p2, p1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    .line 3
    :cond_12
    sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ONREMOTEUSERJOINED:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v0, 0x3

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

    const/4 v1, 0x0

    aput-object p1, v0, v1

    const/4 v1, 0x1

    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    aput-object v2, v0, v1

    const/4 v1, 0x2

    invoke-interface {v2}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v2

    aput-object v2, v0, v1

    const-string v1, "uid|rid"

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

    return-object p1
.end method

.method private addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V
    .registers 4

    if-eqz p1, :cond_15

    .line 4
    instance-of v0, p1, Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v0, :cond_c

    .line 5
    check-cast p1, Lcn/rongcloud/rtc/center/RCRoomImpl;

    invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto :goto_15

    .line 6
    :cond_c
    instance-of v0, p1, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    if-eqz v0, :cond_15

    .line 7
    check-cast p1, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    :cond_15
    :goto_15
    return-void
.end method

.method private cancelInviteNotify(Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;)V
    .registers 9

    const-string v0, "extra"

    const-string v1, "inviterUserId"

    const-string v2, "inviterRoomId"

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

    const/4 v4, 0x1

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

    if-eqz p1, :cond_12

    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;->toString()Ljava/lang/String;

    move-result-object v5

    goto :goto_14

    :cond_12
    const-string v5, "null"

    :goto_14
    const/4 v6, 0x0

    aput-object v5, v4, v6

    const-string v5, "CancelInviteMessage"

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

    const-string v3, ""

    if-eqz p1, :cond_25

    .line 2
    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;->getInviteInfo()Ljava/lang/String;

    move-result-object p1

    goto :goto_26

    :cond_25
    move-object p1, v3

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

    move-result v4

    if-nez v4, :cond_7c

    .line 4
    :try_start_2c
    new-instance v4, Lorg/json/JSONObject;

    invoke-direct {v4, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 5
    invoke-virtual {v4, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result p1

    if-eqz p1, :cond_3c

    .line 6
    invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1
    :try_end_3b
    .catch Lorg/json/JSONException; {:try_start_2c .. :try_end_3b} :catch_62

    goto :goto_3d

    :cond_3c
    move-object p1, v3

    .line 7
    :goto_3d
    :try_start_3d
    invoke-virtual {v4, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_51

    .line 8
    invoke-virtual {v4, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1
    :try_end_47
    .catch Lorg/json/JSONException; {:try_start_3d .. :try_end_47} :catch_5f

    .line 9
    :try_start_47
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v2

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

    goto :goto_52

    :cond_51
    move-object v1, v3

    .line 10
    :goto_52
    invoke-virtual {v4, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_69

    .line 11
    invoke-virtual {v4, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3
    :try_end_5c
    .catch Lorg/json/JSONException; {:try_start_47 .. :try_end_5c} :catch_5d

    goto :goto_69

    :catch_5d
    move-exception v0

    goto :goto_66

    :catch_5f
    move-exception v0

    move-object v1, v3

    goto :goto_66

    :catch_62
    move-exception p1

    move-object v0, p1

    move-object p1, v3

    move-object v1, p1

    .line 12
    :goto_66
    invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V

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

    move-result v0

    if-nez v0, :cond_7c

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

    move-result v0

    if-nez v0, :cond_7c

    .line 14
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_7c

    .line 15
    invoke-virtual {v0, p1, v1, v3}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onCancelRequestOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_7c
    return-void
.end method

.method private createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
    .registers 5

    .line 1
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v0

    sget-object v1, Lcn/rongcloud/rtc/base/RCRTCMediaType;->VIDEO:Lcn/rongcloud/rtc/base/RCRTCMediaType;

    if-ne v0, v1, :cond_e

    new-instance v0, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;

    invoke-direct {v0, p1, p2}, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;-><init>(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)V

    goto :goto_13

    :cond_e
    new-instance v0, Lcn/rongcloud/rtc/center/stream/RCRTCAudioInputStreamImpl;

    invoke-direct {v0, p1, p2}, Lcn/rongcloud/rtc/center/stream/RCRTCAudioInputStreamImpl;-><init>(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)V

    :goto_13
    return-object v0
.end method

.method private endInviteNotify(Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;)V
    .registers 8

    const-string v0, "inviteeRoomId"

    const-string v1, "inviterRoomId"

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

    const/4 v3, 0x1

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

    if-eqz p1, :cond_10

    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_12

    :cond_10
    const-string v4, "null"

    :goto_12
    const/4 v5, 0x0

    aput-object v4, v3, v5

    const-string v4, "EndInviteMessage"

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

    const-string v2, ""

    if-eqz p1, :cond_23

    .line 2
    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;->getInviteInfo()Ljava/lang/String;

    move-result-object p1

    goto :goto_24

    :cond_23
    move-object p1, v2

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

    move-result v3

    if-nez v3, :cond_8d

    .line 4
    :try_start_2a
    new-instance v3, Lorg/json/JSONObject;

    invoke-direct {v3, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 5
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    invoke-virtual {v3, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

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

    move-result p1
    :try_end_39
    .catch Lorg/json/JSONException; {:try_start_2a .. :try_end_39} :catch_61

    const-string/jumbo v4, "userId"

    if-nez p1, :cond_4a

    .line 6
    :try_start_3e
    invoke-virtual {v3, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1
    :try_end_42
    .catch Lorg/json/JSONException; {:try_start_3e .. :try_end_42} :catch_61

    .line 7
    :try_start_42
    invoke-virtual {v3, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0
    :try_end_46
    .catch Lorg/json/JSONException; {:try_start_42 .. :try_end_46} :catch_48

    :goto_46
    move-object v2, v0

    goto :goto_66

    :catch_48
    move-exception v0

    goto :goto_63

    .line 8
    :cond_4a
    :try_start_4a
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    invoke-virtual {v3, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

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

    move-result p1

    if-nez p1, :cond_5f

    .line 9
    invoke-virtual {v3, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1
    :try_end_5a
    .catch Lorg/json/JSONException; {:try_start_4a .. :try_end_5a} :catch_61

    .line 10
    :try_start_5a
    invoke-virtual {v3, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0
    :try_end_5e
    .catch Lorg/json/JSONException; {:try_start_5a .. :try_end_5e} :catch_48

    goto :goto_46

    :cond_5f
    move-object p1, v2

    goto :goto_66

    :catch_61
    move-exception v0

    move-object p1, v2

    .line 11
    :goto_63
    invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V

    .line 12
    :goto_66
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    instance-of v1, v0, Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v1, :cond_7a

    .line 13
    check-cast v0, Lcn/rongcloud/rtc/center/RCRoomImpl;

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

    .line 14
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v0

    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->remove(Ljava/lang/String;)V

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

    move-result v0

    if-nez v0, :cond_8d

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

    move-result v0

    if-nez v0, :cond_8d

    .line 16
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_8d

    .line 17
    invoke-virtual {v0, p1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onFinishOtherRoom(Ljava/lang/String;Ljava/lang/String;)V

    :cond_8d
    return-void
.end method

.method private filterExceptionalStreams(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;",
            ">;)",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;"
        }
    .end annotation

    .line 1
    new-instance v0, Ljava/util/ArrayList;

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

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

    move-result v1

    if-nez v1, :cond_5c

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

    move-result v1

    if-nez v1, :cond_5c

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

    move-result-object p2

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

    move-result v1

    if-eqz v1, :cond_5c

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

    move-result-object v1

    check-cast v1, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

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

    move-result-object v2

    :cond_25
    :goto_25
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_15

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    .line 5
    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v4

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_25

    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v4

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getTag()Ljava/lang/String;

    move-result-object v5

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

    move-result v4

    if-eqz v4, :cond_25

    move-object v4, v3

    check-cast v4, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;

    .line 6
    invoke-virtual {v4}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->getSubscribeState()Lcn/rongcloud/rtc/base/RCRTCSubscribeState;

    move-result-object v4

    sget-object v5, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->SUBSCRIBED:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;

    if-ne v4, v5, :cond_25

    .line 7
    invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_25

    :cond_5c
    return-object v0
.end method

.method private getTAG(Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
    .registers 3

    .line 1
    sget-object v0, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->LEFT:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p1, v0, :cond_7

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

    goto :goto_f

    .line 3
    :cond_7
    sget-object v0, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->OFFLINE:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p1, v0, :cond_e

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

    goto :goto_f

    :cond_e
    const/4 p1, 0x0

    :goto_f
    return-object p1
.end method

.method private handleKickMessage()V
    .registers 8

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    const/4 v1, 0x0

    const/4 v2, 0x1

    const-string v3, "desc"

    if-eqz v0, :cond_1f

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

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

    const-string v4, "kicked from server.MainRoom"

    aput-object v4, v2, v1

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

    .line 3
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    invoke-virtual {v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onKickedByServer()V

    .line 4
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->releaseRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V

    goto :goto_51

    .line 5
    :cond_1f
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_51

    .line 6
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v0

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

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

    new-instance v5, Ljava/lang/StringBuilder;

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

    const-string v6, "kicked from server.otherRoomId : "

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

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

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

    move-result-object v5

    aput-object v5, v2, v1

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

    .line 8
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onKickedByServer(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;)V

    .line 9
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/engine/InRoomState;->kickFromOtherRooms(Ljava/lang/String;)V

    :cond_51
    :goto_51
    return-void
.end method

.method private handleModifyResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;)V
    .registers 7

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object v1

    invoke-interface {v0, v1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v0

    if-nez v0, :cond_27

    .line 2
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v0, "handleModifyResourceMessage Failed remoteUser is Null, uid+"

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    const-string p2, "HandleRTCMsgTools"

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

    return-void

    .line 3
    :cond_27
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;->isIgnore()Z

    move-result v1

    if-eqz v1, :cond_48

    .line 4
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v0, "handleModifyResourceMessage->ignore. uid :"

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getUId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    const-string p2, "ReConnectTool"

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

    return-void

    .line 5
    :cond_48
    sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ONREMOTEUSERMODIFYRESOURCE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v1, 0x1

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

    const/4 v2, 0x0

    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;->toString()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v2

    const-string v2, "modifyMsg"

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

    .line 6
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;->getModifyResource()Ljava/util/List;

    move-result-object p1

    if-eqz p1, :cond_98

    .line 7
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;->getModifyResource()Ljava/util/List;

    move-result-object p1

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

    move-result-object p1

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

    move-result p2

    if-eqz p2, :cond_98

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

    move-result-object p2

    check-cast p2, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 8
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getUri()Ljava/lang/String;

    move-result-object v1

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

    move-result v1

    if-nez v1, :cond_67

    .line 9
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v2

    invoke-interface {v0, v1, v2}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v1

    check-cast v1, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;

    if-eqz v1, :cond_67

    .line 10
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getRCRTCResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object p2

    invoke-virtual {v1, p2}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setResourceState(Lcn/rongcloud/rtc/base/RCRTCResourceState;)V

    .line 11
    invoke-direct {p0, v0, v1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->modifyListener(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)V

    goto :goto_67

    :cond_98
    return-void
.end method

.method private handlePublishResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;)V
    .registers 8

    const-string v0, "HandleRTCMsgTools"

    const-string v1, "handlePublishResourceMessage "

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

    .line 2
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object v1

    .line 3
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v2, v1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v2

    check-cast v2, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;

    .line 4
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;->isIgnore()Z

    move-result v3

    if-eqz v3, :cond_32

    .line 5
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v1, "pub->ignore. uid :"

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getUId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

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

    return-void

    .line 6
    :cond_32
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;->getPublishResource()Ljava/util/List;

    move-result-object p1

    if-nez p1, :cond_3e

    const-string p1, "publishResourceList is null !"

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

    return-void

    .line 8
    :cond_3e
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v3, "remote publish resource info: "

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

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

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

    move-result-object p2

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

    const/4 p2, 0x1

    if-eqz v2, :cond_cf

    .line 9
    invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStreams()Ljava/util/List;

    move-result-object v3

    invoke-direct {p0, v3, p1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->filterExceptionalStreams(Ljava/util/List;Ljava/util/List;)Ljava/util/List;

    move-result-object v3

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

    move-result v3

    if-nez v3, :cond_7e

    const-string p2, "PublishResourceMessage have exceptionalStreams,first need unSubscribe"

    .line 11
    invoke-static {v0, p2}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 12
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p2}, Lcn/rongcloud/rtc/engine/InRoomState;->getPubSubQueue()Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;

    move-result-object p2

    const/4 v0, 0x5

    invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStreams()Ljava/util/List;

    move-result-object v1

    const/4 v3, 0x0

    new-instance v4, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools$2;

    invoke-direct {v4, p0, v2, p1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools$2;-><init>(Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;Lcn/rongcloud/rtc/center/RCRemoteUserImpl;Ljava/util/List;)V

    invoke-virtual {p2, v0, v1, v3, v4}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;ZLcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    goto/16 :goto_11b

    .line 13
    :cond_7e
    invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStreams()Ljava/util/List;

    move-result-object v3

    invoke-direct {p0, v3, p1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->needNotifyPublishResource(Ljava/util/List;Ljava/util/List;)Z

    move-result v3

    if-eqz v3, :cond_c9

    .line 14
    new-instance v0, Ljava/util/ArrayList;

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

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

    move-result-object p1

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

    move-result v3

    if-eqz v3, :cond_ac

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 16
    invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v4

    invoke-direct {p0, v4, v3}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v3

    .line 17
    invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 18
    invoke-virtual {v2, v3}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->addStream(Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)Z

    goto :goto_91

    .line 19
    :cond_ac
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object p1

    invoke-static {p2, p1, v1, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->reportRemoteUserResource(ZLjava/lang/String;Ljava/lang/String;Ljava/util/List;)V

    .line 20
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz p1, :cond_bd

    .line 21
    invoke-virtual {p1, v2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_11b

    .line 22
    :cond_bd
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz p1, :cond_11b

    .line 23
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {p1, p2, v2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_11b

    :cond_c9
    const-string p1, "PublishResourceMessage no need notifyPublishResource"

    .line 24
    invoke-static {v0, p1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_11b

    .line 25
    :cond_cf
    new-instance v0, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;

    const-string v2, ""

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

    .line 26
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-direct {p0, v2, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    .line 27
    new-instance v2, Ljava/util/ArrayList;

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

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

    move-result-object p1

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

    move-result v3

    if-eqz v3, :cond_fb

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 29
    invoke-direct {p0, v1, v3}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v3

    .line 30
    invoke-virtual {v0, v3}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->addStream(Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)Z

    .line 31
    invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_e4

    .line 32
    :cond_fb
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v1

    invoke-static {p2, p1, v1, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->reportRemoteUserResource(ZLjava/lang/String;Ljava/lang/String;Ljava/util/List;)V

    .line 33
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz p1, :cond_110

    .line 34
    invoke-virtual {p1, v0, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_11b

    .line 35
    :cond_110
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz p1, :cond_11b

    .line 36
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {p1, p2, v0, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    :cond_11b
    :goto_11b
    return-void
.end method

.method private handleRoomUserStateMessage(Lcn/rongcloud/rtc/proxy/message/RoomUserStateMessage;)V
    .registers 9

    .line 1
    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/RoomUserStateMessage;->getUserStates()Ljava/util/List;

    move-result-object p1

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

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

    const-string v1, "RoomUserStateMessage userStateList.size() = "

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

    if-nez p1, :cond_12

    const/4 v1, 0x0

    goto :goto_16

    :cond_12
    invoke-interface {p1}, Ljava/util/List;->size()I

    move-result v1

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

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

    move-result-object v0

    const-string v1, "HandleRTCMsgTools"

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

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

    move-result v0

    if-eqz v0, :cond_29

    return-void

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

    move-result-object p1

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

    move-result v0

    if-eqz v0, :cond_f6

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

    move-result-object v0

    check-cast v0, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;

    .line 5
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;->getState()Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    move-result-object v2

    .line 6
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;->getSourceRoomId()Ljava/lang/String;

    move-result-object v3

    .line 7
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;->getUserId()Ljava/lang/String;

    move-result-object v4

    .line 8
    new-instance v5, Ljava/lang/StringBuilder;

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

    const-string v6, "state :"

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

    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;->getState()Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    move-result-object v6

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

    const-string v6, " ,userId = "

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

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

    const-string v6, " , SourceRoomId : "

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

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

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

    move-result-object v5

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

    .line 9
    sget-object v5, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools$3;->$SwitchMap$cn$rongcloud$rtc$proxy$message$messagebeans$UserState$State:[I

    invoke-virtual {v2}, Ljava/lang/Enum;->ordinal()I

    move-result v6

    aget v5, v5, v6

    const/4 v6, 0x1

    if-eq v5, v6, :cond_83

    const/4 v0, 0x2

    if-eq v5, v0, :cond_7f

    const/4 v0, 0x3

    if-eq v5, v0, :cond_7f

    goto :goto_2d

    .line 10
    :cond_7f
    invoke-direct {p0, v4, v2}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->onUserLeftOrOffline(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)V

    goto :goto_2d

    .line 11
    :cond_83
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v2, v4}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v2

    .line 12
    new-instance v4, Ljava/lang/StringBuilder;

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

    const-string v5, "TargetRoomId :"

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

    iget-object v5, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v5}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v5

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

    const-string v5, " , MainRoomId :"

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

    iget-object v5, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

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

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

    move-result-object v4

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

    .line 13
    iget-object v4, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    instance-of v5, v4, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    if-eqz v5, :cond_ca

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

    move-result v3

    if-eqz v3, :cond_2d

    .line 15
    invoke-direct {p0, v2, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v0

    .line 16
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v2, :cond_2d

    .line 17
    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v3, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v2, v3, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onUserJoined(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto/16 :goto_2d

    .line 18
    :cond_ca
    instance-of v4, v4, Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v4, :cond_e1

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

    move-result v4

    if-eqz v4, :cond_e1

    .line 19
    invoke-direct {p0, v2, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->addRemoteUser(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v0

    .line 20
    iget-object v2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v2, :cond_2d

    .line 21
    invoke-virtual {v2, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onUserJoined(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto/16 :goto_2d

    .line 22
    :cond_e1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    instance-of v0, v0, Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v0, :cond_2d

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

    move-result v0

    if-nez v0, :cond_2d

    .line 23
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v0, Lcn/rongcloud/rtc/center/RCRoomImpl;

    invoke-virtual {v0, v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->addOtherRoomId(Ljava/lang/String;)V

    goto/16 :goto_2d

    :cond_f6
    return-void
.end method

.method private handleTotalContentResources(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/TotalContentResources;)V
    .registers 15

    const-string v0, "HandleRTCMsgTools"

    const-string v1, "-- totalContentResourcesMessage --"

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

    .line 2
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v1, p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v1

    check-cast v1, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;

    if-nez v1, :cond_19

    const-string p1, "ResourceTools"

    const-string p2, "TotalContentResources.remoteUser == null !"

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

    return-void

    .line 4
    :cond_19
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/TotalContentResources;->getMediaResourceInfo()Ljava/util/List;

    move-result-object p2

    .line 5
    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStreams()Ljava/util/List;

    move-result-object v2

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

    move-result v3

    const/4 v4, 0x0

    if-eqz v3, :cond_4d

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

    move-result v3

    if-nez v3, :cond_4d

    .line 7
    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->clearStream()V

    .line 8
    new-instance p1, Ljava/lang/StringBuilder;

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

    const-string p2, "Unpublish all. size :"

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

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result p2

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

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

    move-result-object p1

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

    .line 9
    invoke-direct {p0, v1, v2, v4}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->resubscribeAVStream(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;Ljava/util/List;)V

    return-void

    .line 10
    :cond_4d
    invoke-static {v2}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->isEmpty(Ljava/util/Collection;)Z

    move-result v3

    if-eqz v3, :cond_df

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

    move-result v3

    if-nez v3, :cond_df

    .line 11
    new-instance v2, Ljava/util/ArrayList;

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

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

    move-result-object p2

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

    move-result v3

    if-eqz v3, :cond_7d

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 13
    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v4

    invoke-direct {p0, v4, v3}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v3

    .line 14
    invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 15
    invoke-virtual {v1, v3}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->addStream(Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)Z

    goto :goto_62

    .line 16
    :cond_7d
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    const-string v3, " , senderId :"

    const-string v4, "Publish all resources. size :"

    if-eqz p2, :cond_a7

    .line 17
    new-instance p2, Ljava/lang/StringBuilder;

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

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

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v4

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

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

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

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

    move-result-object p1

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

    .line 18
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    invoke-virtual {p1, v1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_de

    .line 19
    :cond_a7
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz p2, :cond_de

    .line 20
    new-instance p2, Ljava/lang/StringBuilder;

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

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

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v4

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

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

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

    const-string p1, " , Room : "

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

    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

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

    .line 21
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {p1, p2, v1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    :cond_de
    :goto_de
    return-void

    .line 22
    :cond_df
    new-instance p1, Ljava/util/ArrayList;

    invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V

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

    move-result-object v2

    :cond_e8
    :goto_e8
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    const/4 v5, 0x1

    const/4 v6, 0x0

    if-eqz v3, :cond_15e

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

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

    move-result-object v7

    const/4 v8, 0x0

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

    move-result v9

    if-eqz v9, :cond_122

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

    move-result-object v8

    check-cast v8, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 25
    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v9

    invoke-virtual {v8}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v10

    if-ne v9, v10, :cond_120

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v8}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getStreamId()Ljava/lang/String;

    move-result-object v8

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

    move-result v8

    if-eqz v8, :cond_120

    goto :goto_123

    :cond_120
    const/4 v8, 0x1

    goto :goto_fb

    :cond_122
    move v6, v8

    :goto_123
    if-eqz v6, :cond_e8

    .line 26
    invoke-interface {p1, v3}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v5

    if-nez v5, :cond_e8

    .line 27
    new-instance v5, Ljava/lang/StringBuilder;

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

    const-string v6, "needUnpub. MediaId : "

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

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v6

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

    const-string v6, " , RCRTCMediaType : "

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

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v6

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

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

    move-result-object v5

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

    .line 28
    invoke-interface {p1, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 29
    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v5

    invoke-interface {v3}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v3

    invoke-virtual {v1, v5, v3}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->removeStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)V

    goto :goto_e8

    .line 30
    :cond_15e
    invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p2

    move-object v2, v4

    :cond_163
    :goto_163
    invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_26e

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

    move-result-object v3

    check-cast v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 31
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v8

    invoke-virtual {v1, v7, v8}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v7

    if-eqz v7, :cond_257

    .line 32
    invoke-interface {v7}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v8

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

    move-result v8

    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getRCRTCResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v9

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

    move-result v9

    const-string v10, ", RCRTCMediaType :"

    if-eq v8, v9, :cond_1c0

    .line 33
    move-object v8, v7

    check-cast v8, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;

    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getRCRTCResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v9

    invoke-virtual {v8, v9}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setResourceState(Lcn/rongcloud/rtc/base/RCRTCResourceState;)V

    .line 34
    new-instance v8, Ljava/lang/StringBuilder;

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

    const-string v9, "modifyResource. MediaId :"

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

    invoke-interface {v7}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v9

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

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

    invoke-interface {v7}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v9

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

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

    move-result-object v8

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

    .line 35
    invoke-direct {p0, v1, v7}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->modifyListener(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)V

    .line 36
    :cond_1c0
    invoke-interface {v7}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getUri()Ljava/lang/String;

    move-result-object v9

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

    move-result v8

    if-nez v8, :cond_163

    .line 37
    new-instance v8, Ljava/lang/StringBuilder;

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

    const-string v9, "drift : "

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

    invoke-interface {v7}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;

    move-result-object v9

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

    const-string v9, " --> "

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

    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getUri()Ljava/lang/String;

    move-result-object v9

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

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

    move-result-object v8

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

    .line 38
    move-object v8, v7

    check-cast v8, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;

    invoke-virtual {v8}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->getSubscribeState()Lcn/rongcloud/rtc/base/RCRTCSubscribeState;

    move-result-object v9

    sget-object v11, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->SUBSCRIBED:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;

    if-ne v9, v11, :cond_210

    if-nez v4, :cond_204

    .line 39
    new-instance v4, Ljava/util/ArrayList;

    invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V

    .line 40
    :cond_204
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getUri()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v8, v3}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setUri(Ljava/lang/String;)V

    .line 41
    invoke-interface {v4, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto/16 :goto_163

    .line 42
    :cond_210
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getUri()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v8, v9}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setUri(Ljava/lang/String;)V

    .line 43
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getRCRTCResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v9

    invoke-virtual {v8, v9}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setResourceState(Lcn/rongcloud/rtc/base/RCRTCResourceState;)V

    .line 44
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getStreamId()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v8, v9}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->setStreamId(Ljava/lang/String;)V

    .line 45
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v9

    invoke-virtual {v8, v9}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setType(Lcn/rongcloud/rtc/base/RCRTCMediaType;)V

    .line 46
    invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v8, v3}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setTag(Ljava/lang/String;)V

    .line 47
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v8, "refresh cache. MediaId :"

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

    invoke-interface {v7}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v8

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

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

    invoke-interface {v7}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v7

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

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

    move-result-object v3

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

    goto/16 :goto_163

    :cond_257
    if-nez v2, :cond_25e

    .line 48
    new-instance v2, Ljava/util/ArrayList;

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

    .line 49
    :cond_25e
    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v7

    invoke-direct {p0, v7, v3}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->createRTCInputStream(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v3

    .line 50
    invoke-virtual {v1, v3}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->addStream(Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)Z

    .line 51
    invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto/16 :goto_163

    .line 52
    :cond_26e
    invoke-direct {p0, v1, p1, v4}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->resubscribeAVStream(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;Ljava/util/List;)V

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

    move-result p1

    if-nez p1, :cond_2d4

    if-eqz v2, :cond_27e

    .line 54
    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result p1

    goto :goto_27f

    :cond_27e
    const/4 p1, 0x0

    .line 55
    :goto_27f
    new-instance p2, Ljava/lang/StringBuilder;

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

    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v3

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

    const-string v3, " , Number of resources published : "

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

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

    const-string v4, " , mEventsListener :"

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

    iget-object v4, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-nez v4, :cond_29d

    goto :goto_29e

    :cond_29d
    const/4 v5, 0x0

    :goto_29e
    invoke-virtual {p2, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

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

    move-result-object p2

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

    .line 56
    new-instance p2, Ljava/lang/StringBuilder;

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

    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v4

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

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

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

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

    move-result-object p1

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

    .line 57
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz p1, :cond_2c9

    .line 58
    invoke-virtual {p1, v1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_2d4

    .line 59
    :cond_2c9
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz p1, :cond_2d4

    .line 60
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {p1, p2, v1, v2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserPublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    :cond_2d4
    :goto_2d4
    return-void
.end method

.method private handleUnPublishResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;)V
    .registers 7

    const-string v0, "HandleRTCMsgTools"

    const-string v1, "handleUnPublishResourceMessage "

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

    .line 2
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v1

    check-cast v1, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;

    if-nez v1, :cond_2e

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

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

    const-string v1, "handleUnPublishResourceMessage Failed remoteUser is Null, uid+"

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

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

    return-void

    .line 4
    :cond_2e
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;->isIgnore()Z

    move-result v2

    if-eqz v2, :cond_4d

    .line 5
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v1, "handleUnPublishResourceMessage->ignore. uid :"

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getUId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

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

    return-void

    .line 6
    :cond_4d
    new-instance p1, Ljava/util/ArrayList;

    invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V

    .line 7
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;->getUnPublishResource()Ljava/util/List;

    move-result-object v2

    if-eqz v2, :cond_89

    .line 8
    invoke-virtual {p2}, Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;->getUnPublishResource()Ljava/util/List;

    move-result-object p2

    invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p2

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

    move-result v2

    if-eqz v2, :cond_89

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

    move-result-object v2

    check-cast v2, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

    .line 9
    invoke-virtual {v2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v2

    invoke-virtual {v1, v3, v2}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->getStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    move-result-object v2

    if-eqz v2, :cond_60

    .line 10
    invoke-interface {p1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 11
    invoke-interface {v2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;

    move-result-object v3

    invoke-interface {v2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v2

    invoke-virtual {v1, v3, v2}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->removeStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)V

    goto :goto_60

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

    move-result p2

    if-nez p2, :cond_c0

    .line 13
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {p2}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object p2

    invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;

    move-result-object v0

    const/4 v2, 0x0

    invoke-static {v2, p2, v0, p1}, Lcn/rongcloud/rtc/utils/ReportUtil;->reportRemoteUserResource(ZLjava/lang/String;Ljava/lang/String;Ljava/util/List;)V

    .line 14
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz p2, :cond_a5

    .line 15
    invoke-virtual {p2, v1, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserUnpublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_b0

    .line 16
    :cond_a5
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz p2, :cond_b0

    .line 17
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v0, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {p2, v0, v1, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserUnpublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    .line 18
    :cond_b0
    :goto_b0
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p2}, Lcn/rongcloud/rtc/engine/InRoomState;->getPubSubQueue()Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;

    move-result-object p2

    const/4 v0, 0x5

    new-instance v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools$1;

    invoke-direct {v1, p0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools$1;-><init>(Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;)V

    invoke-virtual {p2, v0, p1, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;ZLcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    goto :goto_c5

    :cond_c0
    const-string p1, "unPublishResource size is 0,no need notify."

    .line 19
    invoke-static {v0, p1}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    :goto_c5
    return-void
.end method

.method private inviteAnswerNotify(Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;)V
    .registers 21

    move-object/from16 v1, p0

    const-string v0, "inviteeRoomId"

    const-string v2, "inviteeUserId"

    const-string v3, "extra"

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

    const/4 v5, 0x1

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

    if-eqz p1, :cond_14

    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;->toString()Ljava/lang/String;

    move-result-object v7

    goto :goto_16

    :cond_14
    const-string v7, "null"

    :goto_16
    const/4 v8, 0x0

    aput-object v7, v6, v8

    const-string v7, "InviteAnswerMessage"

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

    const-string v4, "HandleRTCMsgTools"

    if-nez p1, :cond_28

    const-string v0, "inviteAnswerNotify . InviteAnswerMessage is empty ."

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

    return-void

    .line 3
    :cond_28
    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;->getAnswerCode()I

    move-result v6

    .line 4
    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;->getInviteContent()Ljava/lang/String;

    move-result-object v7

    .line 5
    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;->getPKInfo()Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;

    move-result-object v9

    const-string v10, ""

    if-eqz v9, :cond_56

    if-ne v6, v5, :cond_43

    .line 6
    iget-object v4, v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

    invoke-virtual {v4}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;

    move-result-object v4

    invoke-virtual {v4, v9}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->put(Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;)V

    .line 7
    :cond_43
    invoke-virtual {v9}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviteeRoomId()Ljava/lang/String;

    move-result-object v4

    .line 8
    invoke-virtual {v9}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviteeUserId()Ljava/lang/String;

    move-result-object v11

    .line 9
    invoke-virtual {v9}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviterRoomId()Ljava/lang/String;

    move-result-object v12

    .line 10
    invoke-virtual {v9}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviterUserId()Ljava/lang/String;

    move-result-object v9

    move-object v14, v9

    move-object v13, v12

    goto :goto_6e

    .line 11
    :cond_56
    new-instance v9, Ljava/lang/StringBuilder;

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

    const-string v11, "inviteAnswerNotify.KV is empty.inviteContent: "

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

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

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

    move-result-object v9

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

    move-object v4, v10

    move-object v11, v4

    move-object v13, v11

    move-object v14, v13

    .line 12
    :goto_6e
    invoke-static {v7}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v9

    if-nez v9, :cond_9f

    .line 13
    :try_start_74
    new-instance v9, Lorg/json/JSONObject;

    invoke-direct {v9, v7}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 14
    invoke-virtual {v9, v3}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v7

    if-eqz v7, :cond_84

    .line 15
    invoke-virtual {v9, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    move-object v10, v3

    .line 16
    :cond_84
    invoke-virtual {v9, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_8f

    .line 17
    invoke-virtual {v9, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    move-object v11, v2

    .line 18
    :cond_8f
    invoke-virtual {v9, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_9f

    .line 19
    invoke-virtual {v9, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0
    :try_end_99
    .catch Lorg/json/JSONException; {:try_start_74 .. :try_end_99} :catch_9b

    move-object v4, v0

    goto :goto_9f

    :catch_9b
    move-exception v0

    .line 20
    invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V

    :cond_9f
    :goto_9f
    move-object v15, v4

    move-object/from16 v18, v10

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

    move-result v0

    if-nez v0, :cond_c7

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

    move-result v0

    if-nez v0, :cond_c7

    .line 22
    iget-object v0, v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v0

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

    .line 23
    iget-object v12, v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v12, :cond_c7

    if-ne v6, v5, :cond_c0

    const/16 v17, 0x1

    goto :goto_c2

    :cond_c0
    const/16 v17, 0x0

    :goto_c2
    move-object/from16 v16, v11

    .line 24
    invoke-virtual/range {v12 .. v18}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onResponseJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V

    :cond_c7
    return-void
.end method

.method private inviteNotify(Lcn/rongcloud/rtc/proxy/message/InviteMessage;)V
    .registers 6

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

    const/4 v1, 0x1

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

    if-eqz p1, :cond_c

    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->toString()Ljava/lang/String;

    move-result-object v2

    goto :goto_e

    :cond_c
    const-string v2, "null"

    :goto_e
    const/4 v3, 0x0

    aput-object v2, v1, v3

    const-string v2, "InviteMessage"

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

    const-string v0, "HandleRTCMsgTools"

    if-nez p1, :cond_20

    const-string p1, "inviteNotify . InviteAnswerMessage is empty ."

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

    return-void

    .line 3
    :cond_20
    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getInviteInfo()Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;

    move-result-object v1

    if-eqz v1, :cond_5b

    .line 4
    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->getInviterRoomId()Ljava/lang/String;

    move-result-object v2

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

    move-result v2

    if-nez v2, :cond_5b

    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->getInviterUserId()Ljava/lang/String;

    move-result-object v2

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

    move-result v2

    if-nez v2, :cond_5b

    .line 5
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v0

    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->getInviterUserId()Ljava/lang/String;

    move-result-object v2

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

    .line 6
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_60

    .line 7
    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->getInviterRoomId()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->getInviterUserId()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1}, Lcn/rongcloud/rtc/proxy/message/InviteMessage;->getExtra()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v0, v2, v1, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRequestJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_60

    :cond_5b
    const-string p1, "InviteInfo is empty."

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

    :cond_60
    :goto_60
    return-void
.end method

.method private inviteTimeoutNotify(Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;)V
    .registers 19

    move-object/from16 v1, p0

    const-string v0, "inviterUserId"

    const-string v2, "inviterRoomId"

    const-string v3, "inviteeUserId"

    .line 1
    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;->getInviteSessionId()Ljava/lang/String;

    .line 2
    invoke-virtual/range {p1 .. p1}, Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;->getInviteInfo()Ljava/lang/String;

    move-result-object v4

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

    move-result v5

    if-nez v5, :cond_97

    const-string v5, ""

    .line 4
    :try_start_17
    new-instance v6, Lorg/json/JSONObject;

    invoke-direct {v6, v4}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 5
    invoke-virtual {v6, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_25

    .line 6
    invoke-virtual {v6, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    .line 7
    :cond_25
    invoke-virtual {v6, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_38

    .line 8
    invoke-virtual {v6, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 9
    iget-object v2, v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v2

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

    .line 10
    :cond_38
    invoke-virtual {v6, v3}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v0
    :try_end_3c
    .catch Lorg/json/JSONException; {:try_start_17 .. :try_end_3c} :catch_93

    const-string v2, "inviteeRoomId"

    if-eqz v0, :cond_89

    .line 11
    :try_start_40
    invoke-virtual {v6, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 12
    iget-object v4, v1, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v4

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

    move-result-object v4

    if-eqz v4, :cond_89

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

    move-result-wide v7

    .line 14
    invoke-virtual {v4}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;->getStartInviteTime()J

    move-result-wide v9

    sub-long v9, v7, v9

    .line 15
    sget-object v4, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->INVITETIMEOUT:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    const/4 v11, 0x4

    new-array v12, v11, [Ljava/lang/String;

    const/4 v13, 0x0

    aput-object v2, v12, v13

    const/4 v14, 0x1

    aput-object v3, v12, v14

    const-string v3, "endInviteTime"

    const/4 v15, 0x2

    aput-object v3, v12, v15

    const-string v3, "timeout"

    const/16 v16, 0x3

    aput-object v3, v12, v16

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

    move-result-object v3

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

    aput-object v5, v11, v13

    aput-object v0, v11, v14

    .line 16
    invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    aput-object v0, v11, v15

    invoke-static {v9, v10}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    aput-object v0, v11, v16

    .line 17
    invoke-static {v4, v3, v11}, Lcn/rongcloud/rtc/utils/ReportUtil;->appRes(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 18
    :cond_89
    invoke-virtual {v6, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_97

    .line 19
    invoke-virtual {v6, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
    :try_end_92
    .catch Lorg/json/JSONException; {:try_start_40 .. :try_end_92} :catch_93

    goto :goto_97

    :catch_93
    move-exception v0

    .line 20
    invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V

    :cond_97
    :goto_97
    return-void
.end method

.method private modifyListener(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;)V
    .registers 9

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

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

    const-string v1, "remoteUser : "

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

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v1

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

    const-string v1, " , MediaTyp : "

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

    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v1

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

    move-result-object v1

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

    const-string v1, " , ResourceState :"

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

    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v1

    invoke-virtual {v0, v1}, 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, "HandleRTCMsgTools"

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

    .line 2
    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v0

    sget-object v1, Lcn/rongcloud/rtc/base/RCRTCMediaType;->AUDIO:Lcn/rongcloud/rtc/base/RCRTCMediaType;

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

    move-result v0

    const/4 v1, 0x0

    const/4 v2, 0x1

    if-eqz v0, :cond_74

    .line 3
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_5a

    .line 4
    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v3

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

    invoke-virtual {v3, v4}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_55

    goto :goto_56

    :cond_55
    const/4 v1, 0x1

    :goto_56
    invoke-virtual {v0, p1, p2, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserMuteAudio(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;Z)V

    goto :goto_ad

    .line 5
    :cond_5a
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_ad

    .line 6
    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v3, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v4

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

    invoke-virtual {v4, v5}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_6f

    goto :goto_70

    :cond_6f
    const/4 v1, 0x1

    :goto_70
    invoke-virtual {v0, v3, p1, p2, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserMuteAudio(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;Z)V

    goto :goto_ad

    .line 7
    :cond_74
    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v0

    sget-object v3, Lcn/rongcloud/rtc/base/RCRTCMediaType;->VIDEO:Lcn/rongcloud/rtc/base/RCRTCMediaType;

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

    move-result v0

    if-eqz v0, :cond_ad

    .line 8
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_95

    .line 9
    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v3

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

    invoke-virtual {v3, v4}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_91

    const/4 v1, 0x1

    :cond_91
    invoke-virtual {v0, p1, p2, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserMuteVideo(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;Z)V

    goto :goto_ad

    .line 10
    :cond_95
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_ad

    .line 11
    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v3, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;

    move-result-object v4

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

    invoke-virtual {v4, v5}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_aa

    const/4 v1, 0x1

    :cond_aa
    invoke-virtual {v0, v3, p1, p2, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserMuteVideo(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;Z)V

    :cond_ad
    :goto_ad
    return-void
.end method

.method private needNotifyPublishResource(Ljava/util/List;Ljava/util/List;)Z
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;",
            ">;)Z"
        }
    .end annotation

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

    move-result v0

    const/4 v1, 0x0

    if-nez v0, :cond_50

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

    move-result v0

    const/4 v2, 0x1

    if-nez v0, :cond_4f

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

    move-result-object p2

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

    move-result v0

    if-eqz v0, :cond_50

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

    move-result-object v0

    check-cast v0, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;

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

    move-result-object v3

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

    move-result v4

    if-eqz v4, :cond_4c

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

    move-result-object v4

    check-cast v4, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;

    .line 5
    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v5

    invoke-interface {v4}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;

    move-result-object v6

    invoke-virtual {v5, v6}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_22

    invoke-virtual {v0}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;

    move-result-object v5

    invoke-interface {v4}, Lcn/rongcloud/rtc/base/RCRTCStream;->getTag()Ljava/lang/String;

    move-result-object v4

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

    move-result v4

    if-eqz v4, :cond_22

    const/4 v0, 0x1

    goto :goto_4d

    :cond_4c
    const/4 v0, 0x0

    :goto_4d
    if-nez v0, :cond_12

    :cond_4f
    return v2

    :cond_50
    return v1
.end method

.method private onUserLeftOrOffline(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)V
    .registers 13

    .line 1
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    instance-of v1, v0, Lcn/rongcloud/rtc/center/RCRoomImpl;

    const/4 v2, 0x2

    const/4 v3, 0x3

    const/4 v4, 0x1

    const/4 v5, 0x0

    if-eqz v1, :cond_142

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

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

    const-string v1, "TargetRoomId :"

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

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v1

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

    const-string v1, " , userId :"

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

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

    const-string v1, " , MainRoomId :"

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

    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

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

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

    move-result-object v0

    const-string v1, "HandleRTCMsgTools"

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

    .line 3
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v0, p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v0

    if-eqz v0, :cond_80

    .line 4
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v1

    invoke-direct {p0, p1, v1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->removeRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Ljava/lang/String;)V

    .line 5
    invoke-direct {p0, p2}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->getTAG(Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    move-result-object p1

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

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v5

    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v3}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v4

    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    aput-object v3, v1, v2

    const-string v2, "uid|roomid|mainRoomId"

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

    .line 6
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz p1, :cond_79

    .line 7
    sget-object v1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->LEFT:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, v1, :cond_72

    .line 8
    invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onUserLeft(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto :goto_79

    .line 9
    :cond_72
    sget-object v1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->OFFLINE:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, v1, :cond_79

    .line 10
    invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onUserOffline(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    .line 11
    :cond_79
    :goto_79
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/InRoomState;->userLeft()V

    goto/16 :goto_18e

    .line 12
    :cond_80
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

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

    move-result-object v0

    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->getRoomByUserId(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    move-result-object v0

    if-eqz v0, :cond_13c

    .line 13
    invoke-interface {v0, p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object v6

    if-eqz v6, :cond_11b

    .line 14
    invoke-interface {v6}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v7

    invoke-direct {p0, v0, v7}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->removeRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Ljava/lang/String;)V

    .line 15
    instance-of v7, v0, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    .line 16
    new-instance v8, Ljava/lang/StringBuilder;

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

    const-string v9, "isOtherRoom : "

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

    invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v9, ", roomId : "

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

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v9

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

    const-string v9, " , userId : "

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

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

    const-string p1, " , isOtherRoom : "

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

    invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

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

    move-result-object p1

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

    .line 17
    invoke-direct {p0, p2}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->getTAG(Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    move-result-object p1

    const/4 v1, 0x4

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

    invoke-interface {v6}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v8

    aput-object v8, v1, v5

    iget-object v8, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    aput-object v8, v1, v4

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v8

    aput-object v8, v1, v2

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

    move-result-object v2

    aput-object v2, v1, v3

    const-string v2, "uid|mainRoomId|otherRoomId|isOtherRoom"

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

    if-eqz v7, :cond_114

    .line 18
    check-cast v0, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRCRoomListener()Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    move-result-object p1

    if-eqz p1, :cond_f8

    goto :goto_f9

    :cond_f8
    const/4 v4, 0x0

    :goto_f9
    if-eqz v7, :cond_114

    if-eqz v4, :cond_114

    .line 19
    sget-object p1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->LEFT:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, p1, :cond_109

    .line 20
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRCRoomListener()Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    move-result-object p1

    invoke-virtual {p1, v0, v6}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onUserLeft(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto :goto_114

    .line 21
    :cond_109
    sget-object p1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->OFFLINE:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, p1, :cond_114

    .line 22
    invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRCRoomListener()Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    move-result-object p1

    invoke-virtual {p1, v0, v6}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onUserOffline(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    .line 23
    :cond_114
    :goto_114
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/InRoomState;->userLeft()V

    goto/16 :goto_18e

    .line 24
    :cond_11b
    new-instance p2, Ljava/lang/StringBuilder;

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

    const-string v2, "User not found. uid :"

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

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

    const-string p1, " , RID\uff1a "

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

    invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

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

    goto :goto_18e

    :cond_13c
    const-string p1, "rcrtcBaseRoom is empty."

    .line 25
    invoke-static {v1, p1}, Lcn/rongcloud/rtc/utils/FinLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_18e

    .line 26
    :cond_142
    invoke-interface {v0, p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    move-result-object p1

    if-eqz p1, :cond_18e

    .line 27
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v1

    invoke-direct {p0, v0, v1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->removeRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Ljava/lang/String;)V

    .line 28
    invoke-direct {p0, p2}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->getTAG(Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;)Lcn/rongcloud/rtc/utils/ReportUtil$TAG;

    move-result-object v0

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

    invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v5

    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    invoke-interface {v3}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRoomId()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v1, v4

    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

    aput-object v3, v1, v2

    const-string v2, "uid|otherRoomId|mainRoomId"

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

    .line 29
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_189

    .line 30
    sget-object v1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->LEFT:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, v1, :cond_17e

    .line 31
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v0, p2, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onUserLeft(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    goto :goto_189

    .line 32
    :cond_17e
    sget-object v1, Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;->OFFLINE:Lcn/rongcloud/rtc/proxy/message/messagebeans/UserState$State;

    if-ne p2, v1, :cond_189

    .line 33
    iget-object p2, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast p2, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v0, p2, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onUserOffline(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;)V

    .line 34
    :cond_189
    :goto_189
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/InRoomState;->userLeft()V

    :cond_18e
    :goto_18e
    return-void
.end method

.method private removeRemoteUser(Lcn/rongcloud/rtc/api/RCRTCBaseRoom;Ljava/lang/String;)V
    .registers 4

    if-eqz p1, :cond_15

    .line 1
    instance-of v0, p1, Lcn/rongcloud/rtc/center/RCRoomImpl;

    if-eqz v0, :cond_c

    .line 2
    check-cast p1, Lcn/rongcloud/rtc/center/RCRoomImpl;

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

    goto :goto_15

    .line 3
    :cond_c
    instance-of v0, p1, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    if-eqz v0, :cond_15

    .line 4
    check-cast p1, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->removeRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;

    :cond_15
    :goto_15
    return-void
.end method

.method private resubscribeAVStream(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;Ljava/util/List;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcn/rongcloud/rtc/api/RCRTCRemoteUser;",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;",
            "Ljava/util/List<",
            "Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
            ">;)V"
        }
    .end annotation

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

    move-result v0

    if-nez v0, :cond_19

    .line 2
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_e

    .line 3
    invoke-virtual {v0, p1, p2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onRemoteUserUnpublishResource(Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    goto :goto_19

    .line 4
    :cond_e
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_19

    .line 5
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v1, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v0, v1, p1, p2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onRemoteUserUnpublishResource(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/RCRTCRemoteUser;Ljava/util/List;)V

    .line 6
    :cond_19
    :goto_19
    invoke-static {p2}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->isEmpty(Ljava/util/Collection;)Z

    move-result p1

    if-eqz p1, :cond_25

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

    move-result p1

    if-nez p1, :cond_30

    .line 7
    :cond_25
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mInRoomState:Lcn/rongcloud/rtc/engine/InRoomState;

    invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/InRoomState;->getPubSubQueue()Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;

    move-result-object p1

    const/4 p2, 0x4

    const/4 p3, 0x0

    invoke-virtual {p1, p2, p3, p3}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V

    :cond_30
    return-void
.end method


# virtual methods
.method public handleRTCMessage(Lio/rong/imlib/model/Message;)V
    .registers 9

    .line 1
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;

    move-result-object v0

    .line 2
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object v1

    .line 3
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getTargetId()Ljava/lang/String;

    move-result-object v2

    .line 4
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "[handleRTCMessage]  senderId : "

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

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

    const-string v4, " , targetId :"

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

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

    const-string v4, "  , mMainRoomId :"

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

    iget-object v4, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

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

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

    move-result-object v3

    const-string v4, "HandleRTCMsgTools"

    invoke-static {v4, v3}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 5
    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;

    invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->get(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    move-result-object v3

    iput-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    const/4 v3, 0x0

    .line 6
    iput-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    .line 7
    iput-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    .line 8
    iget-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    const-string v5, ", MessageContent: "

    if-eqz v3, :cond_143

    .line 9
    instance-of v6, v3, Lcn/rongcloud/rtc/api/RCRTCRoom;

    if-eqz v6, :cond_58

    .line 10
    check-cast v3, Lcn/rongcloud/rtc/center/RCRoomImpl;

    invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    move-result-object v3

    iput-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    goto :goto_64

    .line 11
    :cond_58
    instance-of v6, v3, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    if-eqz v6, :cond_64

    .line 12
    check-cast v3, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;

    invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRCRoomListener()Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    move-result-object v3

    iput-object v3, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    .line 13
    :cond_64
    :goto_64
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v6, "[handleRTCMessage] ObjectName: "

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getObjectName()Ljava/lang/String;

    move-result-object v6

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

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

    new-instance v5, Ljava/lang/String;

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

    move-result-object v6

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

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

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

    move-result-object v3

    invoke-static {v4, v3}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 14
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;

    if-eqz v3, :cond_96

    .line 15
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;

    invoke-direct {p0, p1, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handlePublishResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/PublishResourceMessage;)V

    goto/16 :goto_142

    .line 16
    :cond_96
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/RoomUserStateMessage;

    if-eqz v3, :cond_a1

    .line 17
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/RoomUserStateMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleRoomUserStateMessage(Lcn/rongcloud/rtc/proxy/message/RoomUserStateMessage;)V

    goto/16 :goto_142

    .line 18
    :cond_a1
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;

    if-eqz v3, :cond_ac

    .line 19
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;

    invoke-direct {p0, p1, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleModifyResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/ModifyResourceMessage;)V

    goto/16 :goto_142

    .line 20
    :cond_ac
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;

    if-eqz v3, :cond_b7

    .line 21
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;

    invoke-direct {p0, p1, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleUnPublishResourceMessage(Lio/rong/imlib/model/Message;Lcn/rongcloud/rtc/proxy/message/UnPublishResourceMessage;)V

    goto/16 :goto_142

    .line 22
    :cond_b7
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/KickMessage;

    if-eqz v3, :cond_c0

    .line 23
    invoke-direct {p0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleKickMessage()V

    goto/16 :goto_142

    .line 24
    :cond_c0
    instance-of v3, v0, Lcn/rongcloud/rtc/proxy/message/TotalContentResources;

    if-eqz v3, :cond_cb

    .line 25
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/TotalContentResources;

    invoke-direct {p0, v1, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleTotalContentResources(Ljava/lang/String;Lcn/rongcloud/rtc/proxy/message/TotalContentResources;)V

    goto/16 :goto_142

    .line 26
    :cond_cb
    instance-of v1, v0, Lcn/rongcloud/rtc/proxy/message/InviteMessage;

    if-eqz v1, :cond_d6

    .line 27
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/InviteMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->inviteNotify(Lcn/rongcloud/rtc/proxy/message/InviteMessage;)V

    goto/16 :goto_142

    .line 28
    :cond_d6
    instance-of v1, v0, Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;

    if-eqz v1, :cond_e0

    .line 29
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->inviteTimeoutNotify(Lcn/rongcloud/rtc/proxy/message/InviteTimeoutMessage;)V

    goto :goto_142

    .line 30
    :cond_e0
    instance-of v1, v0, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;

    if-eqz v1, :cond_107

    .line 31
    iget-object p1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mMainRoomId:Ljava/lang/String;

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

    move-result p1

    if-eqz p1, :cond_f2

    .line 32
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->inviteAnswerNotify(Lcn/rongcloud/rtc/proxy/message/InviteAnswerMessage;)V

    goto :goto_142

    .line 33
    :cond_f2
    new-instance p1, Ljava/lang/StringBuilder;

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

    const-string v0, "InviteAnswer->ignore. rid :"

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

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

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

    move-result-object p1

    invoke-static {v4, p1}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_142

    .line 34
    :cond_107
    instance-of v1, v0, Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;

    if-eqz v1, :cond_111

    .line 35
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->cancelInviteNotify(Lcn/rongcloud/rtc/proxy/message/CancelInviteMessage;)V

    goto :goto_142

    .line 36
    :cond_111
    instance-of v1, v0, Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;

    if-eqz v1, :cond_11b

    .line 37
    check-cast v0, Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;

    invoke-direct {p0, v0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->endInviteNotify(Lcn/rongcloud/rtc/proxy/message/EndInviteMessage;)V

    goto :goto_142

    .line 38
    :cond_11b
    new-instance v0, Ljava/lang/StringBuilder;

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

    const-string v1, "handleRTCMessage()->unKnownMessage "

    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

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

    .line 39
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomEventsListener:Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;

    if-eqz v0, :cond_137

    .line 40
    invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onReceiveMessage(Lio/rong/imlib/model/Message;)V

    goto :goto_142

    .line 41
    :cond_137
    iget-object v0, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mRoomListener:Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;

    if-eqz v0, :cond_142

    .line 42
    iget-object v1, p0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->mBaseRoom:Lcn/rongcloud/rtc/api/RCRTCBaseRoom;

    check-cast v1, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;

    invoke-virtual {v0, v1, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onReceiveMessage(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Lio/rong/imlib/model/Message;)V

    :cond_142
    :goto_142
    return-void

    .line 43
    :cond_143
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v6, "Room not joined. [handleRTCMessage]  senderId : "

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

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

    const-string v1, " , RoomId :"

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

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

    const-string v1, " , ObjectName : "

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

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getObjectName()Ljava/lang/String;

    move-result-object p1

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

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

    new-instance p1, Ljava/lang/String;

    .line 44
    invoke-virtual {v0}, Lio/rong/imlib/model/MessageContent;->encode()[B

    move-result-object v0

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

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

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

    move-result-object p1

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

    return-void
.end method