Rabbit-R1/android (non root)/smali/smali_classes2/androidx/media3/common/util/AtomicFile$AtomicFileOutputStream.smali
2024-05-21 17:08:36 -04:00

168 lines
4.4 KiB
Smali

.class final Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;
.super Ljava/io/OutputStream;
.source "AtomicFile.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/media3/common/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 public constructor <init>(Ljava/io/File;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/FileNotFoundException;
}
.end annotation
.line 163
invoke-direct {p0}, Ljava/io/OutputStream;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->closed:Z
.line 164
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
iput-object v0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
return-void
.end method
# virtual methods
.method public close()V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-boolean v0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->closed:Z
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->closed:Z
.line 173
invoke-virtual {p0}, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->flush()V
:try_start_0
iget-object v0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 175
invoke-virtual {v0}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v0
invoke-virtual {v0}, Ljava/io/FileDescriptor;->sync()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
const-string v1, "AtomicFile"
const-string v2, "Failed to sync file descriptor:"
.line 177
invoke-static {v1, v2, v0}, Landroidx/media3/common/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_0
iget-object p0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 179
invoke-virtual {p0}, Ljava/io/FileOutputStream;->close()V
return-void
.end method
.method public flush()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object p0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 184
invoke-virtual {p0}, Ljava/io/FileOutputStream;->flush()V
return-void
.end method
.method public write(I)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object p0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 189
invoke-virtual {p0, p1}, Ljava/io/FileOutputStream;->write(I)V
return-void
.end method
.method public write([B)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object p0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 194
invoke-virtual {p0, p1}, Ljava/io/FileOutputStream;->write([B)V
return-void
.end method
.method public write([BII)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object p0, p0, Landroidx/media3/common/util/AtomicFile$AtomicFileOutputStream;->fileOutputStream:Ljava/io/FileOutputStream;
.line 199
invoke-virtual {p0, p1, p2, p3}, Ljava/io/FileOutputStream;->write([BII)V
return-void
.end method