l.smali
.class public Lcom/fulishe/shadow/e/l;
.super Ljava/lang/Object;
.source ""
# static fields
.field public static a:Ljava/lang/String;
# direct methods
.method public static a(Ljava/io/File;)J
.registers 7
new-instance v0, Landroid/os/StatFs;
invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Landroid/os/StatFs;->getAvailableBlocks()I
move-result v1
int-to-long v2, v1
const-wide/16 v4, 0x4
sub-long/2addr v2, v4
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockSize()I
move-result v0
int-to-long v0, v0
mul-long/2addr v0, v2
return-wide v0
.end method
.method public static a(Landroid/content/Context;)Ljava/io/File;
.registers 4
new-instance v0, Ljava/io/File;
const/4 v1, 0x1
invoke-static {p0, v1}, Lcom/fulishe/shadow/e/l;->a(Landroid/content/Context;Z)Ljava/io/File;
move-result-object v1
const-string v2, "video-cache"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
return-object v0
.end method
.method public static a(Landroid/content/Context;Z)Ljava/io/File;
.registers 5
const/4 v0, 0x0
:try_start_1
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
:try_end_4
.catch Ljava/lang/NullPointerException; {:try_start_1 .. :try_end_4} :catch_1c
move-result-object v1
:goto_5
if-eqz p1, :cond_13
const-string v2, "mounted"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_13
invoke-static {p0}, Lcom/fulishe/shadow/e/l;->b(Landroid/content/Context;)Ljava/io/File;
move-result-object v0
:cond_13
if-nez v0, :cond_19
invoke-virtual {p0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v0
:cond_19
if-eqz v0, :cond_20
:goto_1b
return-object v0
:catch_1c
move-exception v1
const-string v1, ""
goto :goto_5
:cond_20
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "/data/data/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()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
const-string v1, "/cache/"
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 v1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Can\'t define system cache directory! \'"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "%s\' will be used."
invoke-virtual {v0, v2}, 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
const-string v2, "StorageUtils"
invoke-static {v2, v0}, Lcom/fulishe/shadow/base/p;->a(Ljava/lang/String;Ljava/lang/String;)V
new-instance v0, Ljava/io/File;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto :goto_1b
.end method
.method public static a()Ljava/lang/String;
.registers 3
sget-object v0, Lcom/fulishe/shadow/e/l;->a:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_b
sget-object v0, Lcom/fulishe/shadow/e/l;->a:Ljava/lang/String;
:goto_a
return-object v0
:cond_b
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v0
invoke-interface {v0}, Lcom/fulishe/shadow/base/m;->a()Landroid/content/Context;
move-result-object v1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
if-lt v0, v2, :cond_21
const-string v0, "android.permission.WRITE_EXTERNAL_STORAGE"
invoke-static {v1, v0}, Lcom/fulishe/shadow/e/f;->a(Landroid/content/Context;Ljava/lang/String;)I
move-result v0
if-nez v0, :cond_50
:cond_21
sget-object v0, Landroid/os/Environment;->DIRECTORY_DOWNLOADS:Ljava/lang/String;
invoke-virtual {v1, v0}, Landroid/content/Context;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
:goto_27
if-eqz v0, :cond_55
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "xm_ad_downloaded"
invoke-virtual {v0, v2}, 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
sput-object v0, Lcom/fulishe/shadow/e/l;->a:Ljava/lang/String;
const-string v2, "app_storage_path"
invoke-static {v1, v2, v0}, Lcom/fulishe/shadow/e/x;->b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
sget-object v0, Lcom/fulishe/shadow/e/l;->a:Ljava/lang/String;
goto :goto_a
:cond_50
invoke-virtual {v1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v0
goto :goto_27
:cond_55
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "/storage/emulated/0/Android/data/"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "/files/Download"
invoke-virtual {v0, v2}, 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
const-string v2, "app_storage_path"
invoke-static {v1, v2, v0}, Lcom/fulishe/shadow/e/x;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_a
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 4
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, p1, v1}, Landroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
if-eqz v0, :cond_f
iget-object v1, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
if-nez v1, :cond_11
:cond_f
const/4 v0, 0x0
:goto_10
return-object v0
:cond_11
iget-object v0, v0, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
goto :goto_10
.end method
.method public static a(Ljava/lang/String;)V
.registers 3
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_e
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:cond_e
return-void
.end method
.method public static a(J)Z
.registers 6
const/4 v0, 0x0
invoke-static {}, Lcom/fulishe/shadow/e/l;->a()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_c
:cond_b
:goto_b
return v0
:cond_c
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_1a
invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
:cond_1a
invoke-static {v2}, Lcom/fulishe/shadow/e/l;->a(Ljava/io/File;)J
move-result-wide v2
cmp-long v1, v2, p0
if-ltz v1, :cond_b
const/4 v0, 0x1
goto :goto_b
.end method
.method public static b(Landroid/content/Context;)Ljava/io/File;
.registers 7
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/io/File;
new-instance v2, Ljava/io/File;
new-instance v3, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v4
const-string v5, "Android"
invoke-direct {v3, v4, v5}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const-string v4, "data"
invoke-direct {v2, v3, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const-string v2, "cache"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_2e
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
move-result v1
if-eqz v1, :cond_2f
:cond_2e
:goto_2e
return-object v0
:cond_2f
const-string v0, "StorageUtils"
const-string v1, "Unable to create external cache directory"
invoke-static {v0, v1}, Lcom/fulishe/shadow/base/p;->a(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
goto :goto_2e
.end method
.method public static b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 9
const/4 v1, 0x0
:try_start_1
new-instance v0, Ljava/io/BufferedReader;
new-instance v2, Ljava/io/FileReader;
const-string v3, "/proc/meminfo"
invoke-direct {v2, v3}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
const/16 v3, 0x1000
invoke-direct {v0, v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_f
.catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_f} :catch_6c
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_f} :catch_5e
.catchall {:try_start_1 .. :try_end_f} :catchall_52
:cond_f
:try_start_f
invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
:try_end_12
.catch Ljava/io/FileNotFoundException; {:try_start_f .. :try_end_12} :catch_7c
.catch Ljava/io/IOException; {:try_start_f .. :try_end_12} :catch_7e
.catchall {:try_start_f .. :try_end_12} :catchall_80
move-result-object v2
if-nez v2, :cond_1f
:goto_15
if-nez v2, :cond_26
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v2
invoke-interface {v2, v0}, Lcom/fulishe/shadow/base/m;->a(Ljava/io/Closeable;)V
:goto_1e
return-object v1
:cond_1f
:try_start_1f
invoke-virtual {v2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_f
goto :goto_15
:cond_26
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
:try_end_2b
.catch Ljava/io/FileNotFoundException; {:try_start_1f .. :try_end_2b} :catch_7c
.catch Ljava/io/IOException; {:try_start_1f .. :try_end_2b} :catch_7e
.catchall {:try_start_1f .. :try_end_2b} :catchall_80
move-result-object v2
const-string v3, "ToolUtils"
:try_start_2e
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "getTotalMemory = "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const/4 v5, 0x1
aget-object v5, v2, v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/fulishe/shadow/base/p;->a(Ljava/lang/String;Ljava/lang/String;)V
const/4 v3, 0x1
aget-object v1, v2, v3
:try_end_4a
.catch Ljava/io/FileNotFoundException; {:try_start_2e .. :try_end_4a} :catch_7c
.catch Ljava/io/IOException; {:try_start_2e .. :try_end_4a} :catch_7e
.catchall {:try_start_2e .. :try_end_4a} :catchall_80
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v2
invoke-interface {v2, v0}, Lcom/fulishe/shadow/base/m;->a(Ljava/io/Closeable;)V
goto :goto_1e
:catchall_52
move-exception v0
move-object v6, v1
move-object v1, v0
move-object v0, v6
:goto_56
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v2
invoke-interface {v2, v0}, Lcom/fulishe/shadow/base/m;->a(Ljava/io/Closeable;)V
throw v1
:catch_5e
move-exception v0
move-object v2, v0
move-object v0, v1
:goto_61
:try_start_61
invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
:try_end_64
.catchall {:try_start_61 .. :try_end_64} :catchall_7a
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v2
invoke-interface {v2, v0}, Lcom/fulishe/shadow/base/m;->a(Ljava/io/Closeable;)V
goto :goto_1e
:catch_6c
move-exception v0
move-object v2, v0
move-object v0, v1
:goto_6f
:try_start_6f
invoke-virtual {v2}, Ljava/io/FileNotFoundException;->printStackTrace()V
:try_end_72
.catchall {:try_start_6f .. :try_end_72} :catchall_7a
invoke-static {}, Lcom/fulishe/shadow/base/o;->G()Lcom/fulishe/shadow/base/m;
move-result-object v2
invoke-interface {v2, v0}, Lcom/fulishe/shadow/base/m;->a(Ljava/io/Closeable;)V
goto :goto_1e
:catchall_7a
move-exception v1
goto :goto_56
:catch_7c
move-exception v2
goto :goto_6f
:catch_7e
move-exception v2
goto :goto_61
:catchall_80
move-exception v1
goto :goto_56
.end method
.method public static b(Ljava/io/File;)V
.registers 5
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_2c
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_d
:cond_c
return-void
:cond_d
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "File "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " is not directory!"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2c
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
move-result v0
if-nez v0, :cond_c
new-instance v0, Ljava/io/IOException;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const-string v2, "Directory %s can\'t be created"
invoke-static {v2, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static c(Ljava/io/File;)Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
")",
"Ljava/util/List",
"<",
"Ljava/io/File;",
">;"
}
.end annotation
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
if-nez v1, :cond_c
:goto_b
return-object v0
:cond_c
invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
new-instance v1, Lcom/fulishe/shadow/e/m;
invoke-direct {v1}, Lcom/fulishe/shadow/e/m;-><init>()V
invoke-static {v0, v1}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
goto :goto_b
.end method
.method public static d(Ljava/io/File;)V
.registers 5
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_4a
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-virtual {p0, v0, v1}, Ljava/io/File;->setLastModified(J)Z
move-result v2
if-nez v2, :cond_4a
invoke-static {p0}, Lcom/fulishe/shadow/e/l;->e(Ljava/io/File;)V
invoke-virtual {p0}, Ljava/io/File;->lastModified()J
move-result-wide v2
cmp-long v0, v2, v0
if-gez v0, :cond_4a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Last modified date "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
new-instance v1, Ljava/util/Date;
invoke-virtual {p0}, Ljava/io/File;->lastModified()J
move-result-wide v2
invoke-direct {v1, v2, v3}, Ljava/util/Date;-><init>(J)V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " is not set for file "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()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
const-string v1, "Files"
invoke-static {v1, v0}, Lcom/fulishe/shadow/base/p;->a(Ljava/lang/String;Ljava/lang/String;)V
:cond_4a
return-void
.end method
.method public static e(Ljava/io/File;)V
.registers 7
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v4
const-wide/16 v0, 0x0
cmp-long v0, v4, v0
if-nez v0, :cond_e
invoke-static {p0}, Lcom/fulishe/shadow/e/l;->f(Ljava/io/File;)V
:cond_d
:goto_d
return-void
:cond_e
const/4 v2, 0x0
:try_start_f
new-instance v1, Ljava/io/RandomAccessFile;
const-string v0, "rwd"
invoke-direct {v1, p0, v0}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
:try_end_16
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_16} :catch_33
.catchall {:try_start_f .. :try_end_16} :catchall_2b
const-wide/16 v2, 0x1
sub-long v2, v4, v2
:try_start_1a
invoke-virtual {v1, v2, v3}, Ljava/io/RandomAccessFile;->seek(J)V
invoke-virtual {v1}, Ljava/io/RandomAccessFile;->readByte()B
move-result v0
invoke-virtual {v1, v2, v3}, Ljava/io/RandomAccessFile;->seek(J)V
invoke-virtual {v1, v0}, Ljava/io/RandomAccessFile;->write(I)V
:try_end_27
.catch Ljava/lang/Exception; {:try_start_1a .. :try_end_27} :catch_40
.catchall {:try_start_1a .. :try_end_27} :catchall_3e
invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
goto :goto_d
:catchall_2b
move-exception v0
move-object v1, v2
:goto_2d
if-eqz v1, :cond_32
invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
:cond_32
throw v0
:catch_33
move-exception v0
move-object v1, v2
:goto_35
:try_start_35
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_38
.catchall {:try_start_35 .. :try_end_38} :catchall_3e
if-eqz v1, :cond_d
invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
goto :goto_d
:catchall_3e
move-exception v0
goto :goto_2d
:catch_40
move-exception v0
goto :goto_35
.end method
.method public static f(Ljava/io/File;)V
.registers 4
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v0
if-eqz v0, :cond_d
invoke-virtual {p0}, Ljava/io/File;->createNewFile()Z
move-result v0
if-eqz v0, :cond_d
return-void
:cond_d
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Error recreate zero-size file "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method