apkfuckery/com.discord/smali/f/d/a/x/b.smali

200 lines
4.4 KiB
Smali

.class public Lf/d/a/x/b;
.super Ljava/lang/Object;
.source "NetworkCache.java"
# instance fields
.field public final a:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lf/d/a/x/b;->a:Landroid/content/Context;
return-void
.end method
.method public static a(Ljava/lang/String;Lf/d/a/x/a;Z)Ljava/lang/String;
.locals 3
const-string v0, "lottie_cache_"
invoke-static {v0}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\\W+"
const-string v2, ""
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz p2, :cond_1
if-eqz p1, :cond_0
const-string p0, ".temp"
invoke-static {p0}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
iget-object p1, p1, Lf/d/a/x/a;->extension:Ljava/lang/String;
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_0
:cond_0
const/4 p0, 0x0
throw p0
:cond_1
iget-object p0, p1, Lf/d/a/x/a;->extension:Ljava/lang/String;
:goto_0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final b()Ljava/io/File;
.locals 3
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lf/d/a/x/b;->a:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v1
const-string v2, "lottie_network_cache"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->isFile()Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:cond_0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_1
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
:cond_1
return-object v0
.end method
.method public c(Ljava/lang/String;Ljava/io/InputStream;Lf/d/a/x/a;)Ljava/io/File;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
invoke-static {p1, p3, v0}, Lf/d/a/x/b;->a(Ljava/lang/String;Lf/d/a/x/a;Z)Ljava/lang/String;
move-result-object p1
new-instance p3, Ljava/io/File;
invoke-virtual {p0}, Lf/d/a/x/b;->b()Ljava/io/File;
move-result-object v0
invoke-direct {p3, v0, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
:try_start_0
new-instance p1, Ljava/io/FileOutputStream;
invoke-direct {p1, p3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
const/16 v0, 0x400
:try_start_1
new-array v0, v0, [B
:goto_0
invoke-virtual {p2, v0}, Ljava/io/InputStream;->read([B)I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_0
const/4 v2, 0x0
invoke-virtual {p1, v0, v2, v1}, Ljava/io/OutputStream;->write([BII)V
goto :goto_0
:cond_0
invoke-virtual {p1}, Ljava/io/OutputStream;->flush()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-virtual {p1}, Ljava/io/OutputStream;->close()V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
invoke-virtual {p2}, Ljava/io/InputStream;->close()V
return-object p3
:catchall_0
move-exception p3
:try_start_3
invoke-virtual {p1}, Ljava/io/OutputStream;->close()V
throw p3
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
:catchall_1
move-exception p1
invoke-virtual {p2}, Ljava/io/InputStream;->close()V
throw p1
.end method