CleanUtils.smali
.class public final Lcom/blankj/utilcode/util/CleanUtils;
.super Ljava/lang/Object;
.source "CleanUtils.java"
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method private constructor <init>()V
.registers 3
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string/jumbo v1, "u can\'t instantiate me..."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static cleanCustomDir(Ljava/io/File;)Z
.registers 2
.param p0, "dir" # Ljava/io/File;
.line 100
invoke-static {p0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method public static cleanCustomDir(Ljava/lang/String;)Z
.registers 2
.param p0, "dirPath" # Ljava/lang/String;
.line 90
invoke-static {p0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public static cleanExternalCache()Z
.registers 2
.line 79
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1c
.line 80
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getExternalCacheDir()Ljava/io/File;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
if-eqz v0, :cond_1c
const/4 v0, 0x1
goto :goto_1d
:cond_1c
const/4 v0, 0x0
.line 79
:goto_1d
return v0
.end method
.method public static cleanInternalCache()Z
.registers 1
.line 28
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getCacheDir()Ljava/io/File;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method public static cleanInternalDbByName(Ljava/lang/String;)Z
.registers 2
.param p0, "dbName" # Ljava/lang/String;
.line 59
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/app/Application;->deleteDatabase(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method public static cleanInternalDbs()Z
.registers 3
.line 48
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Application;->getFilesDir()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v1
const-string v2, "databases"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method public static cleanInternalFiles()Z
.registers 1
.line 38
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getFilesDir()Ljava/io/File;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method public static cleanInternalSp()Z
.registers 3
.line 69
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Application;->getFilesDir()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v1
const-string/jumbo v2, "shared_prefs"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method private static deleteDir(Ljava/io/File;)Z
.registers 7
.param p0, "dir" # Ljava/io/File;
.line 131
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
.line 133
:cond_4
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_c
const/4 v0, 0x1
return v0
.line 135
:cond_c
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v1
if-nez v1, :cond_13
return v0
.line 136
:cond_13
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
.line 137
.local v1, "files":[Ljava/io/File;
if-eqz v1, :cond_3f
array-length v2, v1
if-eqz v2, :cond_3f
.line 138
array-length v2, v1
const/4 v3, 0x0
:goto_1e
if-ge v3, v2, :cond_3f
aget-object v4, v1, v3
.line 139
.local v4, "file":Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->isFile()Z
move-result v5
if-eqz v5, :cond_2f
.line 140
invoke-virtual {v4}, Ljava/io/File;->delete()Z
move-result v5
if-nez v5, :cond_3c
return v0
.line 141
:cond_2f
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v5
if-eqz v5, :cond_3c
.line 142
invoke-static {v4}, Lcom/blankj/utilcode/util/CleanUtils;->deleteDir(Ljava/io/File;)Z
move-result v5
if-nez v5, :cond_3c
return v0
.line 138
.end local v4 # "file":Ljava/io/File;
:cond_3c
add-int/lit8 v3, v3, 0x1
goto :goto_1e
.line 146
:cond_3f
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v0
return v0
.end method
.method private static deleteFilesInDir(Ljava/io/File;)Z
.registers 8
.param p0, "dir" # Ljava/io/File;
.line 112
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
.line 114
:cond_4
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v1
const/4 v2, 0x1
if-nez v1, :cond_c
return v2
.line 116
:cond_c
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v1
if-nez v1, :cond_13
return v0
.line 117
:cond_13
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
.line 118
.local v1, "files":[Ljava/io/File;
if-eqz v1, :cond_3f
array-length v3, v1
if-eqz v3, :cond_3f
.line 119
array-length v3, v1
const/4 v4, 0x0
:goto_1e
if-ge v4, v3, :cond_3f
aget-object v5, v1, v4
.line 120
.local v5, "file":Ljava/io/File;
invoke-virtual {v5}, Ljava/io/File;->isFile()Z
move-result v6
if-eqz v6, :cond_2f
.line 121
invoke-virtual {v5}, Ljava/io/File;->delete()Z
move-result v6
if-nez v6, :cond_3c
return v0
.line 122
:cond_2f
invoke-virtual {v5}, Ljava/io/File;->isDirectory()Z
move-result v6
if-eqz v6, :cond_3c
.line 123
invoke-static {v5}, Lcom/blankj/utilcode/util/CleanUtils;->deleteDir(Ljava/io/File;)Z
move-result v6
if-nez v6, :cond_3c
return v0
.line 119
.end local v5 # "file":Ljava/io/File;
:cond_3c
add-int/lit8 v4, v4, 0x1
goto :goto_1e
.line 127
:cond_3f
return v2
.end method
.method public static deleteFilesInDir(Ljava/lang/String;)Z
.registers 2
.param p0, "dirPath" # Ljava/lang/String;
.line 104
invoke-static {p0}, Lcom/blankj/utilcode/util/CleanUtils;->getFileByPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-static {v0}, Lcom/blankj/utilcode/util/CleanUtils;->deleteFilesInDir(Ljava/io/File;)Z
move-result v0
return v0
.end method
.method private static getFileByPath(Ljava/lang/String;)Ljava/io/File;
.registers 2
.param p0, "filePath" # Ljava/lang/String;
.line 150
invoke-static {p0}, Lcom/blankj/utilcode/util/CleanUtils;->isSpace(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x0
goto :goto_d
:cond_8
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_d
return-object v0
.end method
.method private static isSpace(Ljava/lang/String;)Z
.registers 5
.param p0, "s" # Ljava/lang/String;
.line 154
const/4 v0, 0x1
if-nez p0, :cond_4
return v0
.line 155
:cond_4
const/4 v1, 0x0
.local v1, "i":I
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
.local v2, "len":I
:goto_9
if-ge v1, v2, :cond_1a
.line 156
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v3
invoke-static {v3}, Ljava/lang/Character;->isWhitespace(C)Z
move-result v3
if-nez v3, :cond_17
.line 157
const/4 v0, 0x0
return v0
.line 155
:cond_17
add-int/lit8 v1, v1, 0x1
goto :goto_9
.line 160
.end local v1 # "i":I
.end local v2 # "len":I
:cond_1a
return v0
.end method