gc.smali

.class public abstract Lcom/xiaomi/push/gc;
.super Lcom/xiaomi/push/fv;


# instance fields
.field protected o:Ljava/lang/Exception;

.field protected p:Ljava/net/Socket;

.field q:Ljava/lang/String;

.field protected r:Lcom/xiaomi/push/service/XMPushService;

.field protected volatile s:J

.field protected volatile t:J

.field protected volatile u:J

.field private v:Ljava/lang/String;

.field private w:I


# direct methods
.method public constructor <init>(Lcom/xiaomi/push/service/XMPushService;Lcom/xiaomi/push/fw;)V
    .registers 6

    const/4 v2, 0x0

    const-wide/16 v0, 0x0

    invoke-direct {p0, p1, p2}, Lcom/xiaomi/push/fv;-><init>(Lcom/xiaomi/push/service/XMPushService;Lcom/xiaomi/push/fw;)V

    iput-object v2, p0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    iput-object v2, p0, Lcom/xiaomi/push/gc;->q:Ljava/lang/String;

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->s:J

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->t:J

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->u:J

    iput-object p1, p0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    return-void
.end method

.method private a(Lcom/xiaomi/push/fw;)V
    .registers 4

    invoke-virtual {p1}, Lcom/xiaomi/push/fw;->e()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1}, Lcom/xiaomi/push/fw;->d()I

    move-result v1

    invoke-direct {p0, v0, v1}, Lcom/xiaomi/push/gc;->a(Ljava/lang/String;I)V

    return-void
.end method

