Settings$FileStringSystemStorage.smali
.class Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/avast/android/billing/settings/Settings;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "FileStringSystemStorage"
.end annotation
# instance fields
.field private final a:Ljava/io/File;
.field private final b:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private final c:Ljava/lang/Object;
# direct methods
.method constructor <init>(Landroid/content/Context;Ljava/lang/String;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v0, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->c:Ljava/lang/Object;
const/4 v0, 0x0
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object p1
iput-object p1, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->a:Ljava/io/File;
return-void
.end method
# virtual methods
.method a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 10
iget-object v0, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_11
iget-object p2, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {p2, p1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
return-object p1
:cond_11
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->a:Ljava/io/File;
invoke-direct {v0, v1, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const/4 v1, 0x0
const/4 v2, 0x1
const/4 v3, 0x0
:try_start_1b
iget-object v4, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->c:Ljava/lang/Object;
monitor-enter v4
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_1e} :catch_4c
.catchall {:try_start_1b .. :try_end_1e} :catchall_4a
:try_start_1e
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v5
if-nez v5, :cond_2d
monitor-exit v4
:try_end_25
.catchall {:try_start_1e .. :try_end_25} :catchall_47
new-array p1, v2, [Ljava/io/Closeable;
aput-object v1, p1, v3
invoke-static {p1}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
return-object p2
:cond_2d
:try_start_2d
invoke-static {v0}, Lokio/Okio;->k(Ljava/io/File;)Lokio/Source;
move-result-object v0
invoke-static {v0}, Lokio/Okio;->d(Lokio/Source;)Lokio/BufferedSource;
move-result-object v1
invoke-interface {v1}, Lokio/BufferedSource;->d1()Ljava/lang/String;
move-result-object v0
monitor-exit v4
:try_end_3a
.catchall {:try_start_2d .. :try_end_3a} :catchall_47
:try_start_3a
iget-object v4, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v4, p1, v0}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_3f
.catch Ljava/lang/Exception; {:try_start_3a .. :try_end_3f} :catch_4c
.catchall {:try_start_3a .. :try_end_3f} :catchall_4a
new-array p1, v2, [Ljava/io/Closeable;
aput-object v1, p1, v3
invoke-static {p1}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
return-object v0
:catchall_47
move-exception v0
:try_start_48
monitor-exit v4
:try_end_49
.catchall {:try_start_48 .. :try_end_49} :catchall_47
:try_start_49
throw v0
:try_end_4a
.catch Ljava/lang/Exception; {:try_start_49 .. :try_end_4a} :catch_4c
.catchall {:try_start_49 .. :try_end_4a} :catchall_4a
:catchall_4a
move-exception p1
goto :goto_6d
:catch_4c
move-exception v0
:try_start_4d
sget-object v4, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Failed to read from "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array v5, v3, [Ljava/lang/Object;
invoke-virtual {v4, v0, p1, v5}, Lcom/avast/android/logging/Alf;->f(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_65
.catchall {:try_start_4d .. :try_end_65} :catchall_4a
new-array p1, v2, [Ljava/io/Closeable;
aput-object v1, p1, v3
invoke-static {p1}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
return-object p2
:goto_6d
new-array p2, v2, [Ljava/io/Closeable;
aput-object v1, p2, v3
invoke-static {p2}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
throw p1
.end method
.method b(Ljava/lang/String;Ljava/lang/String;)V
.registers 9
if-nez p2, :cond_6
invoke-virtual {p0, p1}, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->c(Ljava/lang/String;)V
return-void
:cond_6
iget-object v0, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
const/4 v1, 0x1
const/4 v2, 0x0
:try_start_e
iget-object v3, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->c:Ljava/lang/Object;
monitor-enter v3
:try_end_11
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_11} :catch_31
.catchall {:try_start_e .. :try_end_11} :catchall_2f
:try_start_11
new-instance v4, Ljava/io/File;
iget-object v5, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->a:Ljava/io/File;
invoke-direct {v4, v5, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-static {v4}, Lokio/Okio;->f(Ljava/io/File;)Lokio/Sink;
move-result-object v4
invoke-static {v4}, Lokio/Okio;->c(Lokio/Sink;)Lokio/BufferedSink;
move-result-object v0
invoke-interface {v0, p2}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
monitor-exit v3
:try_end_24
.catchall {:try_start_11 .. :try_end_24} :catchall_2c
new-array p1, v1, [Ljava/io/Closeable;
aput-object v0, p1, v2
invoke-static {p1}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
goto :goto_51
:catchall_2c
move-exception p2
:try_start_2d
monitor-exit v3
:try_end_2e
.catchall {:try_start_2d .. :try_end_2e} :catchall_2c
:try_start_2e
throw p2
:try_end_2f
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_2f} :catch_31
.catchall {:try_start_2e .. :try_end_2f} :catchall_2f
:catchall_2f
move-exception p1
goto :goto_52
:catch_31
move-exception p2
:try_start_32
sget-object v3, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Failed to write to "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array v4, v2, [Ljava/lang/Object;
invoke-virtual {v3, p2, p1, v4}, Lcom/avast/android/logging/Alf;->f(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_4a
.catchall {:try_start_32 .. :try_end_4a} :catchall_2f
new-array p1, v1, [Ljava/io/Closeable;
aput-object v0, p1, v2
invoke-static {p1}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
:goto_51
return-void
:goto_52
new-array p2, v1, [Ljava/io/Closeable;
aput-object v0, p2, v2
invoke-static {p2}, Lcom/avast/android/utils/io/IOUtils;->a([Ljava/io/Closeable;)V
throw p1
.end method
.method c(Ljava/lang/String;)V
.registers 7
iget-object v0, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->b:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
:try_start_6
iget-object v1, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->c:Ljava/lang/Object;
monitor-enter v1
:try_end_9
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_9} :catch_3e
:try_start_9
new-instance v2, Ljava/io/File;
iget-object v3, p0, Lcom/avast/android/billing/settings/Settings$FileStringSystemStorage;->a:Ljava/io/File;
invoke-direct {v2, v3, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_1e
invoke-static {v2}, Lcom/avast/android/utils/io/FileUtils;->f(Ljava/io/File;)Z
move-result v2
if-nez v2, :cond_1e
const/4 v2, 0x1
goto :goto_1f
:cond_1e
const/4 v2, 0x0
:goto_1f
monitor-exit v1
:try_end_20
.catchall {:try_start_9 .. :try_end_20} :catchall_3b
if-eqz v2, :cond_57
:try_start_22
sget-object v1, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to delete file "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
new-array v3, v0, [Ljava/lang/Object;
invoke-virtual {v1, v2, v3}, Lcom/avast/android/logging/Alf;->o(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_3a
.catch Ljava/lang/Exception; {:try_start_22 .. :try_end_3a} :catch_3e
goto :goto_57
:catchall_3b
move-exception v2
:try_start_3c
monitor-exit v1
:try_end_3d
.catchall {:try_start_3c .. :try_end_3d} :catchall_3b
:try_start_3d
throw v2
:try_end_3e
.catch Ljava/lang/Exception; {:try_start_3d .. :try_end_3e} :catch_3e
:catch_3e
move-exception v1
sget-object v2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Failed to delete file "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array v0, v0, [Ljava/lang/Object;
invoke-virtual {v2, v1, p1, v0}, Lcom/avast/android/logging/Alf;->f(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
:cond_57
:goto_57
return-void
.end method