StatHandler.smali
.class public Lcn/rongcloud/rtc/stat/StatHandler;
.super Landroid/os/Handler;
.source "StatHandler.java"
# interfaces
.implements Lcn/rongcloud/rtc/core/StatsObserver;
# static fields
.field public static final INTERVAL_TIME:I = 0x2
.field public static final TAG:Ljava/lang/String; = "StatHandler"
.field public static final WHAT_GET_STATUS:I = 0x64
# instance fields
.field private mConnectionHolder:Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;
.field private mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
.field private mParser:Lcn/rongcloud/rtc/api/report/StatusReportParser;
.field private mPublishs:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;"
}
.end annotation
.end field
.field private mReceives:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;"
}
.end annotation
.end field
.field private mRoomId:Ljava/lang/String;
.field private mSendStatRun:Ljava/lang/Runnable;
.field private mUserIdTrackIdMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/api/report/ReportUserInfo;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/os/Looper;Ljava/lang/String;)V
.registers 5
.line 1
invoke-direct {p0, p1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
.line 2
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
.line 3
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
.line 4
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
.line 5
new-instance p1, Lcn/rongcloud/rtc/stat/StatHandler$2;
invoke-direct {p1, p0}, Lcn/rongcloud/rtc/stat/StatHandler$2;-><init>(Lcn/rongcloud/rtc/stat/StatHandler;)V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mSendStatRun:Ljava/lang/Runnable;
.line 6
new-instance p1, Lcn/rongcloud/rtc/api/report/StatusReportParser;
invoke-direct {p1}, Lcn/rongcloud/rtc/api/report/StatusReportParser;-><init>()V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mParser:Lcn/rongcloud/rtc/api/report/StatusReportParser;
.line 7
iput-object p2, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mRoomId:Ljava/lang/String;
.line 8
new-instance p1, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
invoke-static {}, Landroid/os/Process;->myPid()I
move-result p2
invoke-direct {p1, p2}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;-><init>(I)V
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
.line 9
iget-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mSendStatRun:Ljava/lang/Runnable;
const-wide/16 v0, 0x7d0
invoke-virtual {p0, p1, v0, v1}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
return-void
.end method
.method static synthetic access$000(Lcn/rongcloud/rtc/stat/StatHandler;)V
.registers 1
.line 1
invoke-direct {p0}, Lcn/rongcloud/rtc/stat/StatHandler;->onGetStatus()V
return-void
.end method
.method static synthetic access$100(Lcn/rongcloud/rtc/stat/StatHandler;)Ljava/lang/Runnable;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mSendStatRun:Ljava/lang/Runnable;
return-object p0
.end method
.method private getNetWorkName(I)Ljava/lang/String;
.registers 3
const/4 v0, 0x1
if-eq p1, v0, :cond_18
const/4 v0, 0x2
if-eq p1, v0, :cond_15
const/4 v0, 0x3
if-eq p1, v0, :cond_12
const/4 v0, 0x4
if-eq p1, v0, :cond_f
const-string p1, "unknown"
return-object p1
:cond_f
const-string p1, "4G"
return-object p1
:cond_12
const-string p1, "3G"
return-object p1
:cond_15
const-string p1, "2G"
return-object p1
:cond_18
const-string/jumbo p1, "wlan"
return-object p1
.end method
.method private isEmpty()Z
.registers 4
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
.line 2
iget-object v1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
const/4 v2, 0x1
if-eqz v0, :cond_18
if-nez v1, :cond_a
goto :goto_18
.line 3
:cond_a
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-eqz v0, :cond_17
invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-eqz v0, :cond_17
goto :goto_18
:cond_17
const/4 v2, 0x0
:cond_18
:goto_18
return v2
.end method
.method private log(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "] ==> "
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "StatHandler"
invoke-static {p2, p1}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private onAdd(Ljava/util/List;Ljava/util/Map;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;)V"
}
.end annotation
if-eqz p1, :cond_36
.line 1
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_36
.line 2
:cond_9
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_d
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_36
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
.line 3
invoke-interface {p2, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_20
goto :goto_d
.line 4
:cond_20
iget-object v1, v0, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->realTrackId:Ljava/lang/String;
invoke-interface {p2, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
new-instance v1, Lcn/rongcloud/rtc/api/report/ReportUserInfo;
iget-object v2, v0, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->mediaId:Ljava/lang/String;
iget-object v3, v0, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->trackId:Ljava/lang/String;
invoke-direct {v1, v2, v3}, Lcn/rongcloud/rtc/api/report/ReportUserInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 6
iget-object v2, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
iget-object v0, v0, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->realTrackId:Ljava/lang/String;
invoke-virtual {v2, v0, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_d
:cond_36
:goto_36
return-void
.end method
.method private onGetStatus()V
.registers 2
.line 1
invoke-direct {p0}, Lcn/rongcloud/rtc/stat/StatHandler;->isEmpty()Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 2
:cond_7
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mConnectionHolder:Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;
if-eqz v0, :cond_e
.line 3
invoke-virtual {v0, p0}, Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;->getStatus(Lcn/rongcloud/rtc/core/StatsObserver;)Z
:cond_e
return-void
.end method
.method private onHandleAdd(ZLjava/lang/Object;)V
.registers 3
if-nez p2, :cond_3
return-void
.line 1
:cond_3
check-cast p2, Ljava/util/List;
if-eqz p1, :cond_d
.line 2
iget-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
invoke-direct {p0, p2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onAdd(Ljava/util/List;Ljava/util/Map;)V
goto :goto_12
.line 3
:cond_d
iget-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
invoke-direct {p0, p2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onAdd(Ljava/util/List;Ljava/util/Map;)V
:goto_12
return-void
.end method
.method private onHandleRemove(ZLjava/lang/Object;)V
.registers 3
if-nez p2, :cond_3
return-void
.line 1
:cond_3
check-cast p2, Ljava/util/List;
if-eqz p1, :cond_d
.line 2
iget-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
invoke-direct {p0, p2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onRemove(Ljava/util/List;Ljava/util/Map;)V
goto :goto_12
.line 3
:cond_d
iget-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
invoke-direct {p0, p2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onRemove(Ljava/util/List;Ljava/util/Map;)V
:goto_12
return-void
.end method
.method private onParseStatusResult([Lcn/rongcloud/rtc/core/StatsReport;)Lcn/rongcloud/rtc/api/report/StatusReport;
.registers 8
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mParser:Lcn/rongcloud/rtc/api/report/StatusReportParser;
iget-object v1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
invoke-virtual {v0, p1, v1}, Lcn/rongcloud/rtc/api/report/StatusReportParser;->getParseResult([Lcn/rongcloud/rtc/core/StatsReport;Ljava/util/HashMap;)Lcn/rongcloud/rtc/api/report/StatusReport;
move-result-object p1
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
invoke-virtual {v0}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->countCpuData()V
.line 3
iget-object v0, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusAudioSends:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
.line 4
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_17
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_39
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 5
iget-object v4, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
invoke-interface {v4, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
iget-object v5, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusAudioSends:Ljava/util/HashMap;
invoke-virtual {v5, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/report/StatusBean;
invoke-direct {p0, v4, v1, v3, v2}, Lcn/rongcloud/rtc/stat/StatHandler;->updateStatForm(Lcn/rongcloud/rtc/stat/RongRtcStatForm;Lcn/rongcloud/rtc/api/report/StatusBean;ZZ)V
goto :goto_17
.line 6
:cond_39
iget-object v0, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusVideoSends:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
.line 7
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_43
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_63
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 8
iget-object v4, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
invoke-interface {v4, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
iget-object v5, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusVideoSends:Ljava/util/HashMap;
invoke-virtual {v5, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/report/StatusBean;
invoke-direct {p0, v4, v1, v2, v2}, Lcn/rongcloud/rtc/stat/StatHandler;->updateStatForm(Lcn/rongcloud/rtc/stat/RongRtcStatForm;Lcn/rongcloud/rtc/api/report/StatusBean;ZZ)V
goto :goto_43
.line 9
:cond_63
iget-object v0, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusVideoRcvs:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
.line 10
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_6d
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_8d
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 11
iget-object v4, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
invoke-interface {v4, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
iget-object v5, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusVideoRcvs:Ljava/util/HashMap;
invoke-virtual {v5, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/report/StatusBean;
invoke-direct {p0, v4, v1, v2, v3}, Lcn/rongcloud/rtc/stat/StatHandler;->updateStatForm(Lcn/rongcloud/rtc/stat/RongRtcStatForm;Lcn/rongcloud/rtc/api/report/StatusBean;ZZ)V
goto :goto_6d
.line 12
:cond_8d
iget-object v0, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusAudioRcvs:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
.line 13
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_97
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_b7
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 14
iget-object v2, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
iget-object v4, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->statusAudioRcvs:Ljava/util/HashMap;
invoke-virtual {v4, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/report/StatusBean;
invoke-direct {p0, v2, v1, v3, v3}, Lcn/rongcloud/rtc/stat/StatHandler;->updateStatForm(Lcn/rongcloud/rtc/stat/RongRtcStatForm;Lcn/rongcloud/rtc/api/report/StatusBean;ZZ)V
goto :goto_97
:cond_b7
return-object p1
.end method
.method private onRelease()V
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
if-eqz v0, :cond_7
.line 2
invoke-interface {v0}, Ljava/util/Map;->clear()V
.line 3
:cond_7
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
if-eqz v0, :cond_e
.line 4
invoke-interface {v0}, Ljava/util/Map;->clear()V
.line 5
:cond_e
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
if-eqz v0, :cond_15
.line 6
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
.line 7
:cond_15
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
if-eqz v0, :cond_1c
.line 8
invoke-virtual {v0}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->relase()V
:cond_1c
const/4 v0, 0x0
.line 9
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
.line 10
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mParser:Lcn/rongcloud/rtc/api/report/StatusReportParser;
.line 11
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
.line 12
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
.line 13
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
.line 14
iput-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mConnectionHolder:Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;
return-void
.end method
.method private onRemove(Ljava/util/List;Ljava/util/Map;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;)V"
}
.end annotation
if-eqz p1, :cond_4f
.line 1
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_4f
.line 2
:cond_9
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_d
:goto_d
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_4f
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 3
invoke-interface {p2, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_28
.line 4
invoke-interface {p2, v0}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 5
iget-object v1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
invoke-virtual {v1, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_d
.line 6
:cond_28
invoke-interface {p2}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
.line 7
:cond_30
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_d
.line 8
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
.line 9
iget-object v3, v2, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->trackId:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_30
.line 10
invoke-interface {v1}, Ljava/util/Iterator;->remove()V
.line 11
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mUserIdTrackIdMap:Ljava/util/HashMap;
iget-object v1, v2, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->realTrackId:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_d
:cond_4f
:goto_4f
return-void
.end method
.method private onSendData(Lcn/rongcloud/rtc/api/report/StatusReport;Ljava/util/Collection;Z)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcn/rongcloud/rtc/api/report/StatusReport;",
"Ljava/util/Collection<",
"Lcn/rongcloud/rtc/stat/RongRtcStatForm;",
">;Z)V"
}
.end annotation
.line 1
invoke-interface {p2}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 2
:cond_7
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
if-eqz p3, :cond_11
const-string v1, "R3"
goto :goto_13
:cond_11
const-string v1, "R4"
.line 3
:goto_13
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\t"
.line 4
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz p3, :cond_20
iget-wide v2, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->bitRateSend:J
goto :goto_22
:cond_20
iget-wide v2, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->bitRateRcv:J
.line 5
:goto_22
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
iget-object p3, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
invoke-virtual {p3}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->isAboveAndroidO()Z
move-result p3
const/4 v2, -0x1
if-eqz p3, :cond_47
.line 8
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
invoke-virtual {p3}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->getCpuRate()F
move-result p3
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
goto :goto_62
.line 9
:cond_47
iget-object p3, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
invoke-virtual {p3}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->getAppRate()F
move-result p3
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
.line 10
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mMonitoring:Lcn/rongcloud/rtc/utils/PerformanceMonitoring;
.line 11
invoke-virtual {p3}, Lcn/rongcloud/rtc/utils/PerformanceMonitoring;->getProcRate()F
move-result p3
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
.line 12
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 13
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 14
:goto_62
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getInstance()Lcn/rongcloud/rtc/engine/RTCEngineImpl;
move-result-object p3
invoke-virtual {p3}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getContext()Landroid/content/Context;
move-result-object p3
invoke-static {p3}, Lcn/rongcloud/rtc/utils/NetUtils;->getNetworkState(Landroid/content/Context;)I
move-result p3
invoke-direct {p0, p3}, Lcn/rongcloud/rtc/stat/StatHandler;->getNetWorkName(I)Ljava/lang/String;
move-result-object p3
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 15
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget p3, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->rtt:I
.line 16
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 17
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->ipAddress:Ljava/lang/String;
.line 18
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 19
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->googAvailableReceiveBandwidth:Ljava/lang/String;
.line 20
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 21
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->googAvailableSendBandwidth:Ljava/lang/String;
.line 22
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 23
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p1, Lcn/rongcloud/rtc/api/report/StatusReport;->packetsDiscardedOnSend:Ljava/lang/String;
.line 24
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "\r"
.line 25
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 26
invoke-interface {p2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_a9
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_c5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcn/rongcloud/rtc/stat/RongRtcStatForm;
if-nez p2, :cond_b8
goto :goto_a9
.line 27
:cond_b8
invoke-virtual {p2}, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->createFormStr()Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
const-string p2, "\n"
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_a9
.line 28
:cond_c5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->setRTCUserState(Ljava/lang/String;)V
return-void
.end method
.method private sendRTCUserState(Lcn/rongcloud/rtc/api/report/StatusReport;)V
.registers 4
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mPublishs:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
const/4 v1, 0x1
invoke-direct {p0, p1, v0, v1}, Lcn/rongcloud/rtc/stat/StatHandler;->onSendData(Lcn/rongcloud/rtc/api/report/StatusReport;Ljava/util/Collection;Z)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mReceives:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, p1, v0, v1}, Lcn/rongcloud/rtc/stat/StatHandler;->onSendData(Lcn/rongcloud/rtc/api/report/StatusReport;Ljava/util/Collection;Z)V
return-void
.end method
.method private updateStatForm(Lcn/rongcloud/rtc/stat/RongRtcStatForm;Lcn/rongcloud/rtc/api/report/StatusBean;ZZ)V
.registers 12
if-eqz p1, :cond_f2
if-nez p2, :cond_6
goto/16 :goto_f2
.line 1
:cond_6
iget v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->bitRabte:F
const/high16 v1, -0x40800000 # -1.0f
cmpl-float v0, v0, v1
if-nez v0, :cond_11
iget-wide v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->bitRate:J
goto :goto_16
:cond_11
iget-wide v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->bitRate:J
const-wide/16 v2, 0x2
div-long/2addr v0, v2
:goto_16
long-to-float v0, v0
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->bitRabte:F
.line 2
iget-wide v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->packetLostRate:J
long-to-float v0, v0
const/high16 v1, 0x42c80000 # 100.0f
div-float/2addr v0, v1
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->packetLostRate:F
.line 3
iget v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->jitterReceived:I
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->googJitterReceived:I
.line 4
iget-object v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->codecName:Ljava/lang/String;
iput-object v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->codecName:Ljava/lang/String;
.line 5
iget v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->firstReceived:I
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->googFirsReceived:I
.line 6
iget v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->rtt:I
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->rtt:I
if-nez p4, :cond_3c
.line 7
iget v0, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->renderDelayMs:I
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->blockInterValTime:I
const/4 v0, -0x1
.line 8
iput v0, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->mediaState:I
goto/16 :goto_bb
.line 9
:cond_3c
invoke-static {}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getInstance()Lcn/rongcloud/rtc/engine/RTCEngineImpl;
move-result-object v0
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getRoom()Lcn/rongcloud/rtc/api/RCRTCRoom;
move-result-object v0
if-nez v0, :cond_47
return-void
.line 10
:cond_47
invoke-interface {v0}, Lcn/rongcloud/rtc/api/RCRTCRoom;->getLocalUser()Lcn/rongcloud/rtc/api/RCRTCLocalUser;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/center/RCLocalUserImpl;
if-eqz v0, :cond_b4
.line 11
iget-object v1, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->trackId:Ljava/lang/String;
sget-object v2, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->TINY:Ljava/lang/CharSequence;
invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_6c
.line 12
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/RCLocalUserImpl;->getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
move-result-object v0
invoke-interface {v0}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;
move-result-object v0
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCResourceState;->NORMAL:Lcn/rongcloud/rtc/base/RCRTCResourceState;
if-ne v0, v1, :cond_68
goto :goto_69
:cond_68
const/4 v2, 0x0
:goto_69
iput v2, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->mediaState:I
goto :goto_bb
.line 13
:cond_6c
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_74
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_b1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/rongcloud/rtc/api/stream/RCRTCOutputStream;
.line 14
iget-object v4, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->trackId:Ljava/lang/String;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {v1}, Lcn/rongcloud/rtc/base/RCRTCStream;->getStreamId()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "_"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v1}, Lcn/rongcloud/rtc/base/RCRTCStream;->getMediaType()Lcn/rongcloud/rtc/base/RCRTCMediaType;
move-result-object v6
invoke-virtual {v6}, Lcn/rongcloud/rtc/base/RCRTCMediaType;->getDescription()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_74
.line 15
invoke-interface {v1}, Lcn/rongcloud/rtc/base/RCRTCStream;->getResourceState()Lcn/rongcloud/rtc/base/RCRTCResourceState;
move-result-object v0
sget-object v1, Lcn/rongcloud/rtc/base/RCRTCResourceState;->NORMAL:Lcn/rongcloud/rtc/base/RCRTCResourceState;
if-ne v0, v1, :cond_b1
const/4 v3, 0x1
.line 16
:cond_b1
iput v3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->mediaState:I
goto :goto_bb
:cond_b4
const-string v0, "StatHandler"
const-string v1, "updateStatForm: LocalUser is Null"
.line 17
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_bb
if-eqz p3, :cond_ea
if-eqz p4, :cond_d9
.line 18
iget-object p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->codecImplementationName:Ljava/lang/String;
const-string p4, "unknown"
.line 19
invoke-static {p4, p3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result p3
if-eqz p3, :cond_cc
const-string p3, "MediaCodec"
goto :goto_ce
:cond_cc
iget-object p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->codecImplementationName:Ljava/lang/String;
:goto_ce
iput-object p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->codecType:Ljava/lang/String;
.line 20
iget-object p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->nacksReceived:Ljava/lang/String;
iput-object p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->googNacksReceived:Ljava/lang/String;
.line 21
iget-object p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->plisReceived:Ljava/lang/String;
iput-object p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->googPlisReceived:Ljava/lang/String;
goto :goto_dd
.line 22
:cond_d9
iget-object p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->codecImplementationName:Ljava/lang/String;
iput-object p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->codecType:Ljava/lang/String;
.line 23
:goto_dd
iget p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->frameRate:I
iput p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->frameRate:I
.line 24
iget p3, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->frameHeight:I
iput p3, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->frameHeight:I
.line 25
iget p2, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->frameWidth:I
iput p2, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->frameWidth:I
goto :goto_f2
.line 26
:cond_ea
iget p2, p2, Lcn/rongcloud/rtc/api/report/StatusBean;->audioLevel:I
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p2
iput-object p2, p1, Lcn/rongcloud/rtc/stat/RongRtcStatForm;->audioLevel:Ljava/lang/String;
:cond_f2
:goto_f2
return-void
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)V
.registers 5
.line 1
invoke-super {p0, p1}, Landroid/os/Handler;->handleMessage(Landroid/os/Message;)V
.line 2
iget v0, p1, Landroid/os/Message;->what:I
const/4 v1, 0x1
if-eq v0, v1, :cond_42
const/4 v2, 0x2
if-eq v0, v2, :cond_3c
const/4 v1, 0x3
const/4 v2, 0x0
if-eq v0, v1, :cond_36
const/4 v1, 0x4
if-eq v0, v1, :cond_30
const/4 v1, 0x5
if-eq v0, v1, :cond_2c
const/16 v1, 0x64
if-eq v0, v1, :cond_1a
goto :goto_47
.line 3
:cond_1a
invoke-direct {p0}, Lcn/rongcloud/rtc/stat/StatHandler;->isEmpty()Z
move-result v0
if-nez v0, :cond_47
.line 4
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast p1, [Lcn/rongcloud/rtc/core/StatsReport;
invoke-direct {p0, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onParseStatusResult([Lcn/rongcloud/rtc/core/StatsReport;)Lcn/rongcloud/rtc/api/report/StatusReport;
move-result-object p1
invoke-direct {p0, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->sendRTCUserState(Lcn/rongcloud/rtc/api/report/StatusReport;)V
goto :goto_47
.line 5
:cond_2c
invoke-direct {p0}, Lcn/rongcloud/rtc/stat/StatHandler;->onRelease()V
goto :goto_47
.line 6
:cond_30
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-direct {p0, v2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onHandleRemove(ZLjava/lang/Object;)V
goto :goto_47
.line 7
:cond_36
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-direct {p0, v2, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onHandleAdd(ZLjava/lang/Object;)V
goto :goto_47
.line 8
:cond_3c
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-direct {p0, v1, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onHandleRemove(ZLjava/lang/Object;)V
goto :goto_47
.line 9
:cond_42
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-direct {p0, v1, p1}, Lcn/rongcloud/rtc/stat/StatHandler;->onHandleAdd(ZLjava/lang/Object;)V
:cond_47
:goto_47
return-void
.end method
.method public onComplete([Lcn/rongcloud/rtc/core/StatsReport;)V
.registers 3
const/16 v0, 0x64
.line 1
invoke-virtual {p0, v0, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object p1
invoke-virtual {p1}, Landroid/os/Message;->sendToTarget()V
return-void
.end method
.method public setRTCConnectionHolder(Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;)V
.registers 2
.line 1
iput-object p1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mConnectionHolder:Lcn/rongcloud/rtc/webrtc/RTCConnectionHolder;
return-void
.end method
.method public setRTCUserState(Ljava/lang/String;)V
.registers 5
.line 1
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object v0
invoke-virtual {v0}, Lio/rong/imlib/RongIMClient;->getCurrentConnectionStatus()Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
move-result-object v0
sget-object v1, Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;->CONNECTED:Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
if-eq v0, v1, :cond_d
return-void
.line 2
:cond_d
invoke-static {}, Lio/rong/imlib/IMLibRTCClient;->getInstance()Lio/rong/imlib/IMLibRTCClient;
move-result-object v0
iget-object v1, p0, Lcn/rongcloud/rtc/stat/StatHandler;->mRoomId:Ljava/lang/String;
new-instance v2, Lcn/rongcloud/rtc/stat/StatHandler$1;
invoke-direct {v2, p0}, Lcn/rongcloud/rtc/stat/StatHandler$1;-><init>(Lcn/rongcloud/rtc/stat/StatHandler;)V
.line 3
invoke-virtual {v0, v1, p1, v2}, Lio/rong/imlib/IMLibRTCClient;->setRTCUserState(Ljava/lang/String;Ljava/lang/String;Lio/rong/imlib/RongIMClient$OperationCallback;)V
return-void
.end method