SyncIMOperationCallback.smali
.class public Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;
.super Lio/rong/imlib/RongIMClient$OperationCallback;
.source "SyncIMOperationCallback.java"
# instance fields
.field private mCallback:Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
.field private mIsSync:Z
.field private mRes:Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;
.field private mThread:Ljava/lang/Thread;
# direct methods
.method public constructor <init>(ZLcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;)V
.registers 4
.line 1
invoke-direct {p0}, Lio/rong/imlib/RongIMClient$OperationCallback;-><init>()V
.line 2
invoke-static {}, Lcn/rongcloud/rtc/base/AsyncResult;->create()Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;
move-result-object v0
iput-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mRes:Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
.line 4
iput-object p2, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mCallback:Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
.line 5
iput-boolean p1, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
.line 6
iget-boolean p1, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
if-eqz p1, :cond_1a
.line 7
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p1
iput-object p1, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mThread:Ljava/lang/Thread;
:cond_1a
return-void
.end method
# virtual methods
.method public getResult()Lcn/rongcloud/rtc/base/AsyncResult;
.registers 2
.line 1
iget-boolean v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
if-eqz v0, :cond_7
.line 2
invoke-static {}, Ljava/util/concurrent/locks/LockSupport;->park()V
.line 3
:cond_7
iget-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mRes:Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;
invoke-virtual {v0}, Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;->getResult()Lcn/rongcloud/rtc/base/AsyncResult;
move-result-object v0
return-object v0
.end method
.method public onError(Lio/rong/imlib/RongIMClient$ErrorCode;)V
.registers 3
.line 1
invoke-virtual {p1}, Lio/rong/imlib/RongIMClient$ErrorCode;->getValue()I
move-result p1
invoke-static {p1}, Lcn/rongcloud/rtc/base/RTCErrorCode;->valueOf(I)Lcn/rongcloud/rtc/base/RTCErrorCode;
move-result-object p1
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mRes:Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/base/AsyncResult$TemporaryResult;->setAndNotify(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
.line 3
iget-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mCallback:Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
if-eqz v0, :cond_14
.line 4
invoke-interface {v0, p1}, Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;->onFailed(Lcn/rongcloud/rtc/base/RTCErrorCode;)V
.line 5
:cond_14
iget-boolean p1, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
if-eqz p1, :cond_1d
.line 6
iget-object p1, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mThread:Ljava/lang/Thread;
invoke-static {p1}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
:cond_1d
return-void
.end method
.method public onSuccess()V
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mCallback:Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;
if-eqz v0, :cond_7
.line 2
invoke-virtual {v0}, Lcn/rongcloud/rtc/api/callback/IRCRTCResultCallback;->onSuccess()V
.line 3
:cond_7
iget-boolean v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mIsSync:Z
if-eqz v0, :cond_10
.line 4
iget-object v0, p0, Lcn/rongcloud/rtc/signal/SyncIMOperationCallback;->mThread:Ljava/lang/Thread;
invoke-static {v0}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
:cond_10
return-void
.end method