DefaultDiskStorage$PurgingVisitor.smali
.class Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/common/file/FileTreeVisitor;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/DefaultDiskStorage;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2
name = "PurgingVisitor"
.end annotation
# instance fields
.field private insideBaseDirectory:Z
.field final synthetic this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# direct methods
.method private constructor <init>(Lcom/facebook/cache/disk/DefaultDiskStorage;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x1010
}
names = {
"this$0"
}
.end annotation
.line 270
iput-object p1, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/facebook/cache/disk/DefaultDiskStorage;Lcom/facebook/cache/disk/DefaultDiskStorage$1;)V
.registers 3
.line 270
invoke-direct {p0, p1}, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;-><init>(Lcom/facebook/cache/disk/DefaultDiskStorage;)V
return-void
.end method
.method private isExpectedFile(Ljava/io/File;)Z
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"file"
}
.end annotation
.line 303
iget-object v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# invokes: Lcom/facebook/cache/disk/DefaultDiskStorage;->getShardFileInfo(Ljava/io/File;)Lcom/facebook/cache/disk/DefaultDiskStorage$FileInfo;
invoke-static {v0, p1}, Lcom/facebook/cache/disk/DefaultDiskStorage;->access$000(Lcom/facebook/cache/disk/DefaultDiskStorage;Ljava/io/File;)Lcom/facebook/cache/disk/DefaultDiskStorage$FileInfo;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_a
return v1
.line 307
:cond_a
iget-object v2, v0, Lcom/facebook/cache/disk/DefaultDiskStorage$FileInfo;->type:Ljava/lang/String;
const-string v3, ".tmp"
if-ne v2, v3, :cond_15
.line 308
invoke-direct {p0, p1}, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->isRecentFile(Ljava/io/File;)Z
move-result p1
return p1
.line 310
:cond_15
iget-object p1, v0, Lcom/facebook/cache/disk/DefaultDiskStorage$FileInfo;->type:Ljava/lang/String;
const/4 v0, 0x1
const-string v2, ".cnt"
if-ne p1, v2, :cond_1d
move v1, v0
:cond_1d
invoke-static {v1}, Lcom/facebook/common/internal/Preconditions;->checkState(Z)V
return v0
.end method
.method private isRecentFile(Ljava/io/File;)Z
.registers 8
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"file"
}
.end annotation
.line 316
invoke-virtual {p1}, Ljava/io/File;->lastModified()J
move-result-wide v0
iget-object p1, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# getter for: Lcom/facebook/cache/disk/DefaultDiskStorage;->mClock:Lcom/facebook/common/time/Clock;
invoke-static {p1}, Lcom/facebook/cache/disk/DefaultDiskStorage;->access$400(Lcom/facebook/cache/disk/DefaultDiskStorage;)Lcom/facebook/common/time/Clock;
move-result-object p1
invoke-interface {p1}, Lcom/facebook/common/time/Clock;->now()J
move-result-wide v2
sget-wide v4, Lcom/facebook/cache/disk/DefaultDiskStorage;->TEMP_FILE_LIFETIME_MS:J
sub-long/2addr v2, v4
cmp-long p1, v0, v2
if-lez p1, :cond_17
const/4 p1, 0x1
goto :goto_18
:cond_17
const/4 p1, 0x0
:goto_18
return p1
.end method
# virtual methods
.method public postVisitDirectory(Ljava/io/File;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"directory"
}
.end annotation
.line 290
iget-object v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# getter for: Lcom/facebook/cache/disk/DefaultDiskStorage;->mRootDirectory:Ljava/io/File;
invoke-static {v0}, Lcom/facebook/cache/disk/DefaultDiskStorage;->access$300(Lcom/facebook/cache/disk/DefaultDiskStorage;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_13
.line 291
iget-boolean v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
if-nez v0, :cond_13
.line 293
invoke-virtual {p1}, Ljava/io/File;->delete()Z
.line 296
:cond_13
iget-boolean v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
if-eqz v0, :cond_26
iget-object v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# getter for: Lcom/facebook/cache/disk/DefaultDiskStorage;->mVersionDirectory:Ljava/io/File;
invoke-static {v0}, Lcom/facebook/cache/disk/DefaultDiskStorage;->access$200(Lcom/facebook/cache/disk/DefaultDiskStorage;)Ljava/io/File;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_26
const/4 p1, 0x0
.line 298
iput-boolean p1, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
:cond_26
return-void
.end method
.method public preVisitDirectory(Ljava/io/File;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"directory"
}
.end annotation
.line 275
iget-boolean v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
if-nez v0, :cond_13
iget-object v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->this$0:Lcom/facebook/cache/disk/DefaultDiskStorage;
# getter for: Lcom/facebook/cache/disk/DefaultDiskStorage;->mVersionDirectory:Ljava/io/File;
invoke-static {v0}, Lcom/facebook/cache/disk/DefaultDiskStorage;->access$200(Lcom/facebook/cache/disk/DefaultDiskStorage;)Ljava/io/File;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_13
const/4 p1, 0x1
.line 277
iput-boolean p1, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
:cond_13
return-void
.end method
.method public visitFile(Ljava/io/File;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"file"
}
.end annotation
.line 283
iget-boolean v0, p0, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->insideBaseDirectory:Z
if-eqz v0, :cond_a
invoke-direct {p0, p1}, Lcom/facebook/cache/disk/DefaultDiskStorage$PurgingVisitor;->isExpectedFile(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_d
.line 284
:cond_a
invoke-virtual {p1}, Ljava/io/File;->delete()Z
:cond_d
return-void
.end method