CacheManager.smali
.class public Lcom/appsflyer/cache/CacheManager;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final AF_CACHE_DIR:Ljava/lang/String; = "AFRequestCache"
.field public static final CACHE_MAX_SIZE:I = 0x28
.field private static ॱ:Lcom/appsflyer/cache/CacheManager;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 29
new-instance v0, Lcom/appsflyer/cache/CacheManager;
invoke-direct {v0}, Lcom/appsflyer/cache/CacheManager;-><init>()V
sput-object v0, Lcom/appsflyer/cache/CacheManager;->ॱ:Lcom/appsflyer/cache/CacheManager;
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getInstance()Lcom/appsflyer/cache/CacheManager;
.registers 1
.line 35
sget-object v0, Lcom/appsflyer/cache/CacheManager;->ॱ:Lcom/appsflyer/cache/CacheManager;
return-object v0
.end method
.method private static ॱ(Ljava/io/File;)Lcom/appsflyer/cache/RequestCacheData;
.registers 5
const/4 v0, 0x0
.line 125
:try_start_1
new-instance v1, Ljava/io/FileReader;
invoke-direct {v1, p0}, Ljava/io/FileReader;-><init>(Ljava/io/File;)V
:try_end_6
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_6} :catch_2a
.catchall {:try_start_1 .. :try_end_6} :catchall_23
.line 126
:try_start_6
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v2
long-to-int v3, v2
new-array v2, v3, [C
.line 127
invoke-virtual {v1, v2}, Ljava/io/Reader;->read([C)I
.line 128
new-instance v3, Lcom/appsflyer/cache/RequestCacheData;
invoke-direct {v3, v2}, Lcom/appsflyer/cache/RequestCacheData;-><init>([C)V
.line 129
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v3, p0}, Lcom/appsflyer/cache/RequestCacheData;->setCacheKey(Ljava/lang/String;)V
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_1c} :catch_2b
.catchall {:try_start_6 .. :try_end_1c} :catchall_20
.line 136
:try_start_1c
invoke-virtual {v1}, Ljava/io/Reader;->close()V
:try_end_1f
.catch Ljava/io/IOException; {:try_start_1c .. :try_end_1f} :catch_1f
:catch_1f
return-object v3
:catchall_20
move-exception p0
move-object v0, v1
goto :goto_24
:catchall_23
move-exception p0
:goto_24
if-eqz v0, :cond_29
:try_start_26
invoke-virtual {v0}, Ljava/io/Reader;->close()V
:try_end_29
.catch Ljava/io/IOException; {:try_start_26 .. :try_end_29} :catch_29
.line 139
:catch_29
:cond_29
throw p0
:catch_2a
move-object v1, v0
:catch_2b
if-eqz v1, :cond_30
.line 136
:try_start_2d
invoke-virtual {v1}, Ljava/io/Reader;->close()V
:try_end_30
.catch Ljava/io/IOException; {:try_start_2d .. :try_end_30} :catch_30
:catch_30
:cond_30
return-object v0
.end method
# virtual methods
.method public cacheRequest(Lcom/appsflyer/cache/RequestCacheData;Landroid/content/Context;)V
.registers 10
const-string v0, "AFRequestCache"
const-string v1, "AppsFlyer_4.10.0"
const/4 v2, 0x0
.line 3039
:try_start_5
new-instance v3, Ljava/io/File;
invoke-virtual {p2}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v4
invoke-direct {v3, v4, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 61
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v4
if-nez v4, :cond_18
.line 63
invoke-virtual {v3}, Ljava/io/File;->mkdir()Z
return-void
.line 66
:cond_18
invoke-virtual {v3}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v3
if-eqz v3, :cond_29
.line 67
array-length v3, v3
const/16 v4, 0x28
if-le v3, v4, :cond_29
const-string p1, "reached cache limit, not caching request"
.line 68
invoke-static {v1, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_29
const-string v3, "caching request..."
.line 71
invoke-static {v1, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 72
new-instance v3, Ljava/io/File;
.line 4039
new-instance v4, Ljava/io/File;
invoke-virtual {p2}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object p2
invoke-direct {v4, p2, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 72
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
invoke-static {v5, v6}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object p2
invoke-direct {v3, v4, p2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 73
invoke-virtual {v3}, Ljava/io/File;->createNewFile()Z
.line 74
new-instance p2, Ljava/io/OutputStreamWriter;
new-instance v0, Ljava/io/FileOutputStream;
invoke-virtual {v3}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x1
invoke-direct {v0, v3, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;Z)V
invoke-direct {p2, v0}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
:try_end_56
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_56} :catch_93
.catchall {:try_start_5 .. :try_end_56} :catchall_91
:try_start_56
const-string v0, "version="
.line 75
invoke-virtual {p2, v0}, Ljava/io/Writer;->write(Ljava/lang/String;)V
.line 76
invoke-virtual {p1}, Lcom/appsflyer/cache/RequestCacheData;->getVersion()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/io/Writer;->write(Ljava/lang/String;)V
const/16 v0, 0xa
.line 77
invoke-virtual {p2, v0}, Ljava/io/Writer;->write(I)V
const-string v2, "url="
.line 79
invoke-virtual {p2, v2}, Ljava/io/Writer;->write(Ljava/lang/String;)V
.line 80
invoke-virtual {p1}, Lcom/appsflyer/cache/RequestCacheData;->getRequestURL()Ljava/lang/String;
move-result-object v2
invoke-virtual {p2, v2}, Ljava/io/Writer;->write(Ljava/lang/String;)V
.line 81
invoke-virtual {p2, v0}, Ljava/io/Writer;->write(I)V
const-string v2, "data="
.line 83
invoke-virtual {p2, v2}, Ljava/io/Writer;->write(Ljava/lang/String;)V
.line 84
invoke-virtual {p1}, Lcom/appsflyer/cache/RequestCacheData;->getPostData()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Ljava/io/Writer;->write(Ljava/lang/String;)V
.line 85
invoke-virtual {p2, v0}, Ljava/io/Writer;->write(I)V
.line 87
invoke-virtual {p2}, Ljava/io/Writer;->flush()V
:try_end_88
.catch Ljava/lang/Exception; {:try_start_56 .. :try_end_88} :catch_8f
.catchall {:try_start_56 .. :try_end_88} :catchall_8c
.line 94
:try_start_88
invoke-virtual {p2}, Ljava/io/Writer;->close()V
:try_end_8b
.catch Ljava/io/IOException; {:try_start_88 .. :try_end_8b} :catch_8b
:catch_8b
return-void
:catchall_8c
move-exception p1
move-object v2, p2
goto :goto_9f
:catch_8f
move-object v2, p2
goto :goto_93
:catchall_91
move-exception p1
goto :goto_9f
:catch_93
:goto_93
:try_start_93
const-string p1, "Could not cache request"
.line 90
invoke-static {v1, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:try_end_98
.catchall {:try_start_93 .. :try_end_98} :catchall_91
if-eqz v2, :cond_9e
.line 94
:try_start_9a
invoke-virtual {v2}, Ljava/io/Writer;->close()V
:try_end_9d
.catch Ljava/io/IOException; {:try_start_9a .. :try_end_9d} :catch_9e
nop
:catch_9e
:cond_9e
return-void
:goto_9f
if-eqz v2, :cond_a4
:try_start_a1
invoke-virtual {v2}, Ljava/io/Writer;->close()V
:try_end_a4
.catch Ljava/io/IOException; {:try_start_a1 .. :try_end_a4} :catch_a4
.line 97
:catch_a4
:cond_a4
throw p1
.end method
.method public clearCache(Landroid/content/Context;)V
.registers 9
const-string v0, "AppsFlyer_4.10.0"
.line 7039
:try_start_2
new-instance v1, Ljava/io/File;
invoke-virtual {p1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v2
const-string v3, "AFRequestCache"
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 159
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_17
.line 160
invoke-virtual {v1}, Ljava/io/File;->mkdir()Z
return-void
.line 162
:cond_17
invoke-virtual {v1}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
.line 163
array-length v2, v1
const/4 v3, 0x0
:goto_1d
if-ge v3, v2, :cond_44
aget-object v4, v1, v3
.line 164
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "Found cached request"
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v0, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 165
invoke-static {v4}, Lcom/appsflyer/cache/CacheManager;->ॱ(Ljava/io/File;)Lcom/appsflyer/cache/RequestCacheData;
move-result-object v4
invoke-virtual {v4}, Lcom/appsflyer/cache/RequestCacheData;->getCacheKey()Ljava/lang/String;
move-result-object v4
invoke-virtual {p0, v4, p1}, Lcom/appsflyer/cache/CacheManager;->deleteRequest(Ljava/lang/String;Landroid/content/Context;)V
:try_end_41
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_41} :catch_45
add-int/lit8 v3, v3, 0x1
goto :goto_1d
:cond_44
return-void
:catch_45
const-string p1, "Could not cache request"
.line 169
invoke-static {v0, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public deleteRequest(Ljava/lang/String;Landroid/content/Context;)V
.registers 7
.line 6039
new-instance v0, Ljava/io/File;
invoke-virtual {p2}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object p2
const-string v1, "AFRequestCache"
invoke-direct {v0, p2, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 145
new-instance p2, Ljava/io/File;
invoke-direct {p2, v0, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 146
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Deleting "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " from cache"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "AppsFlyer_4.10.0"
invoke-static {v2, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 147
invoke-virtual {p2}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_47
.line 149
:try_start_2e
invoke-virtual {p2}, Ljava/io/File;->delete()Z
:try_end_31
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_31} :catch_32
return-void
:catch_32
move-exception p2
.line 151
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "Could not delete "
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1, p2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_47
return-void
.end method
.method public getCachedRequests(Landroid/content/Context;)Ljava/util/List;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
")",
"Ljava/util/List<",
"Lcom/appsflyer/cache/RequestCacheData;",
">;"
}
.end annotation
const-string v0, "AppsFlyer_4.10.0"
.line 102
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 5039
:try_start_7
new-instance v2, Ljava/io/File;
invoke-virtual {p1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object p1
const-string v3, "AFRequestCache"
invoke-direct {v2, p1, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 106
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result p1
if-nez p1, :cond_1c
.line 107
invoke-virtual {v2}, Ljava/io/File;->mkdir()Z
goto :goto_4a
.line 109
:cond_1c
invoke-virtual {v2}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object p1
.line 110
array-length v2, p1
const/4 v3, 0x0
:goto_22
if-ge v3, v2, :cond_4a
aget-object v4, p1, v3
.line 111
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "Found cached request"
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v0, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 112
invoke-static {v4}, Lcom/appsflyer/cache/CacheManager;->ॱ(Ljava/io/File;)Lcom/appsflyer/cache/RequestCacheData;
move-result-object v4
invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_42
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_42} :catch_45
add-int/lit8 v3, v3, 0x1
goto :goto_22
:catch_45
const-string p1, "Could not cache request"
.line 116
invoke-static {v0, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_4a
:goto_4a
return-object v1
.end method
.method public init(Landroid/content/Context;)V
.registers 5
const-string v0, "AFRequestCache"
.line 1039
:try_start_2
new-instance v1, Ljava/io/File;
invoke-virtual {p1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v2
invoke-direct {v1, v2, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 44
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_1d
.line 2039
new-instance v1, Ljava/io/File;
invoke-virtual {p1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object p1
invoke-direct {v1, p1, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 45
invoke-virtual {v1}, Ljava/io/File;->mkdir()Z
:try_end_1d
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_1d} :catch_1e
:cond_1d
return-void
:catch_1e
const-string p1, "AppsFlyer_4.10.0"
const-string v0, "Could not create cache directory"
.line 48
invoke-static {p1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method