.class public Lcom/igexin/push/c/p; .super Lcom/igexin/push/f/b/h; # static fields .field public static final a:I .field private static final b:Ljava/lang/String; = "com.igexin.push.c.p" # instance fields .field private volatile L:Z .field private volatile M:Z .field private c:Lcom/igexin/push/c/j; .field private e:Ljava/lang/Thread; .field private f:Lcom/igexin/push/c/o; .field private g:J .field private h:Ljava/util/concurrent/locks/Lock; .field private i:Ljava/util/concurrent/locks/Condition; .field private final j:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/lang/Object;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .locals 2 const-wide/32 v0, 0x1337949 invoke-static {v0, v1}, Lcom/igexin/push/c/p;->a(J)J move-result-wide v0 long-to-int v0, v0 sput v0, Lcom/igexin/push/c/p;->a:I return-void .end method .method public constructor ()V .locals 2 const-wide/32 v0, 0x240c8400 invoke-direct {p0, v0, v1}, Lcom/igexin/push/f/b/h;->(J)V const-wide/16 v0, -0x1 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J new-instance v0, Ljava/util/concurrent/locks/ReentrantLock; invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;->()V iput-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; iget-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->newCondition()Ljava/util/concurrent/locks/Condition; move-result-object v0 iput-object v0, p0, Lcom/igexin/push/c/p;->i:Ljava/util/concurrent/locks/Condition; new-instance v0, Ljava/util/ArrayList; const/4 v1, 0x1 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V iput-object v0, p0, Lcom/igexin/push/c/p;->j:Ljava/util/List; iput-boolean v1, p0, Lcom/igexin/push/c/p;->L:Z iput-boolean v1, p0, Lcom/igexin/push/c/p;->o:Z return-void .end method .method private A()V .locals 2 :try_start_0 iget-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V iget-object v0, p0, Lcom/igexin/push/c/p;->j:Ljava/util/List; new-instance v1, Ljava/lang/Object; invoke-direct {v1}, Ljava/lang/Object;->()V invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z iget-object v0, p0, Lcom/igexin/push/c/p;->i:Ljava/util/concurrent/locks/Condition; invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 :catch_0 :try_start_1 iget-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 goto :goto_0 :catchall_0 move-exception v0 :try_start_2 iget-object v1, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1 :catch_1 throw v0 :catch_2 :goto_0 return-void .end method .method private static a(J)J .locals 6 const-wide/16 v0, 0xa div-long v0, p0, v0 invoke-static {}, Ljava/lang/Math;->random()D move-result-wide v2 long-to-double v0, v0 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z mul-double v2, v2, v0 const-wide/high16 v4, 0x4000000000000000L # 2.0 mul-double v2, v2, v4 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z sub-double/2addr v2, v0 double-to-long v0, v2 add-long/2addr p0, v0 return-wide p0 .end method .method static synthetic a(Lcom/igexin/push/c/p;)Z .locals 0 iget-boolean p0, p0, Lcom/igexin/push/c/p;->L:Z return p0 .end method .method static synthetic b(Lcom/igexin/push/c/p;)Ljava/lang/Thread; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; return-object p0 .end method .method static synthetic c(Lcom/igexin/push/c/p;)Ljava/util/concurrent/locks/Lock; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; return-object p0 .end method .method static synthetic d(Lcom/igexin/push/c/p;)Ljava/util/List; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->j:Ljava/util/List; return-object p0 .end method .method static synthetic e(Lcom/igexin/push/c/p;)Ljava/util/concurrent/locks/Condition; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->i:Ljava/util/concurrent/locks/Condition; return-object p0 .end method .method static synthetic f(Lcom/igexin/push/c/p;)Z .locals 0 iget-boolean p0, p0, Lcom/igexin/push/c/p;->M:Z return p0 .end method .method static synthetic g(Lcom/igexin/push/c/p;)Lcom/igexin/push/c/o; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->f:Lcom/igexin/push/c/o; return-object p0 .end method .method static synthetic h(Lcom/igexin/push/c/p;)Lcom/igexin/push/c/j; .locals 0 iget-object p0, p0, Lcom/igexin/push/c/p;->c:Lcom/igexin/push/c/j; return-object p0 .end method .method static synthetic i(Lcom/igexin/push/c/p;)Ljava/lang/String; .locals 0 invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method static synthetic k()Ljava/lang/String; .locals 1 sget-object v0, Lcom/igexin/push/c/p;->b:Ljava/lang/String; return-object v0 .end method .method private w()V .locals 2 new-instance v0, Ljava/lang/Thread; new-instance v1, Lcom/igexin/push/c/q; invoke-direct {v1, p0}, Lcom/igexin/push/c/q;->(Lcom/igexin/push/c/p;)V invoke-direct {v0, v1}, Ljava/lang/Thread;->(Ljava/lang/Runnable;)V iput-object v0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; iget-object v0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; invoke-virtual {v0}, Ljava/lang/Thread;->start()V return-void .end method .method private x()V .locals 3 sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; const-wide/32 v1, 0x1b7740 invoke-virtual {p0, v1, v2, v0}, Lcom/igexin/push/c/p;->a(JLjava/util/concurrent/TimeUnit;)I iget-object v0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; if-nez v0, :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/igexin/push/c/p;->L:Z iget-object v0, p0, Lcom/igexin/push/c/p;->j:Ljava/util/List; new-instance v1, Ljava/lang/Object; invoke-direct {v1}, Ljava/lang/Object;->()V invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z invoke-direct {p0}, Lcom/igexin/push/c/p;->w()V goto :goto_0 :cond_0 :try_start_0 iget-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V sget-object v1, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "|detect " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "running, start" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V iget-object v0, p0, Lcom/igexin/push/c/p;->j:Ljava/util/List; new-instance v1, Ljava/lang/Object; invoke-direct {v1}, Ljava/lang/Object;->()V invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z iget-object v0, p0, Lcom/igexin/push/c/p;->i:Ljava/util/concurrent/locks/Condition; invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 :catch_0 :try_start_1 iget-object v0, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 goto :goto_0 :catchall_0 move-exception v0 :try_start_2 iget-object v1, p0, Lcom/igexin/push/c/p;->h:Ljava/util/concurrent/locks/Lock; invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1 :catch_1 throw v0 :catch_2 :goto_0 return-void .end method .method private y()Ljava/lang/String; .locals 2 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V iget-object v1, p0, Lcom/igexin/push/c/p;->c:Lcom/igexin/push/c/j; invoke-virtual {v1}, Lcom/igexin/push/c/j;->a()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "[" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Lcom/igexin/push/c/p;->c:Lcom/igexin/push/c/j; invoke-virtual {v1}, Lcom/igexin/push/c/j;->c()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "] " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method private z()V .locals 1 :try_start_0 iget-object v0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; if-eqz v0, :cond_0 iget-object v0, p0, Lcom/igexin/push/c/p;->e:Ljava/lang/Thread; invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 :catch_0 :cond_0 return-void .end method # virtual methods .method protected a()V .locals 1 iget-boolean v0, p0, Lcom/igexin/push/c/p;->M:Z if-nez v0, :cond_0 invoke-direct {p0}, Lcom/igexin/push/c/p;->x()V :cond_0 return-void .end method .method public a(Lcom/igexin/push/c/j;)V .locals 0 iput-object p1, p0, Lcom/igexin/push/c/p;->c:Lcom/igexin/push/c/j; return-void .end method .method public a(Lcom/igexin/push/c/o;)V .locals 1 const-class v0, Lcom/igexin/push/c/o; monitor-enter v0 :try_start_0 iput-object p1, p0, Lcom/igexin/push/c/p;->f:Lcom/igexin/push/c/o; monitor-exit v0 return-void :catchall_0 move-exception p1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public a(Z)V .locals 6 if-eqz p1, :cond_0 invoke-virtual {p0}, Lcom/igexin/push/c/p;->j()V new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V sget-object v0, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "|detect " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "reset delay = 0" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V :cond_0 invoke-static {}, Lcom/igexin/push/util/a;->g()Z move-result p1 sput-boolean p1, Lcom/igexin/push/core/g;->h:Z new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V sget-object v0, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "|network available : " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-boolean v0, Lcom/igexin/push/core/g;->h:Z invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V sget-boolean p1, Lcom/igexin/push/core/g;->h:Z if-nez p1, :cond_1 const-wide/32 v0, 0x240c8400 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J goto :goto_2 :cond_1 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/16 v2, 0x7d0 cmp-long p1, v0, v2 if-gtz p1, :cond_2 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/16 v2, 0x1f4 :goto_0 add-long/2addr v0, v2 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J goto :goto_1 :cond_2 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/16 v2, 0x3a98 cmp-long p1, v0, v2 if-gtz p1, :cond_3 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/16 v2, 0x1388 goto :goto_0 :cond_3 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/32 v4, 0xea60 cmp-long p1, v0, v4 if-gtz p1, :cond_4 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J goto :goto_0 :cond_4 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/32 v2, 0x1d4c0 goto :goto_0 :goto_1 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J const-wide/32 v2, 0x36ee80 cmp-long p1, v0, v2 if-lez p1, :cond_5 iput-wide v2, p0, Lcom/igexin/push/c/p;->g:J :cond_5 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J invoke-static {v0, v1}, Lcom/igexin/push/c/p;->a(J)J move-result-wide v0 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V sget-object v0, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "|detect " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, "redetect delay = " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J invoke-virtual {p1, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V :goto_2 iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J sget-object p1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {p0, v0, v1, p1}, Lcom/igexin/push/c/p;->a(JLjava/util/concurrent/TimeUnit;)I return-void .end method .method public final b()I .locals 1 sget v0, Lcom/igexin/push/c/p;->a:I return v0 .end method .method public c()V .locals 0 invoke-super {p0}, Lcom/igexin/push/f/b/h;->c()V return-void .end method .method public d()V .locals 0 return-void .end method .method public e_()Lcom/igexin/push/c/j; .locals 1 iget-object v0, p0, Lcom/igexin/push/c/p;->c:Lcom/igexin/push/c/j; return-object v0 .end method .method public f_()V .locals 3 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V sget-object v1, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "|detect " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "finish, task stop" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; const-wide/32 v1, 0x240c8400 invoke-virtual {p0, v1, v2, v0}, Lcom/igexin/push/c/p;->a(JLjava/util/concurrent/TimeUnit;)I return-void .end method .method public h()V .locals 1 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/igexin/push/c/p;->M:Z const/4 v0, 0x0 iput-boolean v0, p0, Lcom/igexin/push/c/p;->L:Z iput-boolean v0, p0, Lcom/igexin/push/c/p;->o:Z const/4 v0, 0x0 iput-object v0, p0, Lcom/igexin/push/c/p;->f:Lcom/igexin/push/c/o; invoke-direct {p0}, Lcom/igexin/push/c/p;->A()V invoke-virtual {p0}, Lcom/igexin/push/c/p;->p()V invoke-direct {p0}, Lcom/igexin/push/c/p;->z()V return-void .end method .method public i()V .locals 3 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V sget-object v1, Lcom/igexin/push/c/p;->b:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "|detect " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-direct {p0}, Lcom/igexin/push/c/p;->y()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "start" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/igexin/b/a/c/b;->a(Ljava/lang/String;)V const-wide/16 v0, 0x32 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J iget-wide v0, p0, Lcom/igexin/push/c/p;->g:J sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {p0, v0, v1, v2}, Lcom/igexin/push/c/p;->a(JLjava/util/concurrent/TimeUnit;)I return-void .end method .method public j()V .locals 2 const-wide/16 v0, 0x0 iput-wide v0, p0, Lcom/igexin/push/c/p;->g:J return-void .end method