e.smali
.class public Lcom/qq/e/comm/plugin/aa/a/e;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/qq/e/comm/plugin/aa/a/c/c$a;
# static fields
.field private static volatile a:Lcom/qq/e/comm/plugin/aa/a/e;
# instance fields
.field private b:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Lcom/qq/e/comm/plugin/aa/a/c/c;",
">;"
}
.end annotation
.end field
.field private c:Lcom/qq/e/comm/plugin/aa/a/b;
.field private d:Ljava/util/concurrent/ExecutorService;
.field private e:Lcom/qq/e/comm/plugin/aa/a/b/b;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
sput-object v0, Lcom/qq/e/comm/plugin/aa/a/e;->a:Lcom/qq/e/comm/plugin/aa/a/e;
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, Lcom/qq/e/comm/plugin/aa/a/b$a;
invoke-direct {v0}, Lcom/qq/e/comm/plugin/aa/a/b$a;-><init>()V
const/16 v1, 0xf
invoke-virtual {v0, v1}, Lcom/qq/e/comm/plugin/aa/a/b$a;->a(I)Lcom/qq/e/comm/plugin/aa/a/b$a;
move-result-object v0
const/4 v1, 0x3
invoke-virtual {v0, v1}, Lcom/qq/e/comm/plugin/aa/a/b$a;->b(I)Lcom/qq/e/comm/plugin/aa/a/b$a;
move-result-object v0
invoke-virtual {v0}, Lcom/qq/e/comm/plugin/aa/a/b$a;->a()Lcom/qq/e/comm/plugin/aa/a/b;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/qq/e/comm/plugin/aa/a/e;->a(Landroid/content/Context;Lcom/qq/e/comm/plugin/aa/a/b;)V
new-instance v0, Ljava/util/LinkedHashMap;
invoke-direct {v0}, Ljava/util/LinkedHashMap;-><init>()V
iput-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
return-void
.end method
.method public static a(Landroid/content/Context;)Lcom/qq/e/comm/plugin/aa/a/e;
.registers 3
sget-object v0, Lcom/qq/e/comm/plugin/aa/a/e;->a:Lcom/qq/e/comm/plugin/aa/a/e;
if-nez v0, :cond_15
const-class v0, Lcom/qq/e/comm/plugin/aa/a/e;
monitor-enter v0
:try_start_7
sget-object v0, Lcom/qq/e/comm/plugin/aa/a/e;->a:Lcom/qq/e/comm/plugin/aa/a/e;
if-nez v0, :cond_12
new-instance v0, Lcom/qq/e/comm/plugin/aa/a/e;
invoke-direct {v0, p0}, Lcom/qq/e/comm/plugin/aa/a/e;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/qq/e/comm/plugin/aa/a/e;->a:Lcom/qq/e/comm/plugin/aa/a/e;
:cond_12
const-class v0, Lcom/qq/e/comm/plugin/aa/a/e;
monitor-exit v0
:try_end_15
.catchall {:try_start_7 .. :try_end_15} :catchall_18
:cond_15
sget-object v0, Lcom/qq/e/comm/plugin/aa/a/e;->a:Lcom/qq/e/comm/plugin/aa/a/e;
return-object v0
:catchall_18
move-exception v0
:try_start_19
const-class v1, Lcom/qq/e/comm/plugin/aa/a/e;
monitor-exit v1
:try_end_1c
.catchall {:try_start_19 .. :try_end_1c} :catchall_18
throw v0
.end method
.method private a(Landroid/content/Context;Lcom/qq/e/comm/plugin/aa/a/b;)V
.registers 5
invoke-virtual {p2}, Lcom/qq/e/comm/plugin/aa/a/b;->a()I
move-result v0
invoke-virtual {p2}, Lcom/qq/e/comm/plugin/aa/a/b;->b()I
move-result v1
if-le v0, v1, :cond_12
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "download thread number must < max download number"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_12
invoke-static {p1}, Lcom/qq/e/comm/plugin/aa/a/b/b;->a(Landroid/content/Context;)Lcom/qq/e/comm/plugin/aa/a/b/b;
move-result-object v0
iput-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->e:Lcom/qq/e/comm/plugin/aa/a/b/b;
iput-object p2, p0, Lcom/qq/e/comm/plugin/aa/a/e;->c:Lcom/qq/e/comm/plugin/aa/a/b;
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->c:Lcom/qq/e/comm/plugin/aa/a/b;
invoke-virtual {v0}, Lcom/qq/e/comm/plugin/aa/a/b;->b()I
move-result v0
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v0
iput-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->d:Ljava/util/concurrent/ExecutorService;
return-void
.end method
.method private a(Ljava/lang/String;)Z
.registers 5
const/4 v1, 0x0
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_28
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/qq/e/comm/plugin/aa/a/c/c;
if-eqz v0, :cond_28
invoke-interface {v0}, Lcom/qq/e/comm/plugin/aa/a/c/c;->a()Z
move-result v0
if-eqz v0, :cond_21
const-string v0, "Task has been started!"
const/4 v2, 0x0
invoke-static {v0, v2}, Lcom/qq/e/comm/util/GDTLogger;->w(Ljava/lang/String;Ljava/lang/Throwable;)V
move v0, v1
:goto_20
return v0
:cond_21
const-string v0, "Downloader instance with same tag has not been destroyed!"
invoke-static {v0}, Lcom/qq/e/comm/util/GDTLogger;->e(Ljava/lang/String;)V
move v0, v1
goto :goto_20
:cond_28
const/4 v0, 0x1
goto :goto_20
.end method
.method private static b(Ljava/lang/String;)Ljava/lang/String;
.registers 3
if-nez p0, :cond_a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Tag can\'t be null!"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_a
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v0
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
# virtual methods
.method public a(Lcom/qq/e/comm/plugin/aa/a/f;Ljava/lang/String;Lcom/qq/e/comm/plugin/aa/a/a;)V
.registers 12
invoke-static {p2}, Lcom/qq/e/comm/plugin/aa/a/e;->b(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-direct {p0, v4}, Lcom/qq/e/comm/plugin/aa/a/e;->a(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_20
new-instance v0, Lcom/qq/e/comm/plugin/aa/a/a/c;
iget-object v2, p0, Lcom/qq/e/comm/plugin/aa/a/e;->d:Ljava/util/concurrent/ExecutorService;
iget-object v3, p0, Lcom/qq/e/comm/plugin/aa/a/e;->e:Lcom/qq/e/comm/plugin/aa/a/b/b;
iget-object v5, p0, Lcom/qq/e/comm/plugin/aa/a/e;->c:Lcom/qq/e/comm/plugin/aa/a/b;
move-object v1, p1
move-object v6, p0
move-object v7, p3
invoke-direct/range {v0 .. v7}, Lcom/qq/e/comm/plugin/aa/a/a/c;-><init>(Lcom/qq/e/comm/plugin/aa/a/f;Ljava/util/concurrent/Executor;Lcom/qq/e/comm/plugin/aa/a/b/b;Ljava/lang/String;Lcom/qq/e/comm/plugin/aa/a/b;Lcom/qq/e/comm/plugin/aa/a/c/c$a;Lcom/qq/e/comm/plugin/aa/a/a;)V
iget-object v1, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v1, v4, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-interface {v0}, Lcom/qq/e/comm/plugin/aa/a/c/c;->b()V
:cond_20
return-void
.end method
.method public a(Ljava/lang/String;Lcom/qq/e/comm/plugin/aa/a/c/c;)V
.registers 4
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_d
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->b:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1a
iget-object v0, p0, Lcom/qq/e/comm/plugin/aa/a/e;->e:Lcom/qq/e/comm/plugin/aa/a/b/b;
invoke-virtual {v0}, Lcom/qq/e/comm/plugin/aa/a/b/b;->a()V
:cond_1a
return-void
.end method