a.smali
.class Lcom/bytedance/sdk/openadsdk/g/a;
.super Lcom/bytedance/sdk/adnet/b/a;
.source "DiskImageCache.java"
# static fields
.field private static b:Ljava/lang/String;
# instance fields
.field private c: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 d:Lcom/bytedance/sdk/openadsdk/b/a;
# direct methods
.method private constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Lcom/bytedance/sdk/adnet/b/a;-><init>()V
.line 2
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
iput-object v0, p0, Lcom/bytedance/sdk/openadsdk/g/a;->c:Ljava/util/WeakHashMap;
.line 3
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;->d:Lcom/bytedance/sdk/openadsdk/b/a;
return-void
.end method
.method public static a()Lcom/bytedance/sdk/openadsdk/g/a;
.registers 1
.line 1
new-instance v0, Lcom/bytedance/sdk/openadsdk/g/a;
invoke-direct {v0}, Lcom/bytedance/sdk/openadsdk/g/a;-><init>()V
return-object v0
.end method
.method private static b()Ljava/lang/String;
.registers 3
.line 1
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a;->b:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_20
.line 2
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, "diskImage"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
.line 4
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/bytedance/sdk/openadsdk/g/a;->b:Ljava/lang/String;
.line 5
:cond_20
sget-object v0, Lcom/bytedance/sdk/openadsdk/g/a;->b:Ljava/lang/String;
return-object v0
.end method
# virtual methods
.method public a(Ljava/lang/String;)Landroid/graphics/Bitmap;
.registers 6
.line 2
invoke-super {p0, p1}, Lcom/bytedance/sdk/adnet/b/a;->a(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v0
if-nez v0, :cond_48
.line 3
new-instance v1, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/g/a;->b()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 4
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_48
const/4 v2, 0x0
.line 5
:try_start_16
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_1b
.catch Ljava/lang/Throwable; {:try_start_16 .. :try_end_1b} :catch_34
.catchall {:try_start_16 .. :try_end_1b} :catchall_32
.line 6
:try_start_1b
invoke-virtual {v3}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v1
.line 7
invoke-static {v1, v2, v2}, Landroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v0
if-eqz v0, :cond_28
.line 8
invoke-super {p0, p1, v0}, Lcom/bytedance/sdk/adnet/b/a;->a(Ljava/lang/String;Landroid/graphics/Bitmap;)V
:try_end_28
.catch Ljava/lang/Throwable; {:try_start_1b .. :try_end_28} :catch_2f
.catchall {:try_start_1b .. :try_end_28} :catchall_2c
.line 9
:cond_28
:try_start_28
invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
:try_end_2b
.catch Ljava/io/IOException; {:try_start_28 .. :try_end_2b} :catch_48
goto :goto_48
:catchall_2c
move-exception p1
move-object v2, v3
goto :goto_42
:catch_2f
move-exception p1
move-object v2, v3
goto :goto_35
:catchall_32
move-exception p1
goto :goto_42
:catch_34
move-exception p1
:goto_35
:try_start_35
const-string v1, "DiskImageCache"
const-string v3, "diskImageCache getBitmap error "
.line 10
invoke-static {v1, v3, p1}, Lcom/bytedance/sdk/openadsdk/utils/p;->c(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:try_end_3c
.catchall {:try_start_35 .. :try_end_3c} :catchall_32
if-eqz v2, :cond_48
.line 11
:try_start_3e
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_41
.catch Ljava/io/IOException; {:try_start_3e .. :try_end_41} :catch_48
goto :goto_48
:goto_42
if-eqz v2, :cond_47
:try_start_44
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_47
.catch Ljava/io/IOException; {:try_start_44 .. :try_end_47} :catch_47
.line 12
:catch_47
:cond_47
throw p1
:catch_48
:cond_48
:goto_48
return-object v0
.end method
.method public a(Ljava/lang/String;IILandroid/widget/ImageView$ScaleType;)Ljava/lang/String;
.registers 5
.line 31
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p2
if-eqz p2, :cond_8
const/4 p1, 0x0
return-object p1
.line 32
:cond_8
iget-object p2, p0, Lcom/bytedance/sdk/openadsdk/g/a;->c: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 33
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p3
if-nez p3, :cond_17
return-object p2
.line 34
:cond_17
invoke-static {p1}, Lcom/bytedance/sdk/openadsdk/utils/h;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 35
iget-object p3, p0, Lcom/bytedance/sdk/openadsdk/g/a;->c:Ljava/util/WeakHashMap;
invoke-virtual {p3, p1, p2}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object p2
.end method
.method public a(Ljava/lang/String;Landroid/graphics/Bitmap;)V
.registers 10
if-nez p2, :cond_3
return-void
.line 13
:cond_3
invoke-super {p0, p1, p2}, Lcom/bytedance/sdk/adnet/b/a;->a(Ljava/lang/String;Landroid/graphics/Bitmap;)V
.line 14
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/bytedance/sdk/openadsdk/g/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 15
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
const-wide/16 v1, 0x0
if-eqz p1, :cond_26
invoke-virtual {v0}, Ljava/io/File;->isFile()Z
move-result p1
if-eqz p1, :cond_26
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v3
cmp-long p1, v3, v1
if-lez p1, :cond_26
return-void
.line 16
:cond_26
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 17
invoke-virtual {p1}, Ljava/io/File;->delete()Z
const/4 v3, 0x0
.line 18
:try_start_40
invoke-virtual {p1}, Ljava/io/File;->createNewFile()Z
.line 19
new-instance v4, Ljava/io/FileOutputStream;
invoke-direct {v4, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_48
.catch Ljava/lang/Throwable; {:try_start_40 .. :try_end_48} :catch_74
.catchall {:try_start_40 .. :try_end_48} :catchall_72
.line 20
:try_start_48
sget-object v3, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v5, 0x64
invoke-virtual {p2, v3, v5, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 21
invoke-virtual {v4}, Ljava/io/FileOutputStream;->flush()V
.line 22
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p2
if-eqz p2, :cond_63
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide v5
cmp-long p2, v5, v1
if-lez p2, :cond_63
.line 23
invoke-virtual {p1, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
.line 24
:cond_63
iget-object p2, p0, Lcom/bytedance/sdk/openadsdk/g/a;->d:Lcom/bytedance/sdk/openadsdk/b/a;
invoke-interface {p2, v0}, Lcom/bytedance/sdk/openadsdk/b/a;->a(Ljava/io/File;)V
:try_end_68
.catch Ljava/lang/Throwable; {:try_start_48 .. :try_end_68} :catch_6f
.catchall {:try_start_48 .. :try_end_68} :catchall_6c
.line 25
:try_start_68
invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V
:try_end_6b
.catch Ljava/io/IOException; {:try_start_68 .. :try_end_6b} :catch_87
goto :goto_87
:catchall_6c
move-exception p1
move-object v3, v4
goto :goto_88
:catch_6f
move-exception p2
move-object v3, v4
goto :goto_75
:catchall_72
move-exception p1
goto :goto_88
:catch_74
move-exception p2
:goto_75
:try_start_75
const-string v1, "DiskImageCache"
const-string v2, "diskImageCache putBitmap error "
.line 26
invoke-static {v1, v2, p2}, Lcom/bytedance/sdk/openadsdk/utils/p;->c(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 27
invoke-virtual {p1}, Ljava/io/File;->delete()Z
.line 28
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:try_end_82
.catchall {:try_start_75 .. :try_end_82} :catchall_72
if-eqz v3, :cond_87
.line 29
:try_start_84
invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
:try_end_87
.catch Ljava/io/IOException; {:try_start_84 .. :try_end_87} :catch_87
:catch_87
:cond_87
:goto_87
return-void
:goto_88
if-eqz v3, :cond_8d
:try_start_8a
invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
:try_end_8d
.catch Ljava/io/IOException; {:try_start_8a .. :try_end_8d} :catch_8d
.line 30
:catch_8d
:cond_8d
throw p1
.end method