dc.smali
.class public Lcom/baidu/techain/af/dc;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/baidu/techain/af/dc$a;,
Lcom/baidu/techain/af/dc$c;,
Lcom/baidu/techain/af/dc$b;
}
.end annotation
# static fields
.field private static volatile c:Lcom/baidu/techain/af/dc;
# instance fields
.field public final a:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue",
"<",
"Lcom/baidu/techain/af/dc$b;",
">;"
}
.end annotation
.end field
.field private b:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
sput-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
iput-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
iput-object p1, p0, Lcom/baidu/techain/af/dc;->b:Landroid/content/Context;
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
new-instance v1, Lcom/baidu/techain/af/dc$a;
invoke-direct {v1, p0}, Lcom/baidu/techain/af/dc$a;-><init>(Lcom/baidu/techain/af/dc;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
const-wide/16 v0, 0x0
invoke-virtual {p0, v0, v1}, Lcom/baidu/techain/af/dc;->a(J)V
return-void
.end method
.method static synthetic a(Lcom/baidu/techain/af/dc;)Landroid/content/Context;
.registers 2
iget-object v0, p0, Lcom/baidu/techain/af/dc;->b:Landroid/content/Context;
return-object v0
.end method
.method public static a(Landroid/content/Context;)Lcom/baidu/techain/af/dc;
.registers 3
sget-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
if-nez v0, :cond_13
const-class v1, Lcom/baidu/techain/af/dc;
monitor-enter v1
:try_start_7
sget-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
if-nez v0, :cond_12
new-instance v0, Lcom/baidu/techain/af/dc;
invoke-direct {v0, p0}, Lcom/baidu/techain/af/dc;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_1a
:cond_13
sget-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
iput-object p0, v0, Lcom/baidu/techain/af/dc;->b:Landroid/content/Context;
sget-object v0, Lcom/baidu/techain/af/dc;->c:Lcom/baidu/techain/af/dc;
return-object v0
:catchall_1a
move-exception v0
:try_start_1b
monitor-exit v1
:try_end_1c
.catchall {:try_start_1b .. :try_end_1c} :catchall_1a
throw v0
.end method
.method static synthetic a(Lcom/baidu/techain/af/dc;J)V
.registers 4
invoke-direct {p0, p1, p2}, Lcom/baidu/techain/af/dc;->b(J)V
return-void
.end method
.method static synthetic b(Lcom/baidu/techain/af/dc;)Ljava/util/concurrent/ConcurrentLinkedQueue;
.registers 2
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
return-object v0
.end method
.method private b(J)V
.registers 4
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/baidu/techain/af/dc$b;
if-eqz v0, :cond_13
invoke-virtual {v0}, Lcom/baidu/techain/af/dc$b;->c()Z
move-result v0
if-eqz v0, :cond_13
invoke-virtual {p0, p1, p2}, Lcom/baidu/techain/af/dc;->a(J)V
:cond_13
return-void
.end method
.method static synthetic c(Lcom/baidu/techain/af/dc;)V
.registers 5
.prologue
.line 3000
invoke-static {}, Lcom/baidu/techain/af/b;->b()Z
move-result v0
if-nez v0, :cond_c
invoke-static {}, Lcom/baidu/techain/af/b;->a()Z
move-result v0
if-eqz v0, :cond_d
:cond_c
:goto_c
return-void
:cond_d
:try_start_d
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Lcom/baidu/techain/af/dc;->b:Landroid/content/Context;
const/4 v3, 0x0
invoke-virtual {v2, v3}, Landroid/content/Context;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "/.logcache"
invoke-virtual {v1, v2}, 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-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_c
invoke-virtual {v0}, Ljava/io/File;->isDirectory()Z
move-result v1
if-eqz v1, :cond_c
invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
array-length v2, v1
const/4 v0, 0x0
:goto_3e
if-ge v0, v2, :cond_c
aget-object v3, v1, v0
invoke-virtual {v3}, Ljava/io/File;->delete()Z
:try_end_45
.catch Ljava/lang/NullPointerException; {:try_start_d .. :try_end_45} :catch_48
add-int/lit8 v0, v0, 0x1
goto :goto_3e
.line 0
:catch_48
move-exception v0
goto :goto_c
.end method
# virtual methods
.method public final a()V
.registers 7
.prologue
.line 0
.line 1000
:cond_0
:goto_0
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
move-result v0
if-nez v0, :cond_39
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/baidu/techain/af/dc$b;
if-eqz v0, :cond_0
.line 2000
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iget-wide v4, v0, Lcom/baidu/techain/af/dc$b;->b:J
sub-long/2addr v2, v4
const-wide/32 v4, 0xa4cb800
cmp-long v1, v2, v4
if-lez v1, :cond_37
const/4 v1, 0x1
.line 1000
:goto_21
if-nez v1, :cond_2c
iget-object v1, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->size()I
move-result v1
const/4 v2, 0x6
if-le v1, v2, :cond_39
:cond_2c
const-string v1, "remove Expired task"
invoke-static {v1}, Lcom/baidu/techain/aa/c;->c(Ljava/lang/String;)V
iget-object v1, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v1, v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->remove(Ljava/lang/Object;)Z
goto :goto_0
.line 2000
:cond_37
const/4 v1, 0x0
goto :goto_21
.line 0
:cond_39
const-wide/16 v0, 0x0
invoke-direct {p0, v0, v1}, Lcom/baidu/techain/af/dc;->b(J)V
return-void
.end method
.method public final a(J)V
.registers 4
iget-object v0, p0, Lcom/baidu/techain/af/dc;->a:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
move-result v0
if-nez v0, :cond_10
new-instance v0, Lcom/baidu/techain/af/de;
invoke-direct {v0, p0}, Lcom/baidu/techain/af/de;-><init>(Lcom/baidu/techain/af/dc;)V
invoke-static {v0, p1, p2}, Lcom/baidu/techain/af/gs;->a(Lcom/baidu/techain/af/m$b;J)V
:cond_10
return-void
.end method