.method private a(Ljava/lang/String;I)V
    .registers 19

    const/4 v4, 0x0

    const/4 v2, 0x0

    move-object/from16 v0, p0

    iput-object v2, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "get bucket for host : "

    invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    move-object/from16 v0, p1

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Lcom/xiaomi/a/a/a/c;->e(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I

    move-result v5

    invoke-virtual/range {p0 .. p1}, Lcom/xiaomi/push/gc;->b(Ljava/lang/String;)Lcom/xiaomi/push/cv;

    move-result-object v2

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-static {v5}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/Integer;)V

    if-eqz v2, :cond_3a

    const/4 v3, 0x1

    invoke-virtual {v2, v3}, Lcom/xiaomi/push/cv;->a(Z)Ljava/util/ArrayList;

    move-result-object v3

    :cond_3a
    invoke-virtual {v3}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v5

    if-eqz v5, :cond_45

    move-object/from16 v0, p1

    invoke-virtual {v3, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    :cond_45
    const-wide/16 v6, 0x0

    move-object/from16 v0, p0

    iput-wide v6, v0, Lcom/xiaomi/push/gc;->u:J

    move-object/from16 v0, p0

    iget-object v5, v0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    invoke-static {v5}, Lcom/xiaomi/push/z;->k(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v11

    new-instance v12, Ljava/lang/StringBuilder;

    invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v10

    :goto_5c
    invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_285

    invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v14

    move-object/from16 v0, p0

    iget v5, v0, Lcom/xiaomi/push/gc;->b:I

    add-int/lit8 v5, v5, 0x1

    move-object/from16 v0, p0

    iput v5, v0, Lcom/xiaomi/push/gc;->b:I

    :try_start_76
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "begin to connect to "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/String;)V

    invoke-virtual/range {p0 .. p0}, Lcom/xiaomi/push/gc;->s()Ljava/net/Socket;

    move-result-object v5

    move-object/from16 v0, p0

    iput-object v5, v0, Lcom/xiaomi/push/gc;->p:Ljava/net/Socket;

    move/from16 v0, p2

    invoke-static {v3, v0}, Lcom/xiaomi/push/cx;->b(Ljava/lang/String;I)Ljava/net/InetSocketAddress;

    move-result-object v5

    move-object/from16 v0, p0

    iget-object v6, v0, Lcom/xiaomi/push/gc;->p:Ljava/net/Socket;

    const/16 v7, 0x1f40

    invoke-virtual {v6, v5, v7}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V

    const-string v5, "tcp connected"

    invoke-static {v5}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/String;)V

    move-object/from16 v0, p0

    iget-object v5, v0, Lcom/xiaomi/push/gc;->p:Ljava/net/Socket;

    const/4 v6, 0x1

    invoke-virtual {v5, v6}, Ljava/net/Socket;->setTcpNoDelay(Z)V

    move-object/from16 v0, p0

    iput-object v3, v0, Lcom/xiaomi/push/gc;->v:Ljava/lang/String;

    invoke-virtual/range {p0 .. p0}, Lcom/xiaomi/push/gc;->c()V
    :try_end_b7
    .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_b7} :catch_10f
    .catch Ljava/lang/Throwable; {:try_start_76 .. :try_end_b7} :catch_188
    .catchall {:try_start_76 .. :try_end_b7} :catchall_209

    const/4 v9, 0x1

    :try_start_b8
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    sub-long/2addr v4, v14

    move-object/from16 v0, p0

    iput-wide v4, v0, Lcom/xiaomi/push/gc;->c:J

    move-object/from16 v0, p0

    iput-object v11, v0, Lcom/xiaomi/push/gc;->j:Ljava/lang/String;

    if-eqz v2, :cond_d0

    move-object/from16 v0, p0

    iget-wide v4, v0, Lcom/xiaomi/push/gc;->c:J

    const-wide/16 v6, 0x0

    invoke-virtual/range {v2 .. v7}, Lcom/xiaomi/push/cv;->b(Ljava/lang/String;JJ)V

    :cond_d0
    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v4

    move-object/from16 v0, p0

    iput-wide v4, v0, Lcom/xiaomi/push/gc;->u:J

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "connected to "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " in "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move-object/from16 v0, p0

    iget-wide v6, v0, Lcom/xiaomi/push/gc;->c:J

    invoke-virtual {v4, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/String;)V
    :try_end_fc
    .catch Ljava/lang/Exception; {:try_start_b8 .. :try_end_fc} :catch_282
    .catch Ljava/lang/Throwable; {:try_start_b8 .. :try_end_fc} :catch_27f
    .catchall {:try_start_b8 .. :try_end_fc} :catchall_27c

    :cond_fc
    :goto_fc
    invoke-static {}, Lcom/xiaomi/push/cz;->a()Lcom/xiaomi/push/cz;

    move-result-object v2

    invoke-virtual {v2}, Lcom/xiaomi/push/cz;->i()V

    if-nez v9, :cond_27b

    new-instance v2, Lcom/xiaomi/push/hb;

    invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-direct {v2, v3}, Lcom/xiaomi/push/hb;-><init>(Ljava/lang/String;)V

    throw v2

    :catch_10f
    move-exception v5

    move v9, v4

    move-object v4, v5

    :goto_112
    :try_start_112
    move-object/from16 v0, p0

    iput-object v4, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;
    :try_end_116
    .catchall {:try_start_112 .. :try_end_116} :catchall_27c

    if-nez v9, :cond_184

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "SMACK: Could not connect to:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/xiaomi/a/a/a/c;->d(Ljava/lang/String;)V

    const-string v4, "SMACK: Could not connect to "

    invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " port:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move/from16 v0, p2

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " err:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move-object/from16 v0, p0

    iget-object v5, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, "\n"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-static {v3, v4}, Lcom/xiaomi/push/ho;->a(Ljava/lang/String;Ljava/lang/Exception;)V

    if-eqz v2, :cond_176

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    sub-long/2addr v4, v14

    const-wide/16 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual/range {v2 .. v8}, Lcom/xiaomi/push/cv;->b(Ljava/lang/String;JJLjava/lang/Exception;)V

    :cond_176
    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    invoke-static {v3}, Lcom/xiaomi/push/z;->k(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v3

    invoke-static {v11, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_fc

    :cond_184
    move v3, v9

    move v4, v3

    goto/16 :goto_5c

    :catch_188
    move-exception v5

    move v9, v4

    move-object v4, v5

    :goto_18b
    :try_start_18b
    new-instance v5, Ljava/lang/Exception;

    const-string v6, "abnormal exception"

    invoke-direct {v5, v6, v4}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    move-object/from16 v0, p0

    iput-object v5, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-static {v4}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/Throwable;)V
    :try_end_199
    .catchall {:try_start_18b .. :try_end_199} :catchall_27c

    if-nez v9, :cond_184

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "SMACK: Could not connect to:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/xiaomi/a/a/a/c;->d(Ljava/lang/String;)V

    const-string v4, "SMACK: Could not connect to "

    invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " port:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move/from16 v0, p2

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " err:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move-object/from16 v0, p0

    iget-object v5, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, "\n"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-static {v3, v4}, Lcom/xiaomi/push/ho;->a(Ljava/lang/String;Ljava/lang/Exception;)V

    if-eqz v2, :cond_1f9

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    sub-long/2addr v4, v14

    const-wide/16 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual/range {v2 .. v8}, Lcom/xiaomi/push/cv;->b(Ljava/lang/String;JJLjava/lang/Exception;)V

    :cond_1f9
    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    invoke-static {v3}, Lcom/xiaomi/push/z;->k(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v3

    invoke-static {v11, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v3

    if-nez v3, :cond_184

    goto/16 :goto_fc

    :catchall_209
    move-exception v5

    move-object v10, v5

    move v9, v4

    :goto_20c
    if-nez v9, :cond_27a

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "SMACK: Could not connect to:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/xiaomi/a/a/a/c;->d(Ljava/lang/String;)V

    const-string v4, "SMACK: Could not connect to "

    invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " port:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move/from16 v0, p2

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " err:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    move-object/from16 v0, p0

    iget-object v5, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, "\n"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-static {v3, v4}, Lcom/xiaomi/push/ho;->a(Ljava/lang/String;Ljava/lang/Exception;)V

    if-eqz v2, :cond_26c

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    sub-long/2addr v4, v14

    const-wide/16 v6, 0x0

    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/xiaomi/push/gc;->o:Ljava/lang/Exception;

    invoke-virtual/range {v2 .. v8}, Lcom/xiaomi/push/cv;->b(Ljava/lang/String;JJLjava/lang/Exception;)V

    :cond_26c
    move-object/from16 v0, p0

    iget-object v2, v0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    invoke-static {v2}, Lcom/xiaomi/push/z;->k(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v11, v2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_fc

    :cond_27a
    throw v10

    :cond_27b
    return-void

    :catchall_27c
    move-exception v4

    move-object v10, v4

    goto :goto_20c

    :catch_27f
    move-exception v4

    goto/16 :goto_18b

    :catch_282
    move-exception v4

    goto/16 :goto_112

    :cond_285
    move v9, v4

    goto/16 :goto_fc
.end method


# virtual methods
.method protected declared-synchronized a(ILjava/lang/Exception;)V
    .registers 5

    const/4 v1, 0x2

    monitor-enter p0

    :try_start_2
    invoke-virtual {p0}, Lcom/xiaomi/push/gc;->l()I
    :try_end_5
    .catchall {:try_start_2 .. :try_end_5} :catchall_20

    move-result v0

    if-ne v0, v1, :cond_a

    :goto_8
    monitor-exit p0

    return-void

    :cond_a
    const/4 v0, 0x2

    :try_start_b
    invoke-virtual {p0, v0, p1, p2}, Lcom/xiaomi/push/gc;->a(IILjava/lang/Exception;)V

    const-string v0, ""

    iput-object v0, p0, Lcom/xiaomi/push/gc;->i:Ljava/lang/String;
    :try_end_12
    .catchall {:try_start_b .. :try_end_12} :catchall_20

    :try_start_12
    iget-object v0, p0, Lcom/xiaomi/push/gc;->p:Ljava/net/Socket;

    invoke-virtual {v0}, Ljava/net/Socket;->close()V
    :try_end_17
    .catch Ljava/lang/Throwable; {:try_start_12 .. :try_end_17} :catch_23
    .catchall {:try_start_12 .. :try_end_17} :catchall_20

    :goto_17
    const-wide/16 v0, 0x0

    :try_start_19
    iput-wide v0, p0, Lcom/xiaomi/push/gc;->s:J

    const-wide/16 v0, 0x0

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->t:J
    :try_end_1f
    .catchall {:try_start_19 .. :try_end_1f} :catchall_20

    goto :goto_8

    :catchall_20
    move-exception v0

    monitor-exit p0

    throw v0

    :catch_23
    move-exception v0

    goto :goto_17
.end method

.method protected a(Ljava/lang/Exception;)V
    .registers 7

    const/4 v4, 0x0

    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    iget-wide v2, p0, Lcom/xiaomi/push/gc;->u:J

    sub-long/2addr v0, v2

    const-wide/32 v2, 0x493e0

    cmp-long v0, v0, v2

    if-gez v0, :cond_44

    iget-object v0, p0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    invoke-static {v0}, Lcom/xiaomi/push/z;->c(Landroid/content/Context;)Z

    move-result v0

    if-eqz v0, :cond_43

    iget v0, p0, Lcom/xiaomi/push/gc;->w:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/xiaomi/push/gc;->w:I

    iget v0, p0, Lcom/xiaomi/push/gc;->w:I

    const/4 v1, 0x2

    if-lt v0, v1, :cond_43

    invoke-virtual {p0}, Lcom/xiaomi/push/gc;->e()Ljava/lang/String;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "max short conn time reached, sink down current host:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/String;)V

    const-wide/16 v2, 0x0

    invoke-virtual {p0, v0, v2, v3, p1}, Lcom/xiaomi/push/gc;->a(Ljava/lang/String;JLjava/lang/Exception;)V

    iput v4, p0, Lcom/xiaomi/push/gc;->w:I

    :cond_43
    :goto_43
    return-void

    :cond_44
    iput v4, p0, Lcom/xiaomi/push/gc;->w:I

    goto :goto_43
.end method

.method protected a(Ljava/lang/String;JLjava/lang/Exception;)V
    .registers 13

    invoke-static {}, Lcom/xiaomi/push/fw;->a()Ljava/lang/String;

    move-result-object v0

    invoke-static {}, Lcom/xiaomi/push/cz;->a()Lcom/xiaomi/push/cz;

    move-result-object v1

    const/4 v2, 0x0

    invoke-virtual {v1, v0, v2}, Lcom/xiaomi/push/cz;->a(Ljava/lang/String;Z)Lcom/xiaomi/push/cv;

    move-result-object v0

    if-eqz v0, :cond_1e

    const-wide/16 v4, 0x0

    move-object v1, p1

    move-wide v2, p2

    move-object v6, p4

    invoke-virtual/range {v0 .. v6}, Lcom/xiaomi/push/cv;->b(Ljava/lang/String;JJLjava/lang/Exception;)V

    invoke-static {}, Lcom/xiaomi/push/cz;->a()Lcom/xiaomi/push/cz;

    move-result-object v0

    invoke-virtual {v0}, Lcom/xiaomi/push/cz;->i()V

    :cond_1e
    return-void
.end method

.method protected abstract a(Z)V
.end method

.method public a([Lcom/xiaomi/push/fn;)V
    .registers 4

    new-instance v0, Lcom/xiaomi/push/hb;

    const-string v1, "Don\'t support send Blob"

    invoke-direct {v0, v1}, Lcom/xiaomi/push/hb;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method b(Ljava/lang/String;)Lcom/xiaomi/push/cv;
    .registers 4

    invoke-static {}, Lcom/xiaomi/push/cz;->a()Lcom/xiaomi/push/cz;

    move-result-object v0

    const/4 v1, 0x0

    invoke-virtual {v0, p1, v1}, Lcom/xiaomi/push/cz;->a(Ljava/lang/String;Z)Lcom/xiaomi/push/cv;

    move-result-object v0

    invoke-virtual {v0}, Lcom/xiaomi/push/cv;->b()Z

    move-result v1

    if-nez v1, :cond_17

    new-instance v1, Lcom/xiaomi/push/gj;

    invoke-direct {v1, p0, p1}, Lcom/xiaomi/push/gj;-><init>(Lcom/xiaomi/push/gc;Ljava/lang/String;)V

    invoke-static {v1}, Lcom/xiaomi/push/ha;->a(Ljava/lang/Runnable;)V

    :cond_17
    return-object v0
.end method

.method public b(ILjava/lang/Exception;)V
    .registers 7

    invoke-virtual {p0, p1, p2}, Lcom/xiaomi/push/gc;->a(ILjava/lang/Exception;)V

    if-nez p2, :cond_9

    const/16 v0, 0x12

    if-ne p1, v0, :cond_14

    :cond_9
    iget-wide v0, p0, Lcom/xiaomi/push/gc;->u:J

    const-wide/16 v2, 0x0

    cmp-long v0, v0, v2

    if-eqz v0, :cond_14

    invoke-virtual {p0, p2}, Lcom/xiaomi/push/gc;->a(Ljava/lang/Exception;)V

    :cond_14
    return-void
.end method

.method public b(Z)V
    .registers 7

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    invoke-virtual {p0, p1}, Lcom/xiaomi/push/gc;->a(Z)V

    if-nez p1, :cond_17

    iget-object v2, p0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    new-instance v3, Lcom/xiaomi/push/gd;

    const/16 v4, 0xd

    invoke-direct {v3, p0, v4, v0, v1}, Lcom/xiaomi/push/gd;-><init>(Lcom/xiaomi/push/gc;IJ)V

    const-wide/16 v0, 0x2710

    invoke-virtual {v2, v3, v0, v1}, Lcom/xiaomi/push/service/XMPushService;->a(Lcom/xiaomi/push/service/XMPushService$i;J)V

    :cond_17
    return-void
.end method

.method protected declared-synchronized c()V
    .registers 1

    monitor-enter p0

    monitor-exit p0

    return-void
.end method

.method public c(ILjava/lang/Exception;)V
    .registers 6

    iget-object v0, p0, Lcom/xiaomi/push/gc;->r:Lcom/xiaomi/push/service/XMPushService;

    new-instance v1, Lcom/xiaomi/push/gi;

    const/4 v2, 0x2

    invoke-direct {v1, p0, v2, p1, p2}, Lcom/xiaomi/push/gi;-><init>(Lcom/xiaomi/push/gc;IILjava/lang/Exception;)V

    invoke-virtual {v0, v1}, Lcom/xiaomi/push/service/XMPushService;->a(Lcom/xiaomi/push/service/XMPushService$i;)V

    return-void
.end method

.method public e()Ljava/lang/String;
    .registers 2

    iget-object v0, p0, Lcom/xiaomi/push/gc;->v:Ljava/lang/String;

    return-object v0
.end method

.method public q()Ljava/lang/String;
    .registers 2

    iget-object v0, p0, Lcom/xiaomi/push/gc;->i:Ljava/lang/String;

    return-object v0
.end method

.method public declared-synchronized r()V
    .registers 4

    monitor-enter p0

    :try_start_1
    invoke-virtual {p0}, Lcom/xiaomi/push/gc;->j()Z

    move-result v0

    if-nez v0, :cond_d

    invoke-virtual {p0}, Lcom/xiaomi/push/gc;->i()Z

    move-result v0

    if-eqz v0, :cond_14

    :cond_d
    const-string v0, "WARNING: current xmpp has connected"

    invoke-static {v0}, Lcom/xiaomi/a/a/a/c;->a(Ljava/lang/String;)V
    :try_end_12
    .catch Ljava/io/IOException; {:try_start_1 .. :try_end_12} :catch_20
    .catchall {:try_start_1 .. :try_end_12} :catchall_27

    :goto_12
    monitor-exit p0

    return-void

    :cond_14
    const/4 v0, 0x0

    const/4 v1, 0x0

    const/4 v2, 0x0

    :try_start_17
    invoke-virtual {p0, v0, v1, v2}, Lcom/xiaomi/push/gc;->a(IILjava/lang/Exception;)V

    iget-object v0, p0, Lcom/xiaomi/push/gc;->l:Lcom/xiaomi/push/fw;

    invoke-direct {p0, v0}, Lcom/xiaomi/push/gc;->a(Lcom/xiaomi/push/fw;)V
    :try_end_1f
    .catch Ljava/io/IOException; {:try_start_17 .. :try_end_1f} :catch_20
    .catchall {:try_start_17 .. :try_end_1f} :catchall_27

    goto :goto_12

    :catch_20
    move-exception v0

    :try_start_21
    new-instance v1, Lcom/xiaomi/push/hb;

    invoke-direct {v1, v0}, Lcom/xiaomi/push/hb;-><init>(Ljava/lang/Throwable;)V

    throw v1
    :try_end_27
    .catchall {:try_start_21 .. :try_end_27} :catchall_27

    :catchall_27
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public s()Ljava/net/Socket;
    .registers 2

    new-instance v0, Ljava/net/Socket;

    invoke-direct {v0}, Ljava/net/Socket;-><init>()V

    return-object v0
.end method

.method public t()V
    .registers 3

    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->s:J

    return-void
.end method

.method public u()V
    .registers 3

    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    iput-wide v0, p0, Lcom/xiaomi/push/gc;->t:J

    return-void
.end method