AtomicFile$AtomicFileOutputStream.smali
.class final Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;
.super Ljava/io/OutputStream;
.source "AtomicFile.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/util/AtomicFile;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "AtomicFileOutputStream"
.end annotation
# instance fields
.field private closed:Z
.field private final fileOutputStream:Ljava/io/FileOutputStream;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/io/File;)V
.registers 3
.param p1, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/FileNotFoundException;
}
.end annotation
.line 157
invoke-direct {p0}, Ljava/io/OutputStream;-><init>()V
.line 155
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->closed:Z
.line 158
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 159
return-void
.end method
# virtual methods
.method public close()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 163
iget-boolean v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->closed:Z
if-eqz v0, :cond_5
.line 164
return-void
.line 166
:cond_5
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->closed:Z
.line 167
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->flush()V
.line 169
:try_start_b
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v0
invoke-virtual {v0}, Ljava/io/FileDescriptor;->sync()V
:try_end_14
.catch Ljava/io/IOException; {:try_start_b .. :try_end_14} :catch_15
.line 172
goto :goto_1d
.line 170
:catch_15
move-exception v0
.line 171
.local v0, "e":Ljava/io/IOException;
const-string v1, "AtomicFile"
const-string v2, "Failed to sync file descriptor:"
invoke-static {v1, v2, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 173
.end local v0 # "e":Ljava/io/IOException;
:goto_1d
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
.line 174
return-void
.end method
.method public flush()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 178
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0}, Ljava/io/FileOutputStream;->flush()V
.line 179
return-void
.end method
.method public write(I)V
.registers 3
.param p1, "b" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 183
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0, p1}, Ljava/io/FileOutputStream;->write(I)V
.line 184
return-void
.end method
.method public write([B)V
.registers 3
.param p1, "b" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 188
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0, p1}, Ljava/io/FileOutputStream;->write([B)V
.line 189
return-void
.end method
.method public write([BII)V
.registers 5
.param p1, "b" # [B
.param p2, "off" # I
.param p3, "len" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 193
iget-object v0, p0, Lcom/google/android/exoplayer2/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/FileOutputStream;->write([BII)V
.line 194
return-void
.end method