Files
vtosters/smali/smali_classes5/com/facebook/common/memory/PooledByteArrayBufferedInputStream.smali
T
2022-03-24 19:37:43 +03:00

467 lines
11 KiB
Smali

.class public Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;
.super Ljava/io/InputStream;
.source "PooledByteArrayBufferedInputStream.java"
# annotations
.annotation build Ljavax/annotation/concurrent/NotThreadSafe;
.end annotation
# instance fields
.field private final a:Ljava/io/InputStream;
.field private final b:[B
.field private final c:Lcom/facebook/common/references/ResourceReleaser;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/common/references/ResourceReleaser<",
"[B>;"
}
.end annotation
.end field
.field private d:I
.field private e:I
.field private f:Z
# direct methods
.method public constructor <init>(Ljava/io/InputStream;[BLcom/facebook/common/references/ResourceReleaser;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/InputStream;",
"[B",
"Lcom/facebook/common/references/ResourceReleaser<",
"[B>;)V"
}
.end annotation
.line 48
invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
.line 49
invoke-static {p1}, Lcom/facebook/common/internal/Preconditions;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/io/InputStream;
iput-object p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a:Ljava/io/InputStream;
.line 50
invoke-static {p2}, Lcom/facebook/common/internal/Preconditions;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
iput-object p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b:[B
.line 51
invoke-static {p3}, Lcom/facebook/common/internal/Preconditions;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/facebook/common/references/ResourceReleaser;
iput-object p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->c:Lcom/facebook/common/references/ResourceReleaser;
const/4 p1, 0x0
.line 52
iput p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
.line 53
iput p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
.line 54
iput-boolean p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->f:Z
return-void
.end method
.method private a()Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 121
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
const/4 v2, 0x1
if-ge v0, v1, :cond_0
return v2
.line 125
:cond_0
iget-object v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a:Ljava/io/InputStream;
iget-object v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b:[B
invoke-virtual {v0, v1}, Ljava/io/InputStream;->read([B)I
move-result v0
const/4 v1, 0x0
if-gtz v0, :cond_1
return v1
.line 130
:cond_1
iput v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
.line 131
iput v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
return v2
.end method
.method private b()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 136
iget-boolean v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->f:Z
if-eqz v0, :cond_0
.line 137
new-instance v0, Ljava/io/IOException;
const-string v1, "stream already closed"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_0
return-void
.end method
# virtual methods
.method public available()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 84
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/internal/Preconditions;->b(Z)V
.line 85
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b()V
.line 86
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
sub-int/2addr v0, v1
iget-object v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a:Ljava/io/InputStream;
invoke-virtual {v1}, Ljava/io/InputStream;->available()I
move-result v1
add-int/2addr v0, v1
return v0
.end method
.method public close()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 91
iget-boolean v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->f:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 92
iput-boolean v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->f:Z
.line 93
iget-object v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->c:Lcom/facebook/common/references/ResourceReleaser;
iget-object v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b:[B
invoke-interface {v0, v1}, Lcom/facebook/common/references/ResourceReleaser;->a(Ljava/lang/Object;)V
.line 94
invoke-super {p0}, Ljava/io/InputStream;->close()V
:cond_0
return-void
.end method
.method protected finalize()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 143
iget-boolean v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->f:Z
if-nez v0, :cond_0
const-string v0, "PooledByteInputStream"
const-string v1, "Finalized without closing"
.line 144
invoke-static {v0, v1}, Lcom/facebook/common/c/FLog;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 145
invoke-virtual {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->close()V
.line 147
:cond_0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
.end method
.method public read()I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 59
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/internal/Preconditions;->b(Z)V
.line 60
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b()V
.line 61
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a()Z
move-result v0
if-nez v0, :cond_1
const/4 v0, -0x1
return v0
.line 65
:cond_1
iget-object v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b:[B
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
aget-byte v0, v0, v1
and-int/lit16 v0, v0, 0xff
return v0
.end method
.method public read([BII)I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 70
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/internal/Preconditions;->b(Z)V
.line 71
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b()V
.line 72
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a()Z
move-result v0
if-nez v0, :cond_1
const/4 p1, -0x1
return p1
.line 76
:cond_1
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
sub-int/2addr v0, v1
invoke-static {v0, p3}, Ljava/lang/Math;->min(II)I
move-result p3
.line 77
iget-object v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b:[B
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
invoke-static {v0, v1, p1, p2, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 78
iget p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
add-int/2addr p1, p3
iput p1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
return p3
.end method
.method public skip(J)J
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 100
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/internal/Preconditions;->b(Z)V
.line 101
invoke-direct {p0}, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->b()V
.line 102
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
iget v1, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
sub-int/2addr v0, v1
int-to-long v0, v0
cmp-long v2, v0, p1
if-ltz v2, :cond_1
.line 104
iget v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
int-to-long v0, v0
add-long v2, v0, p1
long-to-int v0, v2
iput v0, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
return-wide p1
.line 108
:cond_1
iget v2, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->d:I
iput v2, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->e:I
.line 109
iget-object v2, p0, Lcom/facebook/common/memory/PooledByteArrayBufferedInputStream;->a:Ljava/io/InputStream;
sub-long v3, p1, v0
invoke-virtual {v2, v3, v4}, Ljava/io/InputStream;->skip(J)J
move-result-wide p1
add-long v2, v0, p1
return-wide v2
.end method