a.smali
.class public Lcom/bytedance/sdk/openadsdk/g/a/a;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/bytedance/sdk/openadsdk/g/a/a$a;
}
.end annotation
# static fields
.field private static a:Ljava/lang/String;
.field private static volatile e:Lcom/bytedance/sdk/openadsdk/g/a/a;
# instance fields
.field private b:Ljava/util/WeakHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/WeakHashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private final c:Lcom/bytedance/sdk/openadsdk/b/a;
.field private final d:Landroid/util/LruCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/LruCache<",
"Ljava/lang/String;",
"Lcom/bytedance/sdk/openadsdk/g/a/a$a;",
">;"
}
.end annotation
.end field
# direct methods
.method private constructor <init>()V
.registers 3
.line 42
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 26
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
iput-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->b:Ljava/util/WeakHashMap;
.line 47
new-instance v0, Lcom/bytedance/sdk/openadsdk/g/a/a$1;
const/high16 v1, 0x500000
invoke-direct {v0, p0, v1}, Lcom/bytedance/sdk/openadsdk/g/a/a$1;-><init>(Lcom/bytedance/sdk/openadsdk/g/a/a;I)V
iput-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->d:Landroid/util/LruCache;
.line 68
new-instance v0, Lcom/bytedance/sdk/openadsdk/b/d;
invoke-direct {v0}, Lcom/bytedance/sdk/openadsdk/b/d;-><init>()V
iput-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->c:Lcom/bytedance/sdk/openadsdk/b/a;
return-void
.end method
.method public static a()Lcom/bytedance/sdk/openadsdk/g/a/a;
.registers 2
.line 32
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a/a;->e:Lcom/bytedance/sdk/openadsdk/g/a/a;
if-nez v0, :cond_17
.line 33
const-class v0, Lcom/bytedance/sdk/openadsdk/g/a/a;
monitor-enter v0
.line 34
:try_start_7
sget-object v1, Lcom/bytedance/sdk/openadsdk/g/a/a;->e:Lcom/bytedance/sdk/openadsdk/g/a/a;
if-nez v1, :cond_12
.line 35
new-instance v1, Lcom/bytedance/sdk/openadsdk/g/a/a;
invoke-direct {v1}, Lcom/bytedance/sdk/openadsdk/g/a/a;-><init>()V
sput-object v1, Lcom/bytedance/sdk/openadsdk/g/a/a;->e:Lcom/bytedance/sdk/openadsdk/g/a/a;
.line 37
:cond_12
monitor-exit v0
goto :goto_17
:catchall_14
move-exception v1
monitor-exit v0
:try_end_16
.catchall {:try_start_7 .. :try_end_16} :catchall_14
throw v1
.line 39
:cond_17
:goto_17
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a/a;->e:Lcom/bytedance/sdk/openadsdk/g/a/a;
return-object v0
.end method
.method private a([B)Z
.registers 6
const/4 v0, 0x0
if-eqz p1, :cond_1c
.line 128
array-length v1, p1
const/4 v2, 0x3
if-lt v1, v2, :cond_1c
aget-byte v1, p1, v0
const/16 v2, 0x47
if-ne v1, v2, :cond_1c
const/4 v1, 0x1
aget-byte v2, p1, v1
const/16 v3, 0x49
if-ne v2, v3, :cond_1c
const/4 v2, 0x2
aget-byte p1, p1, v2
const/16 v2, 0x46
if-ne p1, v2, :cond_1c
return v1
:cond_1c
return v0
.end method
.method private static b()Ljava/lang/String;
.registers 3
.line 212
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a/a;->a:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_20
.line 213
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/core/o;->a()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lcom/bytedance/sdk/adnet/a;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
const-string v2, "diskGif"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 214
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
.line 216
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/bytedance/sdk/openadsdk/g/a/a;->a:Ljava/lang/String;
.line 219
:cond_20
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a/a;->a:Ljava/lang/String;
return-object v0
.end method
# virtual methods
.method public declared-synchronized a(Ljava/lang/String;)Ljava/io/File;
.registers 8
monitor-enter p0
.line 133
:try_start_1
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
:try_end_5
.catchall {:try_start_1 .. :try_end_5} :catchall_27
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 134
monitor-exit p0
return-object v1
.line 137
:cond_a
:try_start_a
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/g/a/a;->b()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 138
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
if-eqz p1, :cond_25
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v2
:try_end_1d
.catchall {:try_start_a .. :try_end_1d} :catchall_27
const-wide/16 v4, 0x0
cmp-long p1, v2, v4
if-lez p1, :cond_25
.line 139
monitor-exit p0
return-object v0
.line 142
:cond_25
monitor-exit p0
return-object v1
:catchall_27
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized a(Ljava/lang/String;IILandroid/widget/ImageView$ScaleType;)Ljava/lang/String;
.registers 5
monitor-enter p0
.line 192
:try_start_1
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p2
:try_end_5
.catchall {:try_start_1 .. :try_end_5} :catchall_35
if-eqz p2, :cond_a
const/4 p1, 0x0
.line 193
monitor-exit p0
return-object p1
:cond_a
:try_start_a
const-string p2, "https"
.line 198
invoke-virtual {p1, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p2
if-eqz p2, :cond_1a
const-string p2, "https"
const-string p3, "http"
.line 199
invoke-virtual {p1, p2, p3}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 202
:cond_1a
iget-object p2, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->b:Ljava/util/WeakHashMap;
invoke-virtual {p2, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
.line 203
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p3
:try_end_26
.catchall {:try_start_a .. :try_end_26} :catchall_35
if-nez p3, :cond_2a
.line 204
monitor-exit p0
return-object p2
.line 206
:cond_2a
:try_start_2a
invoke-static {p1}, Lcom/bytedance/sdk/openadsdk/utils/h;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 207
iget-object p3, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->b:Ljava/util/WeakHashMap;
invoke-virtual {p3, p1, p2}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_33
.catchall {:try_start_2a .. :try_end_33} :catchall_35
.line 208
monitor-exit p0
return-object p2
:catchall_35
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized a(Ljava/lang/String;[B)V
.registers 3
monitor-enter p0
.line 72
:try_start_1
invoke-virtual {p0, p1, p2}, Lcom/bytedance/sdk/openadsdk/g/a/a;->b(Ljava/lang/String;[B)V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_6
.line 73
monitor-exit p0
return-void
:catchall_6
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized b(Ljava/lang/String;)Lcom/bytedance/sdk/openadsdk/g/a/a$a;
.registers 7
monitor-enter p0
.line 146
:try_start_1
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
:try_end_5
.catchall {:try_start_1 .. :try_end_5} :catchall_7c
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 147
monitor-exit p0
return-object v1
.line 150
:cond_a
:try_start_a
iget-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->d:Landroid/util/LruCache;
invoke-virtual {v0, p1}, Landroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/bytedance/sdk/openadsdk/g/a/a$a;
:try_end_12
.catchall {:try_start_a .. :try_end_12} :catchall_7c
if-eqz v0, :cond_16
.line 152
monitor-exit p0
return-object v0
.line 155
:cond_16
:try_start_16
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/g/a/a;->b()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 157
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v2
:try_end_23
.catchall {:try_start_16 .. :try_end_23} :catchall_7c
if-eqz v2, :cond_7a
.line 160
:try_start_25
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, v0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_2a
.catchall {:try_start_25 .. :try_end_2a} :catchall_67
.line 161
:try_start_2a
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v3
invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Long;->intValue()I
move-result v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 162
invoke-virtual {v2}, Ljava/io/FileInputStream;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;)I
.line 164
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
:try_end_45
.catchall {:try_start_2a .. :try_end_45} :catchall_65
.line 167
:try_start_45
new-instance v3, Lcom/bytedance/sdk/openadsdk/g/a/a$a;
invoke-direct {v3, v0}, Lcom/bytedance/sdk/openadsdk/g/a/a$a;-><init>([B)V
:try_end_4a
.catchall {:try_start_45 .. :try_end_4a} :catchall_4f
.line 181
:try_start_4a
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_4d
.catch Ljava/io/IOException; {:try_start_4a .. :try_end_4d} :catch_4d
.catchall {:try_start_4a .. :try_end_4d} :catchall_7c
.line 167
:catch_4d
monitor-exit p0
return-object v3
:catchall_4f
nop
if-eqz v0, :cond_61
.line 172
:try_start_52
new-instance v3, Lcom/bytedance/sdk/openadsdk/g/a/a$a;
invoke-direct {v3, v0}, Lcom/bytedance/sdk/openadsdk/g/a/a$a;-><init>([B)V
.line 173
iget-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->d:Landroid/util/LruCache;
invoke-virtual {v0, p1, v3}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_5c
.catchall {:try_start_52 .. :try_end_5c} :catchall_65
.line 181
:try_start_5c
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_5f
.catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_5f
.catchall {:try_start_5c .. :try_end_5f} :catchall_7c
.line 174
:catch_5f
monitor-exit p0
return-object v3
.line 181
:cond_61
:goto_61
:try_start_61
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_64
.catch Ljava/io/IOException; {:try_start_61 .. :try_end_64} :catch_7a
.catchall {:try_start_61 .. :try_end_64} :catchall_7c
goto :goto_7a
:catchall_65
move-exception p1
goto :goto_69
:catchall_67
move-exception p1
move-object v2, v1
:goto_69
:try_start_69
const-string v0, "GifCache"
const-string v3, "gifCache get error "
.line 177
invoke-static {v0, v3, p1}, Lcom/bytedance/sdk/openadsdk/utils/o;->c(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:try_end_70
.catchall {:try_start_69 .. :try_end_70} :catchall_73
if-eqz v2, :cond_7a
goto :goto_61
:catchall_73
move-exception p1
if-eqz v2, :cond_79
.line 181
:try_start_76
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_79
.catch Ljava/io/IOException; {:try_start_76 .. :try_end_79} :catch_79
.catchall {:try_start_76 .. :try_end_79} :catchall_7c
.line 185
:catch_79
:cond_79
:try_start_79
throw p1
:try_end_7a
.catchall {:try_start_79 .. :try_end_7a} :catchall_7c
.line 188
:catch_7a
:cond_7a
:goto_7a
monitor-exit p0
return-object v1
:catchall_7c
move-exception p1
monitor-exit p0
goto :goto_80
:goto_7f
throw p1
:goto_80
goto :goto_7f
.end method
.method public declared-synchronized b(Ljava/lang/String;[B)V
.registers 10
monitor-enter p0
.line 76
:try_start_1
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_ab
if-nez p2, :cond_b
goto/16 :goto_ab
.line 80
:cond_b
invoke-direct {p0, p2}, Lcom/bytedance/sdk/openadsdk/g/a/a;->a([B)Z
move-result v0
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_ad
if-nez v0, :cond_24
.line 83
:try_start_11
iget-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->d:Landroid/util/LruCache;
new-instance v1, Lcom/bytedance/sdk/openadsdk/g/a/a$a;
invoke-direct {v1, p2}, Lcom/bytedance/sdk/openadsdk/g/a/a$a;-><init>([B)V
invoke-virtual {v0, p1, v1}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_1b
.catchall {:try_start_11 .. :try_end_1b} :catchall_1c
goto :goto_24
:catchall_1c
move-exception v0
:try_start_1d
const-string v1, "GifCache"
const-string v2, "gifCache mLruCache.put error "
.line 85
invoke-static {v1, v2, v0}, Lcom/bytedance/sdk/openadsdk/utils/o;->c(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 90
:cond_24
:goto_24
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/g/a/a;->b()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 91
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
const-wide/16 v1, 0x0
if-eqz p1, :cond_45
invoke-virtual {v0}, Ljava/io/File;->isFile()Z
move-result p1
if-eqz p1, :cond_45
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v3
:try_end_3f
.catchall {:try_start_1d .. :try_end_3f} :catchall_ad
cmp-long p1, v3, v1
if-lez p1, :cond_45
.line 92
monitor-exit p0
return-void
.line 95
:cond_45
:try_start_45
new-instance p1, Ljava/io/File;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, ".tmp"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {p1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 96
invoke-virtual {p1}, Ljava/io/File;->delete()Z
:try_end_5e
.catchall {:try_start_45 .. :try_end_5e} :catchall_ad
const/4 v3, 0x0
.line 100
:try_start_5f
invoke-virtual {p1}, Ljava/io/File;->createNewFile()Z
.line 102
new-instance v4, Ljava/io/FileOutputStream;
invoke-direct {v4, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_67
.catchall {:try_start_5f .. :try_end_67} :catchall_94
.line 103
:try_start_67
invoke-virtual {v4, p2}, Ljava/io/FileOutputStream;->write([B)V
.line 104
invoke-virtual {v4}, Ljava/io/FileOutputStream;->flush()V
.line 106
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p2
if-eqz p2, :cond_87
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide v5
cmp-long p2, v5, v1
if-lez p2, :cond_87
.line 107
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p2
if-eqz p2, :cond_84
.line 108
invoke-virtual {v0}, Ljava/io/File;->delete()Z
.line 110
:cond_84
invoke-virtual {p1, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
.line 113
:cond_87
iget-object p2, p0, Lcom/bytedance/sdk/openadsdk/g/a/a;->c:Lcom/bytedance/sdk/openadsdk/b/a;
invoke-interface {p2, v0}, Lcom/bytedance/sdk/openadsdk/b/a;->a(Ljava/io/File;)V
:try_end_8c
.catchall {:try_start_67 .. :try_end_8c} :catchall_93
.line 120
:try_start_8c
invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V
:try_end_8f
.catch Ljava/io/IOException; {:try_start_8c .. :try_end_8f} :catch_91
.catchall {:try_start_8c .. :try_end_8f} :catchall_ad
.line 123
monitor-exit p0
return-void
.line 124
:catch_91
monitor-exit p0
return-void
:catchall_93
move-object v3, v4
.line 115
:catchall_94
:try_start_94
invoke-virtual {p1}, Ljava/io/File;->delete()Z
.line 116
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:try_end_9a
.catchall {:try_start_94 .. :try_end_9a} :catchall_a4
if-eqz v3, :cond_a2
.line 120
:try_start_9c
invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
:try_end_9f
.catch Ljava/io/IOException; {:try_start_9c .. :try_end_9f} :catch_a0
.catchall {:try_start_9c .. :try_end_9f} :catchall_ad
goto :goto_a2
.line 124
:catch_a0
monitor-exit p0
return-void
.line 123
:cond_a2
:goto_a2
monitor-exit p0
return-void
:catchall_a4
move-exception p1
if-eqz v3, :cond_aa
.line 120
:try_start_a7
invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
:try_end_aa
.catch Ljava/io/IOException; {:try_start_a7 .. :try_end_aa} :catch_aa
.catchall {:try_start_a7 .. :try_end_aa} :catchall_ad
.line 124
:catch_aa
:cond_aa
:try_start_aa
throw p1
:try_end_ab
.catchall {:try_start_aa .. :try_end_ab} :catchall_ad
.line 77
:cond_ab
:goto_ab
monitor-exit p0
return-void
:catchall_ad
move-exception p1
monitor-exit p0
throw p1
.end method