f.smali
.class public final Lcom/imo/android/imoim/biggroup/i/f;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final g:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/imo/android/imoim/biggroup/i/f;",
">;"
}
.end annotation
.end field
# instance fields
.field public a:Ljava/util/concurrent/atomic/AtomicLong;
.field public b:Ljava/util/concurrent/atomic/AtomicLong;
.field public c:Ljava/util/concurrent/atomic/AtomicLong;
.field public d:Ljava/util/concurrent/atomic/AtomicLong;
.field public e:Ljava/util/concurrent/atomic/AtomicLong;
.field public f:Ljava/util/concurrent/atomic/AtomicLong;
.field private h:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 15
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
sput-object v0, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;)V
.registers 5
.line 42
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
const-wide/16 v1, 0x0
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->a:Ljava/util/concurrent/atomic/AtomicLong;
.line 19
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->b:Ljava/util/concurrent/atomic/AtomicLong;
.line 22
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->c:Ljava/util/concurrent/atomic/AtomicLong;
.line 23
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->d:Ljava/util/concurrent/atomic/AtomicLong;
.line 26
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->e:Ljava/util/concurrent/atomic/AtomicLong;
.line 27
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/imo/android/imoim/biggroup/i/f;->f:Ljava/util/concurrent/atomic/AtomicLong;
.line 43
iput-object p1, p0, Lcom/imo/android/imoim/biggroup/i/f;->h:Ljava/lang/String;
return-void
.end method
.method public static a(Ljava/lang/String;)Lcom/imo/android/imoim/biggroup/i/f;
.registers 4
.line 32
sget-object v0, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_22
.line 33
sget-object v0, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
monitor-enter v0
.line 34
:try_start_b
sget-object v1, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
invoke-interface {v1, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1d
.line 35
sget-object v1, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
new-instance v2, Lcom/imo/android/imoim/biggroup/i/f;
invoke-direct {v2, p0}, Lcom/imo/android/imoim/biggroup/i/f;-><init>(Ljava/lang/String;)V
invoke-interface {v1, p0, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 37
:cond_1d
monitor-exit v0
goto :goto_22
:catchall_1f
move-exception p0
monitor-exit v0
:try_end_21
.catchall {:try_start_b .. :try_end_21} :catchall_1f
throw p0
.line 39
:cond_22
:goto_22
sget-object v0, Lcom/imo/android/imoim/biggroup/i/f;->g:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/imo/android/imoim/biggroup/i/f;
return-object p0
.end method
# virtual methods
.method public final a()V
.registers 18
move-object/from16 v0, p0
.line 62
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->b:Ljava/util/concurrent/atomic/AtomicLong;
const-wide/16 v2, 0x0
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v4
.line 63
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->a:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v6
.line 65
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->d:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v8
.line 66
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->c:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v10
.line 68
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->f:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v12
.line 69
iget-object v1, v0, Lcom/imo/android/imoim/biggroup/i/f;->e:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide v14
const/4 v1, 0x0
cmp-long v16, v4, v2
if-eqz v16, :cond_40
cmp-long v16, v6, v2
if-nez v16, :cond_32
goto :goto_40
:cond_32
long-to-double v6, v6
long-to-double v4, v4
.line 71
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v6, v4
invoke-static {v6, v7}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v4
goto :goto_41
:cond_40
:goto_40
move-object v4, v1
:goto_41
cmp-long v5, v10, v2
if-eqz v5, :cond_58
cmp-long v5, v8, v2
if-nez v5, :cond_4a
goto :goto_58
:cond_4a
long-to-double v5, v10
long-to-double v7, v8
.line 72
invoke-static {v5, v6}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v5, v7
invoke-static {v5, v6}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v5
goto :goto_59
:cond_58
:goto_58
move-object v5, v1
:goto_59
cmp-long v6, v14, v2
if-eqz v6, :cond_6f
cmp-long v6, v12, v2
if-nez v6, :cond_62
goto :goto_6f
:cond_62
long-to-double v1, v14
long-to-double v6, v12
.line 73
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v1, v6
invoke-static {v1, v2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v1
.line 75
:cond_6f
:goto_6f
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
if-eqz v4, :cond_7b
const-string v3, "avgHandleMsgCostTime"
.line 78
invoke-interface {v2, v3, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_7b
if-eqz v5, :cond_82
const-string v3, "avgReadMsgCostTime"
.line 81
invoke-interface {v2, v3, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_82
if-eqz v1, :cond_89
const-string v3, "avgWriteMsgCostTime"
.line 84
invoke-interface {v2, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 87
:cond_89
invoke-interface {v2}, Ljava/util/Map;->size()I
move-result v1
if-lez v1, :cond_96
.line 88
sget-object v1, Lcom/imo/android/imoim/IMO;->b:Lcom/imo/android/imoim/managers/bb;
const-string v3, "msg_queue_handler_stable"
invoke-virtual {v1, v3, v2}, Lcom/imo/android/imoim/managers/bb;->a(Ljava/lang/String;Ljava/util/Map;)V
:cond_96
return-void
.end method