FileTree.smali
.class public Lcom/facebook/common/file/FileTree;
.super Ljava/lang/Object;
.source "FileTree.java"
# direct methods
.method public constructor <init>()V
.registers 1
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static deleteContents(Ljava/io/File;)Z
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"directory"
}
.end annotation
.line 49
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object p0
const/4 v0, 0x1
if-eqz p0, :cond_15
.line 52
array-length v1, p0
const/4 v2, 0x0
:goto_9
if-ge v2, v1, :cond_15
aget-object v3, p0, v2
.line 53
invoke-static {v3}, Lcom/facebook/common/file/FileTree;->deleteRecursively(Ljava/io/File;)Z
move-result v3
and-int/2addr v0, v3
add-int/lit8 v2, v2, 0x1
goto :goto_9
:cond_15
return v0
.end method
.method public static deleteRecursively(Ljava/io/File;)Z
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"file"
}
.end annotation
.line 66
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_9
.line 67
invoke-static {p0}, Lcom/facebook/common/file/FileTree;->deleteContents(Ljava/io/File;)Z
.line 70
:cond_9
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result p0
return p0
.end method
.method public static walkFileTree(Ljava/io/File;Lcom/facebook/common/file/FileTreeVisitor;)V
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"directory",
"visitor"
}
.end annotation
.line 30
invoke-interface {p1, p0}, Lcom/facebook/common/file/FileTreeVisitor;->preVisitDirectory(Ljava/io/File;)V
.line 31
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
if-eqz v0, :cond_1f
.line 33
array-length v1, v0
const/4 v2, 0x0
:goto_b
if-ge v2, v1, :cond_1f
aget-object v3, v0, v2
.line 34
invoke-virtual {v3}, Ljava/io/File;->isDirectory()Z
move-result v4
if-eqz v4, :cond_19
.line 35
invoke-static {v3, p1}, Lcom/facebook/common/file/FileTree;->walkFileTree(Ljava/io/File;Lcom/facebook/common/file/FileTreeVisitor;)V
goto :goto_1c
.line 37
:cond_19
invoke-interface {p1, v3}, Lcom/facebook/common/file/FileTreeVisitor;->visitFile(Ljava/io/File;)V
:goto_1c
add-int/lit8 v2, v2, 0x1
goto :goto_b
.line 41
:cond_1f
invoke-interface {p1, p0}, Lcom/facebook/common/file/FileTreeVisitor;->postVisitDirectory(Ljava/io/File;)V
return-void
.end method