RangeInputStream.smali
.class public Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;
.super Lim/tpelyyftgw/messenger/audioinfo/util/PositionInputStream;
.source "RangeInputStream.java"
# instance fields
.field private final endPosition:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;JJ)V
.registers 8
.param p1, "delegate" # Ljava/io/InputStream;
.param p2, "position" # J
.param p4, "length" # J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 29
invoke-direct {p0, p1, p2, p3}, Lim/tpelyyftgw/messenger/audioinfo/util/PositionInputStream;-><init>(Ljava/io/InputStream;J)V
.line 30
add-long v0, p2, p4
iput-wide v0, p0, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->endPosition:J
.line 31
return-void
.end method
# virtual methods
.method public getRemainingLength()J
.registers 5
.line 34
iget-wide v0, p0, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->endPosition:J
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v2
sub-long/2addr v0, v2
return-wide v0
.end method
.method public read()I
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 39
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v0
iget-wide v2, p0, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->endPosition:J
cmp-long v4, v0, v2
if-nez v4, :cond_c
.line 40
const/4 v0, -0x1
return v0
.line 42
:cond_c
invoke-super {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/PositionInputStream;->read()I
move-result v0
return v0
.end method
.method public read([BII)I
.registers 9
.param p1, "b" # [B
.param p2, "off" # I
.param p3, "len" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 47
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v0
int-to-long v2, p3
add-long/2addr v0, v2
iget-wide v2, p0, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->endPosition:J
cmp-long v4, v0, v2
if-lez v4, :cond_16
.line 48
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v0
sub-long/2addr v2, v0
long-to-int p3, v2
.line 49
if-nez p3, :cond_16
.line 50
const/4 v0, -0x1
return v0
.line 53
:cond_16
invoke-super {p0, p1, p2, p3}, Lim/tpelyyftgw/messenger/audioinfo/util/PositionInputStream;->read([BII)I
move-result v0
return v0
.end method
.method public skip(J)J
.registers 8
.param p1, "n" # J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 58
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v0
add-long/2addr v0, p1
iget-wide v2, p0, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->endPosition:J
cmp-long v4, v0, v2
if-lez v4, :cond_12
.line 59
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/util/RangeInputStream;->getPosition()J
move-result-wide v0
sub-long/2addr v2, v0
long-to-int v0, v2
int-to-long p1, v0
.line 61
:cond_12
invoke-super {p0, p1, p2}, Lim/tpelyyftgw/messenger/audioinfo/util/PositionInputStream;->skip(J)J
move-result-wide v0
return-wide v0
.end method