DisconnectingState.smali
.class public Lcn/rongcloud/rtc/engine/DisconnectingState;
.super Lcn/rongcloud/rtc/engine/AbstractBaseState;
.source "DisconnectingState.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "DisconnectingState"
# 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
return-void
.end method
.method private closePeerConnection()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;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
if-eqz v0, :cond_9
.line 2
invoke-interface {v0}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->closePeerConnection()V
:cond_9
return-void
.end method
.method private unInit()V
.registers 6
const-string v0, "DisconnectingState"
const-string v1, "unInit --> enter"
.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;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;
const/4 v2, 0x0
.line 3
iput-boolean v2, v1, Lcn/rongcloud/rtc/engine/UnInitState;->mCallInited:Z
.line 4
iget-object v2, v1, Lcn/rongcloud/rtc/engine/UnInitState;->mMessageRouter:Lcn/rongcloud/rtc/RongRTCMessageRouter;
const/4 v3, 0x0
if-eqz v2, :cond_18
.line 5
invoke-static {v2}, Lio/rong/imlib/ModuleManager;->removeMessageRouter(Lio/rong/imlib/ModuleManager$MessageRouter;)V
.line 6
iput-object v3, v1, Lcn/rongcloud/rtc/engine/UnInitState;->mMessageRouter:Lcn/rongcloud/rtc/RongRTCMessageRouter;
.line 7
:cond_18
iget-object v2, v1, Lcn/rongcloud/rtc/engine/UnInitState;->networkConnectChangedReceiver:Lcn/rongcloud/rtc/monitor/NetworkConnectChangedReceiver;
.line 8
iget-object v4, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v4, v4, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;
if-eqz v4, :cond_2c
if-eqz v2, :cond_2c
.line 9
:try_start_22
invoke-virtual {v4, v2}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
:try_end_25
.catch Ljava/lang/Exception; {:try_start_22 .. :try_end_25} :catch_26
goto :goto_2a
:catch_26
move-exception v2
.line 10
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
.line 11
:goto_2a
iput-object v3, v1, Lcn/rongcloud/rtc/engine/UnInitState;->networkConnectChangedReceiver:Lcn/rongcloud/rtc/monitor/NetworkConnectChangedReceiver;
.line 12
:cond_2c
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;
if-eqz v1, :cond_39
.line 13
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;->release()V
.line 14
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultAudioStream:Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;
.line 15
:cond_39
invoke-static {}, Lcn/rongcloud/rtc/core/audio/AudioMixer;->getInstance()Lcn/rongcloud/rtc/core/audio/AudioMixer;
move-result-object v1
invoke-virtual {v1, v3}, Lcn/rongcloud/rtc/core/audio/AudioMixer;->setDefaultAudioStream(Lcn/rongcloud/rtc/center/stream/RCMicOutputStreamImpl;)V
.line 16
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;
if-eqz v1, :cond_4d
.line 17
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;->release()V
.line 18
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mDefaultVideoStream:Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
.line 19
:cond_4d
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;
if-eqz v1, :cond_5a
.line 20
invoke-interface {v1}, Lcn/rongcloud/rtc/webrtc/IWebRTCCore;->release()V
.line 21
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mRTCCore:Lcn/rongcloud/rtc/webrtc/IWebRTCCore;
.line 22
:cond_5a
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object v1, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglBase:Lcn/rongcloud/rtc/core/EglBase;
if-eqz v1, :cond_6c
.line 23
invoke-virtual {v1}, Lcn/rongcloud/rtc/core/EglBase;->detachCurrent()V
.line 24
invoke-virtual {v1}, Lcn/rongcloud/rtc/core/EglBase;->release()V
.line 25
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglBase:Lcn/rongcloud/rtc/core/EglBase;
.line 26
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mEglContext:Lcn/rongcloud/rtc/core/EglBase$Context;
.line 27
:cond_6c
iget-object v1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iput-object v3, v1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mContext:Landroid/content/Context;
const-string v1, "unInit --> over"
.line 28
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public enter()V
.registers 1
.line 1
invoke-super {p0}, Lcn/rongcloud/rtc/stateMachine/State;->enter()V
.line 2
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/DisconnectingState;->closePeerConnection()V
return-void
.end method
.method public getName()Ljava/lang/String;
.registers 2
const-string v0, "DisconnectingState"
return-object v0
.end method
.method protected handleMessage(Landroid/os/Message;Lcn/rongcloud/rtc/engine/MsgObjectWraper;)Z
.registers 4
.line 1
iget p2, p1, Landroid/os/Message;->what:I
const/16 v0, 0x3f2
if-eq p2, v0, :cond_22
const/16 v0, 0x2710
if-eq p2, v0, :cond_17
.line 2
iget-object p2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->deferMessage(Landroid/os/Message;)V
.line 3
iget-object p1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object p2, p1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mIdleState:Lcn/rongcloud/rtc/engine/IdleState;
invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->transitionTo(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V
goto :goto_27
.line 4
:cond_17
invoke-direct {p0}, Lcn/rongcloud/rtc/engine/DisconnectingState;->unInit()V
.line 5
iget-object p1, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
iget-object p2, p1, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->mUnInitState:Lcn/rongcloud/rtc/engine/UnInitState;
invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->transitionTo(Lcn/rongcloud/rtc/engine/AbstractBaseState;)V
goto :goto_27
.line 6
:cond_22
iget-object p2, p0, Lcn/rongcloud/rtc/engine/AbstractBaseState;->mEngine:Lcn/rongcloud/rtc/engine/RTCEngineImpl;
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/engine/AbstractRTCEngineImpl;->deferMessage(Landroid/os/Message;)V
:goto_27
const/4 p1, 0x1
return p1
.end method