InRoomState.smali
.class public Lcn/rongcloud/rtc/engine/InRoomState;
.super Lcn/rongcloud/rtc/engine/AbstractBaseState;
.source "InRoomState.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "InRoomState"
# instance fields
.field private mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
.field private mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
.field private mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
.field private mReceivedMsgTools:Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;
.field private mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
# direct methods
.method public constructor <init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lcn/rongcloud/rtc/engine/AbstractBaseState;-><init>(Lcn/rongcloud/rtc/engine/RTCEngineImpl;)V
.line 2
new-instance p1, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-direct {p1, p0}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
iput-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
return-void
.end method
.method static synthetic access$000(Lcn/rongcloud/rtc/engine/InRoomState;)Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
return-object p0
.end method
.method static synthetic access$100(Lcn/rongcloud/rtc/engine/InRoomState;)Ljava/lang/String;
.registers 1
.line 1
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static synthetic access$200(Lcn/rongcloud/rtc/engine/InRoomState;)Lcn/rongcloud/rtc/center/RCRoomImpl;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
return-object p0
.end method
.method static synthetic access$300(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lcn/rongcloud/rtc/engine/InRoomState;->sendFinishOtherRoomMessage(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
.method private addTrack(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;Lcn/rongcloud/rtc/core/MediaStreamTrack;)V
.registers 9
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
if-eqz v0, :cond_2a
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_2a
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getRoomByUserId . localUserId :"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;
move-result-object v1
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, "BaseRoomElemet"
invoke-static {v1, v0}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 3
:cond_2a
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->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
const-string v1, "InRoomState"
if-nez v0, :cond_61
.line 4
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "addTrack.Room is empty.uid :"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " , tag :"
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " , mediaType :"
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Lcn/rongcloud/rtc/base/RCRTCMediaType;->getValue()I
move-result p1
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 5
:cond_61
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "addTrack.roomId : +"
invoke-virtual {v2, v3}, 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 v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 6
invoke-interface {v0, p1}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUser(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
move-result-object v1
if-nez v1, :cond_80
return-void
.line 7
:cond_80
invoke-interface {v1, p2, p3}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStream(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;)Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
move-result-object v1
if-nez v1, :cond_87
return-void
.line 8
:cond_87
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "addTrack : "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v1}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "subscribedStreams"
invoke-static {v3, v2}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 9
invoke-interface {v1, p4}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->setTrack(Lcn/rongcloud/rtc/core/MediaStreamTrack;)V
.line 10
sget-object p4, Lcn/rongcloud/rtc/base/RCRTCMediaType;->VIDEO:Lcn/rongcloud/rtc/base/RCRTCMediaType;
if-ne p3, p4, :cond_c6
.line 11
instance-of p3, v0, Lcn/rongcloud/rtc/api/RCRTCRoom;
if-eqz p3, :cond_b6
.line 12
check-cast v0, Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object p3
invoke-virtual {p3, p1, p2}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onVideoTrackAdd(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_c6
.line 13
:cond_b6
instance-of p3, v0, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;
if-eqz p3, :cond_c6
.line 14
move-object p3, v0
check-cast p3, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;
invoke-virtual {p3}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRCRoomListener()Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;
move-result-object p3
check-cast v0, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;
invoke-virtual {p3, v0, p1, p2}, Lcn/rongcloud/rtc/api/callback/IRCRTCOtherRoomEventsListener;->onVideoTrackAdd(Lcn/rongcloud/rtc/api/RCRTCOtherRoom;Ljava/lang/String;Ljava/lang/String;)V
:cond_c6
:goto_c6
return-void
.end method
.method private getAllPubStreams()Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/webrtc/IStreamResource;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 2
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
return-object v0
.end method
.method private getAllSubscribedStreams()Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/webrtc/IStreamResource;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRemoteUsers()Ljava/util/List;
move-result-object v0
.line 2
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 3
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_f
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3b
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
.line 4
invoke-interface {v2}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_23
:goto_23
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_f
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 5
check-cast v3, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;
.line 6
invoke-virtual {v3}, 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_23
.line 7
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_23
.line 8
:cond_3b
invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
move-result-object v0
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object v0
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->getOtherRoomSubscribedStreams()Ljava/util/List;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
return-object v1
.end method
.method private getRoomId()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoomId()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private joinOtherRoom(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
"Lcn/rongcloud/rtc/api/RCRTCOtherRoom;",
">;)V"
}
.end annotation
.line 1
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "roomId"
.line 2
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_10
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_10} :catch_11
goto :goto_15
:catch_11
move-exception v1
.line 3
invoke-virtual {v1}, Lorg/json/JSONException;->printStackTrace()V
.line 4
:goto_15
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v2
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v4
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v6
new-instance v7, Lcn/rongcloud/rtc/engine/InRoomState$17;
invoke-direct {v7, p0, p1, p2}, Lcn/rongcloud/rtc/engine/InRoomState$17;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
const-string v5, "extra"
move-object v3, p1
invoke-virtual/range {v2 .. v7}, Lcn/rongcloud/rtc/signal/SignalManager;->joinOtherRoom(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/IRongCallback$IRTCJoinRoomCallbackEx;)V
return-void
.end method
.method private leaveOtherRoom(Ljava/lang/String;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 20
move-object/from16 v6, p0
move-object/from16 v2, p1
move/from16 v3, p2
move-object/from16 v5, p3
if-eqz v3, :cond_f
.line 1
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0, v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->removeOtherRoomId(Ljava/lang/String;)V
.line 2
:cond_f
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->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, v2}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->remove(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;
move-result-object v0
move-object v4, v0
check-cast v4, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;
const/4 v7, 0x1
const/4 v0, 0x0
if-nez v4, :cond_45
.line 3
sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->LEAVEOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Object;
aput-object v2, v4, v0
invoke-static/range {p2 .. p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
aput-object v0, v4, v7
const/4 v0, 0x2
sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v4, v0
const-string v0, "otherRoomId|notifyFinished|code"
invoke-static {v1, v0, v4}, Lcn/rongcloud/rtc/utils/ReportUtil;->appError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 4
sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v6, v0, v5}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
return-void
.line 5
:cond_45
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
.line 6
invoke-interface {v4}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v1
if-eqz v1, :cond_a1
invoke-interface {v4}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
if-lez v1, :cond_a1
.line 7
invoke-interface {v4}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_62
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v8
if-eqz v8, :cond_a1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
.line 8
invoke-interface {v8}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v10
if-eqz v10, :cond_62
invoke-interface {v8}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v10
invoke-interface {v10}, Ljava/util/List;->size()I
move-result v10
if-lez v10, :cond_62
.line 9
invoke-interface {v8}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v8
invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v8
:cond_86
:goto_86
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v10
if-eqz v10, :cond_62
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v10
check-cast v10, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
.line 10
move-object v11, v10
check-cast v11, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;
.line 11
invoke-virtual {v11}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->getSubscribeState()Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
move-result-object v11
sget-object v12, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->SUBSCRIBED:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
if-ne v11, v12, :cond_86
.line 12
invoke-interface {v9, v10}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_86
.line 13
:cond_a1
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v1
if-lez v1, :cond_c6
.line 14
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
const/16 v10, 0x9
new-instance v11, Lcn/rongcloud/rtc/engine/InRoomState$19;
move-object v0, v11
move-object/from16 v1, p0
move-object/from16 v2, p1
move/from16 v3, p2
move-object/from16 v5, p3
invoke-direct/range {v0 .. v5}, Lcn/rongcloud/rtc/engine/InRoomState$19;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;ZLcn/rongcloud/rtc/api/RCRTCOtherRoom;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.line 15
invoke-static {v7}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
const/4 v12, 0x1
move-object v7, v8
move v8, v10
move-object v10, v11
move-object v11, v0
.line 16
invoke-virtual/range {v7 .. v12}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;Ljava/lang/Object;Z)V
goto :goto_10d
:cond_c6
const-string v1, "InRoomState"
const-string v2, "leaveOtherRoom"
.line 17
invoke-static {v1, v2}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 18
iget-object v1, v6, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v2, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v2
.line 19
invoke-direct/range {p0 .. p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v7
new-instance v15, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v8}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v9
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v8}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v10
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v8}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v11
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v8}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v8
const-string v12, ""
invoke-virtual {v8, v12}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
iget-object v8, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v8}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v13
new-instance v14, Lcn/rongcloud/rtc/engine/InRoomState$20;
invoke-direct {v14, v6, v4, v3, v5}, Lcn/rongcloud/rtc/engine/InRoomState$20;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/api/RCRTCOtherRoom;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
move-object v8, v15
invoke-direct/range {v8 .. v14}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
.line 20
invoke-interface {v1, v0, v2, v7, v15}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->exchangeRemoteSDP(ZLjava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
:goto_10d
return-void
.end method
.method private onJoinOtherRoomSuccess(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/util/List;[Ljava/lang/Object;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/base/RCRTCRoomType;",
"Ljava/util/List<",
"Lio/rong/imlib/model/RTCUser;",
">;[",
"Ljava/lang/Object;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback<",
"Lcn/rongcloud/rtc/api/RCRTCOtherRoom;",
">;)V"
}
.end annotation
.line 1
new-instance v0, Lcn/rongcloud/rtc/center/RCLocalUserImpl;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 2
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1, p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->addOtherRoomId(Ljava/lang/String;)V
.line 3
new-instance v6, Ljava/util/LinkedHashMap;
invoke-direct {v6}, Ljava/util/LinkedHashMap;-><init>()V
.line 4
array-length v1, p4
const/4 v9, 0x1
const/4 v3, 0x2
if-lt v1, v3, :cond_21
.line 5
aget-object v1, p4, v9
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
move-object v7, v1
goto :goto_22
:cond_21
move-object v7, v2
.line 6
:goto_22
array-length v1, p4
const/4 v4, 0x3
const-string v5, "InRoomState"
if-lt v1, v4, :cond_9f
aget-object v1, p4, v3
if-eqz v1, :cond_9f
.line 7
aget-object p4, p4, v3
check-cast p4, Ljava/util/HashMap;
if-eqz p4, :cond_a4
.line 8
invoke-virtual {p4}, Ljava/util/HashMap;->size()I
move-result v1
if-lez v1, :cond_a4
.line 9
invoke-virtual {p4}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object p4
invoke-interface {p4}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p4
:goto_40
invoke-interface {p4}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_a4
invoke-interface {p4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 10
new-instance v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/String;
invoke-direct {v3, v4, v8}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 11
invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviteeRoomId()Ljava/lang/String;
move-result-object v4
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v8
invoke-static {v4, v8}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_95
invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviterRoomId()Ljava/lang/String;
move-result-object v4
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v8
invoke-static {v4, v8}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_7a
goto :goto_95
.line 12
:cond_7a
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Not part of the PK list. key :"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v5, v1}, Lcn/rongcloud/rtc/utils/FinLog;->w(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_40
.line 13
:cond_95
:goto_95
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v1
invoke-virtual {v1, v3}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->put(Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;)V
goto :goto_40
:cond_9f
const-string p4, "KV not found."
.line 14
invoke-static {v5, p4}, Lcn/rongcloud/rtc/utils/FinLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 15
:cond_a4
invoke-static {p3}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->isEmpty(Ljava/util/Collection;)Z
move-result p4
if-nez p4, :cond_13e
.line 16
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "RTCUser size : "
invoke-virtual {p4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p3}, Ljava/util/List;->size()I
move-result v1
invoke-virtual {p4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p4
invoke-static {v5, p4}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 17
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p3
move-object p4, v2
:goto_c7
invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_13e
invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/rong/imlib/model/RTCUser;
.line 18
invoke-virtual {v1}, Lio/rong/imlib/model/RTCUser;->getUid()Ljava/lang/String;
move-result-object v3
.line 19
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "uid = "
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, 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 {v5, v4}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 20
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCUserImpl;->getUserId()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_f6
goto :goto_c7
.line 21
:cond_f6
invoke-virtual {v1}, Lio/rong/imlib/model/RTCUser;->getData()Ljava/util/HashMap;
move-result-object v1
if-eqz v1, :cond_117
const-string p4, "uris"
.line 22
invoke-interface {v1, p4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p4
check-cast p4, Ljava/lang/String;
const-string v4, "extra"
.line 23
invoke-interface {v1, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 24
invoke-static {v1}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->getUserProfile(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 25
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_119
goto :goto_13c
:cond_117
move-object v1, p4
move-object p4, v2
.line 26
:cond_119
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "joinOtherRoom . uris = "
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, " , extra :"
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, 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 {v5, v4}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 27
invoke-static {v3, p4}, Lcn/rongcloud/rtc/center/RCRemoteUserImpl;->parseRemoteUsers(Ljava/lang/String;Ljava/lang/String;)Lcn/rongcloud/rtc/center/RCRemoteUserImpl;
move-result-object p4
.line 28
invoke-interface {v6, v3, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:goto_13c
move-object p4, v1
goto :goto_c7
.line 29
:cond_13e
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "JoinOtherRoomSuccess->roomId : "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p4, " , sessionId :"
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
invoke-static {v5, p3}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 30
new-instance p3, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;
iget-object p4, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v8, p4, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mCallbackHandler:Landroid/os/Handler;
move-object v3, p3
move-object v4, p1
move-object v5, p2
invoke-direct/range {v3 .. v8}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;-><init>(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/util/Map;Ljava/lang/String;Landroid/os/Handler;)V
.line 31
iget-object p2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {p2}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object p2
invoke-virtual {p2, p1, p3}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->put(Ljava/lang/String;Lcn/rongcloud/rtc/api/RCRTCBaseRoom;)V
.line 32
sget-object p2, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->JOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
new-array p4, v9, [Ljava/lang/Object;
const/4 v0, 0x0
aput-object p1, p4, v0
const-string p1, "otherRoomId"
invoke-static {p2, p1, p4}, Lcn/rongcloud/rtc/utils/ReportUtil;->appRes(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 33
invoke-virtual {p0, p3, p5}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->onSuccessCallback(Ljava/lang/Object;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.line 34
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
const/16 p2, 0x8
invoke-virtual {p1, p2, v2, v2}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
return-void
.end method
.method private onPubSubFailed(Landroid/os/Message;Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
.registers 9
.line 1
invoke-virtual {p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object p2
check-cast p2, [Ljava/lang/Object;
.line 2
array-length v0, p2
const/4 v1, 0x0
const/4 v2, 0x0
move-object v3, v1
:goto_a
if-ge v2, v0, :cond_20
aget-object v4, p2, v2
.line 3
instance-of v5, v4, Lcn/rongcloud/rtc/base/RTCErrorCode;
if-eqz v5, :cond_16
.line 4
check-cast v4, Lcn/rongcloud/rtc/base/RTCErrorCode;
move-object v3, v4
goto :goto_1d
.line 5
:cond_16
instance-of v5, v4, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;
if-eqz v5, :cond_1d
.line 6
check-cast v4, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;
move-object v1, v4
:cond_1d
:goto_1d
add-int/lit8 v2, v2, 0x1
goto :goto_a
:cond_20
if-eqz v1, :cond_28
if-eqz v3, :cond_28
.line 7
invoke-interface {v1, v3}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
goto :goto_65
.line 8
:cond_28
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "onPubSubFailed: msg.what="
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget p1, p1, Landroid/os/Message;->what:I
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " , callback="
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "null"
if-nez v1, :cond_42
move-object v0, p1
goto :goto_46
.line 9
:cond_42
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
:goto_46
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " , errorCode="
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-nez v3, :cond_51
goto :goto_59
:cond_51
invoke-virtual {v3}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
:goto_59
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 p1
const-string p2, "InRoomState"
.line 10
invoke-static {p2, p1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_65
return-void
.end method
.method private onPublishStreamsSuccess(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
">;",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;",
">;",
"Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->addPublishedStream(Ljava/util/List;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_f
:goto_f
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_53
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;
.line 3
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_1f
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_f
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;
.line 4
invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v4
invoke-interface {v1}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v5
if-ne v4, v5, :cond_1f
invoke-virtual {v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getTag()Ljava/lang/String;
move-result-object v4
invoke-interface {v1}, 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_1f
.line 5
move-object v2, v1
check-cast v2, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;
invoke-virtual {v2, v3}, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;->updateMediaInfo(Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;)V
.line 6
invoke-interface {p1, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_f
.line 7
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;->start()V
goto :goto_f
.line 8
:cond_53
invoke-virtual {p4, p3}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
return-void
.end method
.method private onReJoinRoomSuccess(Ljava/util/List;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lio/rong/imlib/model/RTCUser;",
">;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getPingManager()Lcn/rongcloud/rtc/module/RTCPingManager;
move-result-object v0
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0, v1, p1}, Lcn/rongcloud/rtc/module/RTCPingManager;->diffUsers(Lcn/rongcloud/rtc/center/RCRoomImpl;Ljava/util/List;)V
const/4 p1, 0x1
.line 2
invoke-direct {p0, p1}, Lcn/rongcloud/rtc/engine/InRoomState;->reconnect(Z)V
return-void
.end method
.method private onStartReconnectSuccess(Landroid/util/Pair;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/Pair<",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;",
">;",
"Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;",
">;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
iget-object p1, p1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast p1, Ljava/util/List;
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->updateMediaInfos(Ljava/util/List;)V
return-void
.end method
.method private onSubScribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;)V
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lcn/rongcloud/rtc/webrtc/IStreamResource;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
"Lcn/rongcloud/rtc/utils/ReportUtil$TAG;",
")V"
}
.end annotation
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
new-instance v9, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v3
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v4
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v5
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v2}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v2
const-string v6, ""
invoke-virtual {v2, v6}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v7
new-instance v8, Lcn/rongcloud/rtc/engine/InRoomState$11;
invoke-direct {v8, p0, p3, p2, p1}, Lcn/rongcloud/rtc/engine/InRoomState$11;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Ljava/util/List;)V
move-object v2, v9
invoke-direct/range {v2 .. v8}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v0, v1, p1, v9}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->subscribeStreams(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method private onSubscribeStreamSuccess(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_16
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 2
check-cast v0, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->SUBSCRIBED:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->setSubscribeState(Lcn/rongcloud/rtc/base/RCRTCSubscribeState;)V
goto :goto_4
:cond_16
const/4 p1, 0x0
.line 3
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
return-void
.end method
.method private onSwitchStreamFailed(ZLjava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/base/RCRTCStream;",
">;)V"
}
.end annotation
.line 1
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_4
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1b
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 2
check-cast v0, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;
if-nez p1, :cond_15
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCStreamType;->TINY:Lcn/rongcloud/rtc/base/RCRTCStreamType;
goto :goto_17
:cond_15
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCStreamType;->NORMAL:Lcn/rongcloud/rtc/base/RCRTCStreamType;
:goto_17
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;->setStreamType(Lcn/rongcloud/rtc/base/RCRTCStreamType;)V
goto :goto_4
:cond_1b
return-void
.end method
.method private onUnpublishedStreamsSuccess(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
">;",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_42
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;
.line 2
move-object v2, v0
check-cast v2, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;->stop()V
.line 3
iget-object v3, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getDefaultAudioStream()Lcn/rongcloud/rtc/api/stream/RCRTCMicOutputStream;
move-result-object v3
if-eq v0, v3, :cond_39
iget-object v3, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
move-result-object v3
if-eq v0, v3, :cond_39
.line 4
move-object v2, v0
check-cast v2, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->release()V
.line 5
instance-of v2, v0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
if-eqz v2, :cond_3c
.line 6
iget-object v2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v2, v2, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v2, v1}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->setTinyVideoOutStream(Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;)V
goto :goto_3c
.line 7
:cond_39
invoke-virtual {v2, v1}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->setUri(Ljava/lang/String;)V
.line 8
:cond_3c
:goto_3c
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->removePublishedStream(Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;)V
goto :goto_4
.line 9
:cond_42
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->updateMediaInfos(Ljava/util/List;)V
.line 10
invoke-virtual {p3, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
return-void
.end method
.method private onUnsubscribeResourcesSuccess(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_16
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 2
check-cast v0, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->INIT:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->setSubscribeState(Lcn/rongcloud/rtc/base/RCRTCSubscribeState;)V
goto :goto_4
:cond_16
const/4 p1, 0x0
.line 3
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
return-void
.end method
.method private reconnect(Z)V
.registers 13
const-string v0, "InRoomState"
const-string v1, "reconnect"
.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/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;
invoke-static {v1}, Lcn/rongcloud/rtc/utils/NetUtils;->isNetConnected(Landroid/content/Context;)Z
move-result v1
if-nez v1, :cond_17
const-string p1, "Net Work not Connected"
.line 3
invoke-static {v0, p1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 4
:cond_17
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$5;
invoke-direct {v9, p0}, Lcn/rongcloud/rtc/engine/InRoomState$5;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v0, p1, v1, v2, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->reconnectConnection(ZLjava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method private responseJoinOtherRoom(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
.registers 14
const/4 v0, 0x1
.line 1
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const/4 v0, 0x0
.line 2
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const/4 v0, 0x2
.line 3
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v4
const/4 v0, 0x3
.line 4
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v6
const/4 v0, 0x6
.line 5
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_34
.line 6
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
goto :goto_36
:cond_34
const-string v0, ""
:goto_36
move-object v5, v0
const/4 v0, 0x4
.line 7
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v10, v0
check-cast v10, Ljava/lang/String;
const/4 v0, 0x7
.line 8
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
const/4 v1, 0x5
.line 9
invoke-virtual {p1, v1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object p1
move-object v8, p1
check-cast v8, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;
.line 10
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->createRoomKey(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
.line 11
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v1
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
.line 12
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v7
new-instance v11, Lcn/rongcloud/rtc/engine/InRoomState$3;
invoke-direct {v11, p0, v10, v3, v0}, Lcn/rongcloud/rtc/engine/InRoomState$3;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.line 13
invoke-virtual/range {v1 .. v11}, Lcn/rongcloud/rtc/signal/SignalManager;->responseJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ZLjava/lang/String;Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
.method private sendCancelRequestJoinOtherRoomMessage(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
.registers 11
const/4 v0, 0x0
.line 1
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const/4 v0, 0x4
.line 2
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
const/4 v1, 0x1
.line 3
invoke-virtual {p1, v1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const/4 v1, 0x2
.line 4
invoke-virtual {p1, v1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
move-object v6, v1
check-cast v6, Ljava/lang/String;
const/4 v1, 0x3
.line 5
invoke-virtual {p1, v1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_2d
.line 6
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
goto :goto_2f
:cond_2d
const-string p1, ""
:goto_2f
move-object v7, p1
.line 7
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v1
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
.line 8
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object p1
invoke-interface {p1}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;
move-result-object v5
new-instance v8, Lcn/rongcloud/rtc/engine/InRoomState$2;
invoke-direct {v8, p0, v3, v6, v0}, Lcn/rongcloud/rtc/engine/InRoomState$2;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.line 9
invoke-virtual/range {v1 .. v8}, Lcn/rongcloud/rtc/signal/SignalManager;->cancelRequestJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
.method private sendFinishOtherRoomMessage(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 13
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
if-eqz v0, :cond_8c
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_8c
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
if-eqz v0, :cond_8c
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
.line 2
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_27
goto :goto_8c
:cond_27
const/4 v0, 0x1
.line 3
new-array v7, v0, [Ljava/lang/String;
.line 4
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v1
invoke-virtual {v1, p1}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->get(Ljava/lang/String;)Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;
move-result-object v1
const/4 v2, 0x0
const-string v3, ""
if-eqz v1, :cond_50
.line 5
invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviteSessionId()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_50
.line 6
invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getMultiRoomKey()Ljava/lang/String;
move-result-object v3
aput-object v3, v7, v2
.line 7
invoke-virtual {v1}, Lcn/rongcloud/rtc/proxy/message/messagebeans/PKInfo;->getInviteSessionId()Ljava/lang/String;
move-result-object v1
move-object v5, v1
move-object v9, v3
goto :goto_52
:cond_50
move-object v5, v3
move-object v9, v5
.line 8
:goto_52
sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->FINISHOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v3, 0x3
new-array v3, v3, [Ljava/lang/Object;
aput-object p1, v3, v2
aput-object v9, v3, v0
const/4 v0, 0x2
aput-object v5, v3, v0
const-string v0, "otherRoomId|multiRoomKey|inviteSessionId"
invoke-static {v1, v0, v3}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 9
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;
move-result-object v6
new-instance v8, Lcn/rongcloud/rtc/engine/InRoomState$1;
invoke-direct {v8, p0, p1, p2}, Lcn/rongcloud/rtc/engine/InRoomState$1;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
const-string v3, ""
move-object v2, p1
invoke-virtual/range {v1 .. v8}, Lcn/rongcloud/rtc/signal/SignalManager;->finishOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.line 10
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object p1
invoke-virtual {p1, v9}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->remove(Ljava/lang/String;)V
return-void
.line 11
:cond_8c
:goto_8c
sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {p0, p1, p2}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
const-string p1, "InRoomState"
const-string p2, "sendFinishOtherRoomMessage. Parameter is empty."
.line 12
invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private sendModifyResourceSignal(Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;Z)V
.registers 13
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->MODIFYRESOURCE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/stream/RCStreamImpl;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v2
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RCRTCMediaType;->getDescription()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const/4 v2, 0x1
xor-int/2addr p2, v2
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p2
aput-object p2, v1, v2
const-string p2, "media|isOpen"
invoke-static {v0, p2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
.line 3
new-instance v0, Lorg/json/JSONArray;
invoke-direct {v0}, Lorg/json/JSONArray;-><init>()V
.line 4
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_31
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_5a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;
.line 5
invoke-interface {v4}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_48
goto :goto_31
.line 6
:cond_48
new-instance v5, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;
invoke-direct {v5, v4}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;-><init>(Lcn/rongcloud/rtc/webrtc/IStreamResource;)V
if-ne p1, v4, :cond_52
.line 7
invoke-interface {p2, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 8
:cond_52
invoke-virtual {v5}, Lcn/rongcloud/rtc/proxy/message/messagebeans/MediaResourceInfo;->getJsonObject()Lorg/json/JSONObject;
move-result-object v4
invoke-virtual {v0, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
goto :goto_31
.line 9
:cond_5a
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result p1
const-string v1, "InRoomState"
if-eqz p1, :cond_68
const-string p1, "sendModifyResourceSignal: modifyResourceList is Null"
.line 10
invoke-static {v1, p1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 11
:cond_68
invoke-virtual {v0}, Lorg/json/JSONArray;->toString()Ljava/lang/String;
move-result-object p1
.line 12
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "setRTCUserData publish "
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 13
new-array v6, v2, [Lio/rong/imlib/model/RTCStatusDate;
const-string v0, "uris"
.line 14
invoke-static {v0, p1}, Lcn/rongcloud/rtc/utils/ResourceTools;->getStatusDate(Ljava/lang/String;Ljava/lang/String;)Lio/rong/imlib/model/RTCStatusDate;
move-result-object p1
aput-object p1, v6, v3
.line 15
new-array v8, v2, [Lio/rong/imlib/model/RTCStatusDate;
const-string p1, ""
.line 16
invoke-static {p2, v2, p1}, Lcn/rongcloud/rtc/utils/ResourceTools;->getURIS(Ljava/util/List;ZLjava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string p2, "RCRTC:ModifyResource"
invoke-static {p2, p1}, Lcn/rongcloud/rtc/utils/ResourceTools;->getStatusDate(Ljava/lang/String;Ljava/lang/String;)Lio/rong/imlib/model/RTCStatusDate;
move-result-object p1
aput-object p1, v8, v3
.line 17
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v4
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v5
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$6;
invoke-direct {v9, p0}, Lcn/rongcloud/rtc/engine/InRoomState$6;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
const-string v7, "RCRTC:TotalContentResources"
invoke-virtual/range {v4 .. v9}, Lcn/rongcloud/rtc/signal/SignalManager;->rtcSetUserResource(Ljava/lang/String;[Lio/rong/imlib/model/RTCStatusDate;Ljava/lang/String;[Lio/rong/imlib/model/RTCStatusDate;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
.method private sendRequestJoinOtherRoomMessage(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
.registers 23
move-object/from16 v7, p0
move-object/from16 v0, p1
const/4 v1, 0x0
.line 1
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v16
const/4 v2, 0x1
.line 2
invoke-virtual {v0, v2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
const/4 v3, 0x2
.line 3
invoke-virtual {v0, v3}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v17
const/4 v4, 0x3
.line 4
invoke-virtual {v0, v4}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/Boolean;
invoke-virtual {v5}, Ljava/lang/Boolean;->booleanValue()Z
move-result v15
const/4 v5, 0x4
.line 5
invoke-virtual {v0, v5}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v8
move-object v14, v8
check-cast v14, Ljava/lang/String;
const/4 v8, 0x5
.line 6
invoke-virtual {v0, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v8
if-eqz v8, :cond_40
.line 7
invoke-static {v8}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v8
goto :goto_42
:cond_40
const-string v8, ""
:goto_42
move-object v13, v8
.line 8
iget-object v8, v7, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v8}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v18
const/4 v8, 0x6
.line 9
invoke-virtual {v0, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v19, v0
check-cast v19, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
.line 10
iget-object v0, v7, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCUser;->getUserId()Ljava/lang/String;
move-result-object v0
.line 11
new-instance v12, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;
move-object v8, v12
move-object/from16 v9, v16
move-object v10, v6
move/from16 v11, v17
move-object v5, v12
move-object v12, v14
move-object v3, v13
move-object/from16 v13, v18
move-object/from16 v20, v14
move-object v14, v0
invoke-direct/range {v8 .. v15}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
.line 12
invoke-virtual {v5, v3}, Lcn/rongcloud/rtc/proxy/message/messagebeans/InviteInfo;->toString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v14
.line 13
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
.line 14
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->REQUESTJOINOTHERROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
new-array v3, v4, [Ljava/lang/String;
const-string v5, "inviteeRoomId"
aput-object v5, v3, v1
const-string v10, "inviteeUserId"
aput-object v10, v3, v2
const-string v11, "startInviteTime"
const/4 v12, 0x2
aput-object v11, v3, v12
invoke-static {v3}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
new-array v11, v4, [Ljava/lang/Object;
aput-object v16, v11, v1
aput-object v6, v11, v2
invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v13
aput-object v13, v11, v12
invoke-static {v0, v3, v11}, Lcn/rongcloud/rtc/utils/ReportUtil;->appTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 15
new-instance v0, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;
move-object/from16 v13, v20
invoke-direct {v0, v13, v8, v9}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;-><init>(Ljava/lang/String;J)V
.line 16
iget-object v3, v7, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getInviteMessageElement()Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement;
move-result-object v3
invoke-virtual {v3, v6, v0}, Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement;->put(Ljava/lang/String;Lcn/rongcloud/rtc/engine/tools/multiroom/InviteMessageElement$InviteTimeoutStatistics;)V
const/4 v0, 0x4
.line 17
new-array v0, v0, [Ljava/lang/String;
aput-object v5, v0, v1
aput-object v10, v0, v2
const-string v1, "inviteSessionId"
aput-object v1, v0, v12
const-string v1, "code"
aput-object v1, v0, v4
invoke-static {v0}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->append([Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 18
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v8
new-instance v15, Lcn/rongcloud/rtc/engine/InRoomState$4;
move-object v0, v15
move-object/from16 v1, p0
move-object/from16 v3, v16
move-object v4, v6
move-object v5, v13
move-object v10, v6
move-object/from16 v6, v19
invoke-direct/range {v0 .. v6}, Lcn/rongcloud/rtc/engine/InRoomState$4;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
move-object/from16 v9, v16
move-object/from16 v11, v18
move/from16 v12, v17
invoke-virtual/range {v8 .. v15}, Lcn/rongcloud/rtc/signal/SignalManager;->requestJoinOtherRoom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
.method private sendleaveOtherRoomMessage(Lcn/rongcloud/rtc/center/RCOtherRoomImpl;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 6
.line 1
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v0
.line 2
invoke-virtual {p1}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->release()V
.line 3
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object p1
new-instance v1, Lcn/rongcloud/rtc/engine/InRoomState$21;
invoke-direct {v1, p0, v0, p2, p3}, Lcn/rongcloud/rtc/engine/InRoomState$21;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
invoke-virtual {p1, v0, v1}, Lcn/rongcloud/rtc/signal/SignalManager;->sendleaveOtherRoomMessage(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
return-void
.end method
# virtual methods
.method public enter()V
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
iput-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/center/RCLocalUserImpl;
iput-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
.line 3
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->clear()V
.line 4
new-instance v0, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;
invoke-direct {v0, p0}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
iput-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mReceivedMsgTools:Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;
.line 5
invoke-super {p0}, Lcn/rongcloud/rtc/stateMachine/State;->enter()V
return-void
.end method
.method public exchangeVideoSize(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 13
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->EXCHANGEVIDEOSIZE:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllPubStreams()Ljava/util/List;
move-result-object v1
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$14;
invoke-direct {v9, p0, p1}, Lcn/rongcloud/rtc/engine/InRoomState$14;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v0, v1, v2, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->exchangeVideoSize(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method public getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
return-object v0
.end method
.method public getName()Ljava/lang/String;
.registers 2
const-string v0, "InRoomState"
return-object v0
.end method
.method public getPubSubQueue()Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
return-object v0
.end method
.method public handleMessage(Landroid/os/Message;Lcn/rongcloud/rtc/engine/MsgObjectWraper;)Z
.registers 27
move-object/from16 v6, p0
move-object/from16 v0, p1
move-object/from16 v1, p2
.line 1
iget v2, v0, Landroid/os/Message;->what:I
const/4 v3, 0x5
const/4 v4, 0x4
const/4 v5, 0x0
const/4 v7, 0x3
const/4 v8, 0x2
const/4 v9, 0x0
const/4 v10, 0x1
sparse-switch v2, :sswitch_data_3fc
return v9
.line 2
:sswitch_13
iget-object v1, v6, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->clearDeferredMessage()V
.line 3
iget-object v1, v6, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->deferMessage(Landroid/os/Message;)V
.line 4
invoke-virtual {v6, v5}, Lcn/rongcloud/rtc/engine/InRoomState;->releaseRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 5
:sswitch_22
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object v0
if-eqz v0, :cond_39
.line 6
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object v0
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCParamsType$LeaveRoomReason;->NETWORK_NOT_AVAILABLE:Lcn/rongcloud/rtc/base/RCRTCParamsType$LeaveRoomReason;
invoke-virtual {v1}, Lcn/rongcloud/rtc/base/RCRTCParamsType$LeaveRoomReason;->getValue()I
move-result v1
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onLeaveRoom(I)V
.line 7
:cond_39
invoke-virtual {v6, v5}, Lcn/rongcloud/rtc/engine/InRoomState;->releaseRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 8
:sswitch_3e
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual {v6, v0}, Lcn/rongcloud/rtc/engine/InRoomState;->releaseRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 9
:sswitch_49
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-direct {v6, v0}, Lcn/rongcloud/rtc/engine/InRoomState;->onReJoinRoomSuccess(Ljava/util/List;)V
goto/16 :goto_3fb
.line 10
:sswitch_54
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getPingManager()Lcn/rongcloud/rtc/module/RTCPingManager;
move-result-object v0
iget-object v1, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v1
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/module/RTCPingManager;->reJoinRoom(Lcn/rongcloud/rtc/base/RCRTCRoomType;)V
goto/16 :goto_3fb
.line 11
:sswitch_65
invoke-static {}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getInstance()Lcn/rongcloud/rtc/engine/RTCEngineImpl;
move-result-object v0
sget-object v1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RECONNECT_ERROR:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->engineError(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
goto/16 :goto_3fb
.line 12
:sswitch_70
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/util/Pair;
invoke-direct {v6, v0}, Lcn/rongcloud/rtc/engine/InRoomState;->onStartReconnectSuccess(Landroid/util/Pair;)V
goto/16 :goto_3fb
.line 13
:sswitch_7b
invoke-direct {v6, v9}, Lcn/rongcloud/rtc/engine/InRoomState;->reconnect(Z)V
goto/16 :goto_3fb
.line 14
:sswitch_80
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mReceivedMsgTools:Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/rong/imlib/model/Message;
invoke-virtual {v0, v1}, Lcn/rongcloud/rtc/engine/tools/HandleRTCMsgTools;->handleRTCMessage(Lio/rong/imlib/model/Message;)V
goto/16 :goto_3fb
.line 15
:sswitch_8d
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v11
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v12, v0
check-cast v12, Ljava/lang/String;
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v13
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getSessionId()Ljava/lang/String;
move-result-object v14
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v15, v0
check-cast v15, Ljava/lang/String;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v16, v0
check-cast v16, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual/range {v11 .. v16}, Lcn/rongcloud/rtc/signal/SignalManager;->setMCUConfig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 16
:sswitch_b8
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-direct {v6, v0, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->onUnsubscribeResourcesSuccess(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 17
:sswitch_c9
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual {v0, v3, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 18
:sswitch_dc
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual {v0, v7, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 19
:sswitch_ef
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v11
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v12
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v13, v0
check-cast v13, Lcn/rongcloud/rtc/base/RCAttributeType;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v14, v0
check-cast v14, Ljava/lang/String;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v15, v0
check-cast v15, Ljava/lang/String;
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v16, v0
check-cast v16, Lio/rong/imlib/model/MessageContent;
invoke-virtual {v1, v4}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v17, v0
check-cast v17, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual/range {v11 .. v17}, Lcn/rongcloud/rtc/signal/SignalManager;->rtcPutInnerData(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 20
:sswitch_123
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v0
iget-object v2, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lio/rong/imlib/model/MessageContent;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/rong/imlib/IRongCallback$ISendMessageCallback;
invoke-virtual {v0, v2, v3, v1}, Lcn/rongcloud/rtc/signal/SignalManager;->sendIMSignal(Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/IRongCallback$ISendMessageCallback;)V
goto/16 :goto_3fb
.line 21
:sswitch_13e
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v0
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/base/RCAttributeType;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/List;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual {v0, v2, v3, v4, v1}, Lcn/rongcloud/rtc/signal/SignalManager;->getAttributes(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 22
:sswitch_15f
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v11
invoke-virtual {v1, v4}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v12, v0
check-cast v12, Ljava/lang/String;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v13, v0
check-cast v13, Lcn/rongcloud/rtc/base/RCAttributeType;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v14, v0
check-cast v14, Ljava/util/List;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v15, v0
check-cast v15, Lio/rong/imlib/model/MessageContent;
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v16, v0
check-cast v16, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual/range {v11 .. v16}, Lcn/rongcloud/rtc/signal/SignalManager;->deleteAttributes(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/util/List;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 23
:sswitch_18c
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v17
invoke-virtual {v1, v3}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v18, v0
check-cast v18, Ljava/lang/String;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v19, v0
check-cast v19, Lcn/rongcloud/rtc/base/RCAttributeType;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v20, v0
check-cast v20, Ljava/lang/String;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v21, v0
check-cast v21, Ljava/lang/String;
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v22, v0
check-cast v22, Lio/rong/imlib/model/MessageContent;
invoke-virtual {v1, v4}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object/from16 v23, v0
check-cast v23, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual/range {v17 .. v23}, Lcn/rongcloud/rtc/signal/SignalManager;->setAttributeValue(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCAttributeType;Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/model/MessageContent;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 24
:sswitch_1c5
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object v0
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v0, v2, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onFirstRemoteVideoFrame(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_3fb
.line 25
:sswitch_1dc
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Boolean;
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
invoke-direct {v6, v0, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->sendModifyResourceSignal(Lcn/rongcloud/rtc/center/stream/RCOutputStreamImpl;Z)V
goto/16 :goto_3fb
.line 26
:sswitch_1f1
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Boolean;
invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/List;
invoke-direct {v6, v2, v3}, Lcn/rongcloud/rtc/engine/InRoomState;->onSwitchStreamFailed(ZLjava/util/List;)V
.line 27
invoke-direct/range {p0 .. p2}, Lcn/rongcloud/rtc/engine/InRoomState;->onPubSubFailed(Landroid/os/Message;Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
goto/16 :goto_3fb
.line 28
:sswitch_209
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-direct {v6, v0, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->onSubscribeStreamSuccess(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 29
:sswitch_21a
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
const/4 v2, 0x6
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
invoke-static {v3}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v4
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual {v0, v2, v3, v4, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Ljava/lang/Object;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 30
:sswitch_236
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-direct {v6, v0, v2, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->onUnpublishedStreamsSuccess(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 31
:sswitch_24d
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-virtual {v0, v8, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 32
:sswitch_260
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual {v0, v5}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
goto/16 :goto_3fb
.line 33
:sswitch_26b
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
const/4 v1, 0x7
invoke-virtual {v0, v1, v5, v5}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 34
:sswitch_273
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual {v0, v10, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 35
:sswitch_286
invoke-direct/range {p0 .. p2}, Lcn/rongcloud/rtc/engine/InRoomState;->onPubSubFailed(Landroid/os/Message;Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
goto/16 :goto_3fb
.line 36
:sswitch_28b
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-direct {v6, v0, v2, v3, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->onPublishStreamsSuccess(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/api/stream/RCRTCLiveInfo;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto/16 :goto_3fb
.line 37
:sswitch_2a8
iget-object v0, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;
invoke-virtual {v0, v10, v2, v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->offer(ILjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto/16 :goto_3fb
.line 38
:sswitch_2bb
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Boolean;
invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-direct {v6, v0, v2, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->sendleaveOtherRoomMessage(Lcn/rongcloud/rtc/center/RCOtherRoomImpl;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 39
:sswitch_2d6
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 40
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
.line 41
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "otherRoomId :"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, " pingErrorCode :"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "InRoomState"
invoke-static {v2, v1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 42
invoke-virtual/range {p0 .. p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
move-result-object v1
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object v1
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->remove(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;
if-eqz v1, :cond_317
.line 43
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCOtherRoomImpl;->release()V
.line 44
:cond_317
iget-object v1, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
if-eqz v1, :cond_3fb
.line 45
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->removeOtherRoomId(Ljava/lang/String;)V
.line 46
iget-object v1, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object v1
if-eqz v1, :cond_3fb
.line 47
iget-object v1, v6, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getEventsListener()Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;
move-result-object v1
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCRoomEventsListener;->onOtherRoomConnectionError(Ljava/lang/String;)V
goto/16 :goto_3fb
.line 48
:sswitch_331
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
invoke-static {v1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->valueOf(I)Lcn/rongcloud/rtc/base/RTCErrorCode;
move-result-object v1
invoke-interface {v0, v1}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
goto/16 :goto_3fb
.line 49
:sswitch_34a
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-virtual {v0, v5}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;->onSuccess(Ljava/lang/Object;)V
goto/16 :goto_3fb
.line 50
:sswitch_355
invoke-direct {v6, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->responseJoinOtherRoom(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
goto/16 :goto_3fb
.line 51
:sswitch_35a
invoke-direct {v6, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->sendCancelRequestJoinOtherRoomMessage(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
goto/16 :goto_3fb
.line 52
:sswitch_35f
invoke-direct {v6, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->sendRequestJoinOtherRoomMessage(Lcn/rongcloud/rtc/engine/MsgObjectWraper;)V
goto/16 :goto_3fb
.line 53
:sswitch_364
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Boolean;
invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
invoke-direct {v6, v0, v2, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->leaveOtherRoom(Ljava/lang/String;ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto/16 :goto_3fb
.line 54
:sswitch_381
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v5, v0
check-cast v5, [Ljava/lang/Object;
.line 55
invoke-virtual {v1, v4}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v7, v0
check-cast v7, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
if-nez v5, :cond_397
.line 56
sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v6, v0, v7}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->onFailedCallback(Lcn/rongcloud/rtc/base/RTCErrorCode;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
goto :goto_3fb
.line 57
:cond_397
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v3, v0
check-cast v3, Lcn/rongcloud/rtc/base/RCRTCRoomType;
.line 58
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
move-object v4, v0
check-cast v4, Ljava/util/List;
move-object/from16 v0, p0
move-object v1, v2
move-object v2, v3
move-object v3, v4
move-object v4, v5
move-object v5, v7
.line 59
invoke-direct/range {v0 .. v5}, Lcn/rongcloud/rtc/engine/InRoomState;->onJoinOtherRoomSuccess(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/util/List;[Ljava/lang/Object;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto :goto_3fb
.line 60
:sswitch_3b8
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;
invoke-direct {v6, v0, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->joinOtherRoom(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
goto :goto_3fb
.line 61
:sswitch_3ca
invoke-virtual {v1, v9}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v1, v10}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v8}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/base/RCRTCMediaType;
invoke-virtual {v1, v7}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/core/MediaStreamTrack;
invoke-direct {v6, v0, v2, v3, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->addTrack(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCMediaType;Lcn/rongcloud/rtc/core/MediaStreamTrack;)V
goto :goto_3fb
.line 62
:sswitch_3e6
iget-object v0, v6, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
invoke-interface {v0, v5}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->setRTCStatusReportListener(Lcn/rongcloud/rtc/api/callback/IRCRTCStatusReportListener;)V
goto :goto_3fb
.line 63
:sswitch_3ee
iget-object v0, v6, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
invoke-virtual/range {p2 .. p2}, Lcn/rongcloud/rtc/engine/MsgObjectWraper;->getData()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/callback/IRCRTCStatusReportListener;
invoke-interface {v0, v1}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->setRTCStatusReportListener(Lcn/rongcloud/rtc/api/callback/IRCRTCStatusReportListener;)V
:cond_3fb
:goto_3fb
:sswitch_3fb
return v10
:sswitch_data_3fc
.sparse-switch
0x7da -> :sswitch_3ee
0x7db -> :sswitch_3e6
0x80c -> :sswitch_3ca
0x816 -> :sswitch_3b8
0x817 -> :sswitch_381
0x818 -> :sswitch_364
0x819 -> :sswitch_35f
0x81a -> :sswitch_35a
0x81b -> :sswitch_355
0x81c -> :sswitch_34a
0x81d -> :sswitch_331
0x81e -> :sswitch_2d6
0x81f -> :sswitch_2bb
0xbb8 -> :sswitch_2a8
0xbb9 -> :sswitch_28b
0xbba -> :sswitch_286
0xbc2 -> :sswitch_273
0xbea -> :sswitch_26b
0xbeb -> :sswitch_260
0xc08 -> :sswitch_24d
0xc09 -> :sswitch_236
0xc0a -> :sswitch_286
0xc12 -> :sswitch_21a
0xc13 -> :sswitch_209
0xc14 -> :sswitch_1f1
0xc1c -> :sswitch_1dc
0xce5 -> :sswitch_1c5
0xce6 -> :sswitch_3fb
0xce7 -> :sswitch_18c
0xce8 -> :sswitch_15f
0xce9 -> :sswitch_13e
0xcea -> :sswitch_123
0xceb -> :sswitch_ef
0xfa0 -> :sswitch_dc
0xfa1 -> :sswitch_209
0xfa2 -> :sswitch_286
0xfc8 -> :sswitch_c9
0xfc9 -> :sswitch_b8
0xfca -> :sswitch_286
0x139c -> :sswitch_8d
0x1b58 -> :sswitch_80
0x1f40 -> :sswitch_7b
0x1f41 -> :sswitch_70
0x1f42 -> :sswitch_65
0x1fa5 -> :sswitch_54
0x1fa6 -> :sswitch_49
0x2328 -> :sswitch_3e
0x2329 -> :sswitch_22
0x2710 -> :sswitch_13
.end sparse-switch
.end method
.method public joinOtherExchangeRemoteSDP(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 14
const-string v0, "InRoomState"
const-string v1, "joinOtherExchangeRemoteSDP->start"
.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/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->hasPubAction()Z
move-result v1
const/4 v2, 0x0
if-nez v1, :cond_51
.line 3
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v3
new-instance v11, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v4, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v4}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v5
iget-object v4, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v4}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v6
iget-object v4, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v4}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v7
iget-object v4, p0, Lcn/rongcloud/rtc/engine/InRoomState;->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
const-string v8, ""
invoke-virtual {v4, v8}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
iget-object v4, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v4}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v9
new-instance v10, Lcn/rongcloud/rtc/engine/InRoomState$15;
invoke-direct {v10, p0, p1}, Lcn/rongcloud/rtc/engine/InRoomState$15;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
move-object v4, v11
invoke-direct/range {v4 .. v10}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v0, v2, v1, v3, v11}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->exchangeRemoteSDP(ZLjava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
goto :goto_7a
.line 4
:cond_51
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "joinOtherExchangeRemoteSDP->onFailed hasPubAction :"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->hasPubAction()Z
move-result v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
const/16 v0, 0x81d
const/4 v1, 0x2
.line 5
new-array v1, v1, [Ljava/lang/Object;
aput-object p1, v1, v2
const/4 p1, 0x1
sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeParameterError:Lcn/rongcloud/rtc/base/RTCErrorCode;
aput-object v2, v1, p1
invoke-virtual {p0, v0, v1}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->sendMessage(I[Ljava/lang/Object;)V
:goto_7a
return-void
.end method
.method public kickFromOtherRooms(Ljava/lang/String;)V
.registers 11
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->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;->get(Ljava/lang/String;)Lcn/rongcloud/rtc/api/RCRTCBaseRoom;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/api/RCRTCOtherRoom;
.line 2
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
const/4 v2, 0x0
const/4 v3, 0x2
const/4 v4, 0x1
if-eqz v0, :cond_6d
.line 3
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v5
if-eqz v5, :cond_7c
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v5
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v5
if-lez v5, :cond_7c
.line 4
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCBaseRoom;->getRemoteUsers()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_2e
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_7c
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
.line 5
invoke-interface {v5}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v6
if-eqz v6, :cond_2e
invoke-interface {v5}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v6
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v6
if-lez v6, :cond_2e
.line 6
invoke-interface {v5}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v5
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_52
:goto_52
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_2e
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
.line 7
move-object v7, v6
check-cast v7, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;
.line 8
invoke-virtual {v7}, Lcn/rongcloud/rtc/center/stream/RCInputStreamImpl;->getSubscribeState()Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
move-result-object v7
sget-object v8, Lcn/rongcloud/rtc/base/RCRTCSubscribeState;->SUBSCRIBED:Lcn/rongcloud/rtc/base/RCRTCSubscribeState;
if-ne v7, v8, :cond_52
.line 9
invoke-interface {v1, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_52
.line 10
:cond_6d
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->KICKEDFROMSERVER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
new-array v5, v3, [Ljava/lang/Object;
aput-object p1, v5, v2
const-string v6, "RCRTCOtherRoom is empty."
aput-object v6, v5, v4
const-string v6, "otherRoomId|desc"
invoke-static {v0, v6, v5}, Lcn/rongcloud/rtc/utils/ReportUtil;->libStatus(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 11
:cond_7c
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v0
.line 12
sget-object v5, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->KICKEDFROMSERVER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
new-array v3, v3, [Ljava/lang/Object;
aput-object p1, v3, v2
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v3, v4
const-string v2, "otherRoomId|SubscribedStreamSize"
invoke-static {v5, v2, v3}, Lcn/rongcloud/rtc/utils/ReportUtil;->libStatus(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 13
new-instance v2, Lcn/rongcloud/rtc/engine/InRoomState$18;
invoke-direct {v2, p0, v0}, Lcn/rongcloud/rtc/engine/InRoomState$18;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;I)V
invoke-virtual {p0, v1, v4, p1, v2}, Lcn/rongcloud/rtc/engine/InRoomState;->unsubscribeStreams(Ljava/util/List;ZLjava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
return-void
.end method
.method public publishStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 14
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->PUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v0
.line 3
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-boolean v2, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEnableTinyStream:Z
if-eqz v2, :cond_44
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
move-result-object v1
invoke-interface {p1, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
.line 4
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->getTinyVideoOutStream()Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
move-result-object v1
if-nez v1, :cond_44
.line 5
new-instance v1, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
iget-object v2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v2, v2, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUserId:Ljava/lang/String;
invoke-direct {v1, v2}, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;-><init>(Ljava/lang/String;)V
.line 6
iget-object v2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v2, v2, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v2, v1}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->setTinyVideoOutStream(Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;)V
.line 7
invoke-interface {p1, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 8
:cond_44
invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 9
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$10;
invoke-direct {v9, p0, p1, p2}, Lcn/rongcloud/rtc/engine/InRoomState$10;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v1, v0, p1, v2, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->publishStream(Ljava/util/List;Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method public releaseRoom(Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 7
.line 1
invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
move-result-object v0
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object v0
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->leaveAllOtherRoom()Ljava/util/List;
move-result-object v0
if-eqz v0, :cond_3c
.line 2
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
if-lez v1, :cond_3c
.line 3
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_18
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3c
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 4
invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
move-result-object v2
invoke-virtual {v2}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object v2
invoke-virtual {v2, v1}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->otherRoomRelease(Ljava/lang/String;)V
.line 5
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v2
new-instance v3, Lcn/rongcloud/rtc/engine/InRoomState$7;
invoke-direct {v3, p0, v1}, Lcn/rongcloud/rtc/engine/InRoomState$7;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;)V
invoke-virtual {v2, v1, v3}, Lcn/rongcloud/rtc/signal/SignalManager;->sendleaveOtherRoomMessage(Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
goto :goto_18
.line 6
:cond_3c
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RELEASEROOM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 7
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mActionQueue:Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/action/PubSubActionQueue;->clear()V
.line 8
sget-object v0, Lcn/rongcloud/rtc/stat/RongRtcStatMagr;->instance:Lcn/rongcloud/rtc/stat/RongRtcStatMagr;
invoke-virtual {v0}, Lcn/rongcloud/rtc/stat/RongRtcStatMagr;->release()V
.line 9
sput-boolean v3, Lcn/rongcloud/rtc/utils/RongRTCUtils;->customRate:Z
.line 10
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->version2UserIDs:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V
.line 11
sput-boolean v3, Lcn/rongcloud/rtc/utils/RongRTCUtils;->customFPS:Z
.line 12
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;->resetStream()V
.line 13
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->resetStream()V
.line 14
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->release()V
.line 15
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->release()V
.line 16
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v0
.line 17
invoke-static {}, Lcn/rongcloud/rtc/signal/SignalManager;->getInstance()Lcn/rongcloud/rtc/signal/SignalManager;
move-result-object v1
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v2
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v3
new-instance v4, Lcn/rongcloud/rtc/engine/InRoomState$8;
invoke-direct {v4, p0, v0, p1}, Lcn/rongcloud/rtc/engine/InRoomState$8;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
invoke-virtual {v1, v0, v2, v3, v4}, Lcn/rongcloud/rtc/signal/SignalManager;->leaveRoom(Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
const/4 p1, 0x0
.line 18
iput-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
.line 19
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
iput-object p1, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
const-string p1, "InRoomState"
const-string v0, "releaseAll end"
.line 20
invoke-static {p1, v0}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 21
iget-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {p1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->release()V
.line 22
iget-object p1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object p1, p1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDisConnectingState:Lcn/rongcloud/rtc/engine/DisconnectingState;
invoke-virtual {p0, p1}, Lcn/rongcloud/rtc/engine/AbstractBaseState;->transitionTo(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V
return-void
.end method
.method public resubscribeStreams(Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 6
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RESUBSCRIBESTREAMS:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v0
sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->RESUBSCRIBESTREAMS:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
invoke-direct {p0, v0, p1, v1}, Lcn/rongcloud/rtc/engine/InRoomState;->onSubScribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;)V
return-void
.end method
.method public setMultiRoomManager(Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;)V
.registers 2
.line 1
iput-object p1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
return-void
.end method
.method public subscribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ENGINESUBSCRIBESTREAMS:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
invoke-static {p1}, Lcn/rongcloud/rtc/utils/ReportUtil;->resourceToString(Ljava/util/List;)Ljava/lang/String;
move-result-object v2
const/4 v4, 0x1
aput-object v2, v1, v4
const-string v2, "roomId|streams"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 3
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRemoteUsers()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_29
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3d
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
.line 4
invoke-interface {v2}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_29
.line 5
:cond_3d
invoke-virtual {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getMultiRoomManager()Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
move-result-object v1
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getBaseRoomElemet()Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;
move-result-object v1
invoke-virtual {v1}, Lcn/rongcloud/rtc/engine/tools/multiroom/BaseRoomElemet;->getOtherRoomInputStreams()Ljava/util/List;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 6
invoke-static {v0, p1}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->resourceNotExist(Ljava/util/List;Ljava/util/List;)Z
move-result v0
if-eqz v0, :cond_6b
.line 7
sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ENGINESUBSCRIBESTREAMS:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
sget-object v0, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSubscribeNotExistResources:Lcn/rongcloud/rtc/base/RTCErrorCode;
new-array v1, v4, [Ljava/lang/Object;
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v2
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {p1, v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libErrorW(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Lcn/rongcloud/rtc/base/RTCErrorCode;Ljava/lang/String;[Ljava/lang/Object;)V
.line 8
sget-object p1, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSubscribeNotExistResources:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-interface {p2, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
return-void
.line 9
:cond_6b
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v0
.line 10
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_73
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_d1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
.line 11
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
.line 12
:cond_83
:goto_83
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_73
.line 13
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcn/rongcloud/rtc/webrtc/IStreamResource;
.line 14
invoke-interface {v2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v5
.line 15
invoke-interface {v4}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getStreamId()Ljava/lang/String;
move-result-object v6
invoke-interface {v2}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;
move-result-object v7
invoke-static {v6, v7}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v6
if-eqz v6, :cond_83
.line 16
invoke-interface {v4}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v6
if-ne v5, v6, :cond_83
.line 17
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "subscribedStreams.Delete duplicate.Uri : "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v4}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;
move-result-object v4
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, " , new :"
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcn/rongcloud/rtc/webrtc/IStreamResource;->getUri()Ljava/lang/String;
move-result-object v4
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
const-string v5, "InRoomState"
invoke-static {v5, v4}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 18
invoke-interface {v3}, Ljava/util/Iterator;->remove()V
goto :goto_83
.line 19
:cond_d1
invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 20
sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->ENGINESUBSCRIBESTREAMS:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
invoke-direct {p0, v0, p2, p1}, Lcn/rongcloud/rtc/engine/InRoomState;->onSubScribeStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Lcn/rongcloud/rtc/utils/ReportUtil$TAG;)V
return-void
.end method
.method public switchStream(ZLjava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SWITCHSTREAMTINYORNORMAL:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v2
const/4 v3, 0x1
aput-object v2, v1, v3
const-string v2, "roomId|isTiny"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_1c
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_33
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 3
check-cast v1, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;
if-eqz p1, :cond_2d
sget-object v2, Lcn/rongcloud/rtc/base/RCRTCStreamType;->TINY:Lcn/rongcloud/rtc/base/RCRTCStreamType;
goto :goto_2f
:cond_2d
sget-object v2, Lcn/rongcloud/rtc/base/RCRTCStreamType;->NORMAL:Lcn/rongcloud/rtc/base/RCRTCStreamType;
:goto_2f
invoke-virtual {v1, v2}, Lcn/rongcloud/rtc/center/stream/RCVideoInputStreamImpl;->setStreamType(Lcn/rongcloud/rtc/base/RCRTCStreamType;)V
goto :goto_1c
.line 4
:cond_33
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v0
.line 5
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_3b
:goto_3b
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_51
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;
.line 6
invoke-interface {v0, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_3b
.line 7
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_3b
.line 8
:cond_51
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v2, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$13;
invoke-direct {v9, p0, p2, p3, p1}, Lcn/rongcloud/rtc/engine/InRoomState$13;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Z)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v1, v2, v0, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->subscribeStreams(Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method public unpublishedStreams(Ljava/util/List;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;",
">;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNPUBLISHAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "roomId"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_15
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3e
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;
.line 3
iget-object v2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
move-result-object v2
if-ne v1, v2, :cond_15
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->getTinyVideoOutStream()Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
move-result-object v1
if-eqz v1, :cond_15
.line 4
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->getTinyVideoOutStream()Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
move-result-object v0
invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 5
:cond_3e
iget-object v0, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v0
.line 6
invoke-interface {v0, p1}, Ljava/util/List;->removeAll(Ljava/util/Collection;)Z
.line 7
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$9;
invoke-direct {v9, p0, p2, p1}, Lcn/rongcloud/rtc/engine/InRoomState$9;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Ljava/util/List;)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
invoke-interface {v1, v0, v2, p1, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->unpublishedStreams(Ljava/util/List;Ljava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method public unsubscribeStreams(Ljava/util/List;ZLjava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;)V
.registers 18
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lcn/rongcloud/rtc/api/stream/RCRTCInputStream;",
">;Z",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;",
")V"
}
.end annotation
move-object v0, p0
move-object v4, p1
.line 1
sget-object v1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->UNSUBSCRIBEAVSTREAM:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getRoomId()Ljava/lang/String;
move-result-object v3
const/4 v5, 0x0
aput-object v3, v2, v5
invoke-static {p1}, Lcn/rongcloud/rtc/utils/ReportUtil;->resourceToString(Ljava/util/List;)Ljava/lang/String;
move-result-object v3
const/4 v5, 0x1
aput-object v3, v2, v5
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
const/4 v5, 0x2
aput-object v3, v2, v5
const-string v3, "roomId|streams|notifyFinished"
invoke-static {v1, v3, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 3
iget-object v2, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRemoteUsers()Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_30
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_44
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;
.line 4
invoke-interface {v3}, Lcn/rongcloud/rtc/api/RCRTCRemoteUser;->getStreams()Ljava/util/List;
move-result-object v3
invoke-interface {v1, v3}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_30
.line 5
:cond_44
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v3
.line 6
invoke-interface {v3, p1}, Ljava/util/List;->removeAll(Ljava/util/Collection;)Z
.line 7
iget-object v1, v0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v2, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v2
new-instance v12, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v5, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v5}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v6
iget-object v5, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v5}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v7
iget-object v5, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v5}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v8
iget-object v5, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v5}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v5
move-object/from16 v9, p3
invoke-virtual {v5, v9}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
iget-object v5, v0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v5}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v10
new-instance v11, Lcn/rongcloud/rtc/engine/InRoomState$12;
move-object/from16 v5, p4
invoke-direct {v11, p0, v5, p1}, Lcn/rongcloud/rtc/engine/InRoomState$12;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;Lcn/rongcloud/rtc/api/callback/IRCRTCResultDataCallback;Ljava/util/List;)V
move-object v5, v12
invoke-direct/range {v5 .. v11}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
move-object v4, p1
move v5, p2
move-object v6, v12
invoke-interface/range {v1 .. v6}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->unsubscribeStreams(Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method
.method public userLeft()V
.registers 12
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v0, v0, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
iget-object v1, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getStreamsForInternal()Ljava/util/List;
move-result-object v1
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/InRoomState;->getAllSubscribedStreams()Ljava/util/List;
move-result-object v2
new-instance v10, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomId()Ljava/lang/String;
move-result-object v4
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getClientSessionId()Ljava/lang/String;
move-result-object v5
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mRoom:Lcn/rongcloud/rtc/center/RCRoomImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCRoomImpl;->getRoomType()Lcn/rongcloud/rtc/base/RCRTCRoomType;
move-result-object v6
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mMultiRoomManager:Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;
invoke-virtual {v3}, Lcn/rongcloud/rtc/engine/tools/MultiRoomManager;->getRoomAttributesElement()Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;
move-result-object v3
const-string v7, ""
invoke-virtual {v3, v7}, Lcn/rongcloud/rtc/engine/tools/multiroom/RoomAttributesElement;->getAutoMixJSONInfo(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
iget-object v3, p0, Lcn/rongcloud/rtc/engine/InRoomState;->mLocalUser:Lcn/rongcloud/rtc/center/RCLocalUserImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getRole()Ljava/lang/String;
move-result-object v8
new-instance v9, Lcn/rongcloud/rtc/engine/InRoomState$16;
invoke-direct {v9, p0}, Lcn/rongcloud/rtc/engine/InRoomState$16;-><init>(Lcn/rongcloud/rtc/engine/InRoomState;)V
move-object v3, v10
invoke-direct/range {v3 .. v9}, Lcn/rongcloud/rtc/webrtc/MediaCommonParams;-><init>(Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/base/RCRTCRoomType;Ljava/lang/String;Ljava/lang/String;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;)V
const/4 v3, 0x0
invoke-interface {v0, v3, v1, v2, v10}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->exchangeRemoteSDP(ZLjava/util/List;Ljava/util/List;Lcn/rongcloud/rtc/webrtc/MediaCommonParams;)V
return-void
.end method