StorageUtils.smali
.class final Lcom/danikula/videocache/StorageUtils;
.super Ljava/lang/Object;
.source "StorageUtils.java"
# static fields
.field private static final INDIVIDUAL_DIR_NAME:Ljava/lang/String; = "video-cache"
.field private static final LOG:Lorg/slf4j/Logger;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 23
const-string v0, "StorageUtils"
invoke-static {v0}, Lorg/slf4j/LoggerFactory;->getLogger(Ljava/lang/String;)Lorg/slf4j/Logger;
move-result-object v0
sput-object v0, Lcom/danikula/videocache/StorageUtils;->LOG:Lorg/slf4j/Logger;
return-void
.end method
.method constructor <init>()V
.registers 1
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getCacheDirectory(Landroid/content/Context;Z)Ljava/io/File;
.registers 8
.param p0, "context" # Landroid/content/Context;
.param p1, "preferExternal" # Z
.line 51
const/4 v0, 0x0
.line 54
.local v0, "appCacheDir":Ljava/io/File;
:try_start_1
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v1
:try_end_5
.catch Ljava/lang/NullPointerException; {:try_start_1 .. :try_end_5} :catch_6
.line 57
.local v1, "externalStorageState":Ljava/lang/String;
goto :goto_a
.line 55
.end local v1 # "externalStorageState":Ljava/lang/String;
:catch_6
move-exception v1
.line 56
.local v1, "e":Ljava/lang/NullPointerException;
const-string v2, ""
move-object v1, v2
.line 58
.local v1, "externalStorageState":Ljava/lang/String;
:goto_a
if-eqz p1, :cond_18
const-string v2, "mounted"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_18
.line 59
invoke-static {p0}, Lcom/danikula/videocache/StorageUtils;->getExternalCacheDir(Landroid/content/Context;)Ljava/io/File;
move-result-object v0
.line 61
:cond_18
if-nez v0, :cond_1e
.line 62
invoke-virtual {p0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v0
.line 64
:cond_1e
if-nez v0, :cond_5b
.line 65
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "/data/data/"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "/cache/"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 66
.local v2, "cacheDirPath":Ljava/lang/String;
sget-object v3, Lcom/danikula/videocache/StorageUtils;->LOG:Lorg/slf4j/Logger;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Can\'t define system cache directory! \'"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, "%s\' will be used."
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v3, v4}, Lorg/slf4j/Logger;->warn(Ljava/lang/String;)V
.line 67
new-instance v3, Ljava/io/File;
invoke-direct {v3, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
move-object v0, v3
.line 69
.end local v2 # "cacheDirPath":Ljava/lang/String;
:cond_5b
return-object v0
.end method
.method private static getExternalCacheDir(Landroid/content/Context;)Ljava/io/File;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 73
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/io/File;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v2
const-string v3, "Android"
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const-string v2, "data"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 74
.local v0, "dataDir":Ljava/io/File;
new-instance v1, Ljava/io/File;
new-instance v2, Ljava/io/File;
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v0, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const-string v3, "cache"
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 75
.local v1, "appCacheDir":Ljava/io/File;
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_37
.line 76
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
move-result v2
if-nez v2, :cond_37
.line 77
sget-object v2, Lcom/danikula/videocache/StorageUtils;->LOG:Lorg/slf4j/Logger;
const-string v3, "Unable to create external cache directory"
invoke-interface {v2, v3}, Lorg/slf4j/Logger;->warn(Ljava/lang/String;)V
.line 78
const/4 v2, 0x0
return-object v2
.line 81
:cond_37
return-object v1
.end method
.method public static getIndividualCacheDirectory(Landroid/content/Context;)Ljava/io/File;
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 35
const/4 v0, 0x1
invoke-static {p0, v0}, Lcom/danikula/videocache/StorageUtils;->getCacheDirectory(Landroid/content/Context;Z)Ljava/io/File;
move-result-object v0
.line 36
.local v0, "cacheDir":Ljava/io/File;
new-instance v1, Ljava/io/File;
const-string/jumbo v2, "video-cache"
invoke-direct {v1, v0, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
return-object v1
.end method