k.smali
.class public final Landroidx/work/impl/k;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final a:Ljava/lang/String;
.field public static final b:[Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.registers 3
const-string v0, "WrkDbPathHelper"
.line 1
invoke-static {v0}, Landroidx/work/o;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/k;->a:Ljava/lang/String;
const-string v0, "-journal"
const-string v1, "-shm"
const-string v2, "-wal"
.line 2
filled-new-array {v0, v1, v2}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/k;->b:[Ljava/lang/String;
return-void
.end method
.method public static a(Landroid/content/Context;)V
.registers 12
const-string v0, "androidx.work.workdb"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
move-result-object v1
.line 2
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x17
if-lt v2, v3, :cond_dc
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_dc
.line 3
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v1
const/4 v4, 0x0
new-array v5, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v5}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 4
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
if-lt v2, v3, :cond_79
.line 5
invoke-virtual {p0, v0}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
move-result-object v5
if-ge v2, v3, :cond_2e
.line 6
invoke-virtual {p0, v0}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
move-result-object p0
goto :goto_38
.line 7
:cond_2e
new-instance v2, Ljava/io/File;
invoke-virtual {p0}, Landroid/content/Context;->getNoBackupFilesDir()Ljava/io/File;
move-result-object p0
invoke-direct {v2, p0, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
move-object p0, v2
.line 8
:goto_38
invoke-virtual {v1, v5, p0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 9
sget-object v0, Landroidx/work/impl/k;->b:[Ljava/lang/String;
array-length v2, v0
const/4 v3, 0x0
:goto_3f
if-ge v3, v2, :cond_79
aget-object v6, v0, v3
.line 10
new-instance v7, Ljava/io/File;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 11
new-instance v8, Ljava/io/File;
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v10
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v8, v6}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 12
invoke-virtual {v1, v7, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v3, v3, 0x1
goto :goto_3f
.line 13
:cond_79
invoke-virtual {v1}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_81
:goto_81
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_dc
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/io/File;
.line 14
invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/io/File;
.line 15
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_81
if-eqz v2, :cond_81
.line 16
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
const/4 v5, 0x1
if-eqz v3, :cond_b4
new-array v3, v5, [Ljava/lang/Object;
aput-object v2, v3, v4
const-string v6, "Over-writing contents of %s"
.line 17
invoke-static {v6, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
.line 18
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v3
new-array v6, v4, [Ljava/lang/Throwable;
invoke-virtual {v3, v6}, Landroidx/work/o;->f([Ljava/lang/Throwable;)V
.line 19
:cond_b4
invoke-virtual {v0, v2}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v3
const/4 v6, 0x2
if-eqz v3, :cond_c7
new-array v3, v6, [Ljava/lang/Object;
aput-object v0, v3, v4
aput-object v2, v3, v5
const-string v0, "Migrated %s to %s"
.line 20
invoke-static {v0, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
goto :goto_d2
:cond_c7
new-array v3, v6, [Ljava/lang/Object;
aput-object v0, v3, v4
aput-object v2, v3, v5
const-string v0, "Renaming %s to %s failed"
.line 21
invoke-static {v0, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
.line 22
:goto_d2
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v0
new-array v2, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v2}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
goto :goto_81
:cond_dc
return-void
.end method