e.smali
.class public Lcom/ss/android/downloadlib/a/c/e;
.super Ljava/lang/Object;
.source "DownloadOptimizationManager.java"
# static fields
.field private static volatile a:Lcom/ss/android/downloadlib/a/c/e;
# instance fields
.field private b:J
.field private c:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap",
"<",
"Ljava/lang/String;",
"Lcom/ss/android/downloadlib/a/c/f;",
">;"
}
.end annotation
.end field
.field private d:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private e:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 3
.prologue
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 27
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/ss/android/downloadlib/a/c/e;->b:J
.line 28
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->c:Ljava/util/concurrent/ConcurrentHashMap;
.line 33
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->d:Ljava/util/HashMap;
.line 35
new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
iput-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->e:Ljava/util/List;
return-void
.end method
.method public static a()Lcom/ss/android/downloadlib/a/c/e;
.registers 2
.prologue
.line 40
sget-object v0, Lcom/ss/android/downloadlib/a/c/e;->a:Lcom/ss/android/downloadlib/a/c/e;
if-nez v0, :cond_13
.line 41
const-class v1, Lcom/ss/android/downloadlib/a/c/e;
monitor-enter v1
.line 42
:try_start_7
sget-object v0, Lcom/ss/android/downloadlib/a/c/e;->a:Lcom/ss/android/downloadlib/a/c/e;
if-nez v0, :cond_12
.line 43
new-instance v0, Lcom/ss/android/downloadlib/a/c/e;
invoke-direct {v0}, Lcom/ss/android/downloadlib/a/c/e;-><init>()V
sput-object v0, Lcom/ss/android/downloadlib/a/c/e;->a:Lcom/ss/android/downloadlib/a/c/e;
.line 45
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 48
:cond_13
sget-object v0, Lcom/ss/android/downloadlib/a/c/e;->a:Lcom/ss/android/downloadlib/a/c/e;
return-object v0
.line 45
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method public static a(Lcom/ss/android/downloadad/a/b/a;)V
.registers 5
.annotation build Landroid/support/annotation/WorkerThread;
.end annotation
.prologue
.line 130
if-eqz p0, :cond_c
invoke-virtual {p0}, Lcom/ss/android/downloadad/a/b/a;->j()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-gtz v0, :cond_d
.line 140
:cond_c
:goto_c
return-void
.line 134
:cond_d
invoke-static {}, Lcom/ss/android/downloadlib/a/x;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/ss/android/socialbase/downloader/downloader/r;->a(Landroid/content/Context;)Lcom/ss/android/socialbase/downloader/downloader/r;
move-result-object v0
invoke-virtual {p0}, Lcom/ss/android/downloadad/a/b/a;->t()I
move-result v1
invoke-virtual {v0, v1}, Lcom/ss/android/socialbase/downloader/downloader/r;->h(I)Lcom/ss/android/socialbase/downloader/g/c;
move-result-object v0
.line 135
if-eqz v0, :cond_c
.line 139
invoke-static {v0}, Lcom/ss/android/downloadlib/a/c/e;->a(Lcom/ss/android/socialbase/downloader/g/c;)V
goto :goto_c
.end method
.method public static a(Lcom/ss/android/socialbase/downloader/g/c;)V
.registers 4
.annotation build Landroid/support/annotation/WorkerThread;
.end annotation
.prologue
.line 147
if-nez p0, :cond_3
.line 170
:cond_2
:goto_2
return-void
.line 151
:cond_3
invoke-virtual {p0}, Lcom/ss/android/socialbase/downloader/g/c;->g()I
move-result v0
invoke-static {v0}, Lcom/ss/android/socialbase/downloader/k/a;->a(I)Lcom/ss/android/socialbase/downloader/k/a;
move-result-object v0
.line 152
const-string v1, "delete_file_after_install"
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Lcom/ss/android/socialbase/downloader/k/a;->a(Ljava/lang/String;I)I
move-result v0
if-eqz v0, :cond_2
.line 157
:try_start_14
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lcom/ss/android/socialbase/downloader/g/c;->k()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
sget-object v1, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/ss/android/socialbase/downloader/g/c;->h()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 158
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_2
.line 162
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 163
if-eqz v1, :cond_2
invoke-virtual {v1}, Ljava/io/File;->isFile()Z
move-result v0
if-eqz v0, :cond_2
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_2
.line 164
invoke-virtual {v1}, Ljava/io/File;->delete()Z
:try_end_4f
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_4f} :catch_50
goto :goto_2
.line 167
:catch_50
move-exception v0
.line 168
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_2
.end method
# virtual methods
.method public a(Ljava/lang/String;)V
.registers 3
.prologue
.line 65
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_b
.line 66
iget-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->c:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 68
:cond_b
return-void
.end method
.method public a(Ljava/lang/String;Lcom/ss/android/downloadlib/a/c/f;)V
.registers 4
.prologue
.line 59
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_b
.line 60
iget-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->c:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 62
:cond_b
return-void
.end method
.method public b(Ljava/lang/String;)I
.registers 4
.prologue
const/4 v0, 0x0
.line 92
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_8
.line 103
:cond_7
:goto_7
return v0
.line 95
:cond_8
iget-object v1, p0, Lcom/ss/android/downloadlib/a/c/e;->d:Ljava/util/HashMap;
if-nez v1, :cond_13
.line 96
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
iput-object v1, p0, Lcom/ss/android/downloadlib/a/c/e;->d:Ljava/util/HashMap;
.line 100
:cond_13
iget-object v1, p0, Lcom/ss/android/downloadlib/a/c/e;->d:Ljava/util/HashMap;
invoke-virtual {v1, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_7
.line 101
iget-object v0, p0, Lcom/ss/android/downloadlib/a/c/e;->d:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
goto :goto_7
.end method
.method b()J
.registers 3
.prologue
.line 71
iget-wide v0, p0, Lcom/ss/android/downloadlib/a/c/e;->b:J
return-wide v0
.end method
.method c()V
.registers 3
.prologue
.line 75
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/ss/android/downloadlib/a/c/e;->b:J
.line 76
return-void
.end method