ID3v2DataInput.smali
.class public Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;
.super Ljava/lang/Object;
.source "ID3v2DataInput.java"
# instance fields
.field private final input:Ljava/io/InputStream;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 2
.param p1, "in" # Ljava/io/InputStream;
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 26
iput-object p1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->input:Ljava/io/InputStream;
.line 27
return-void
.end method
# virtual methods
.method public readByte()B
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 60
iget-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->input:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
.line 61
.local v0, "b":I
if-ltz v0, :cond_a
.line 64
int-to-byte v1, v0
return v1
.line 62
:cond_a
new-instance v1, Ljava/io/EOFException;
invoke-direct {v1}, Ljava/io/EOFException;-><init>()V
throw v1
.end method
.method public final readFully([BII)V
.registers 8
.param p1, "b" # [B
.param p2, "off" # I
.param p3, "len" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 30
const/4 v0, 0x0
.line 31
.local v0, "total":I
:goto_1
if-ge v0, p3, :cond_17
.line 32
iget-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->input:Ljava/io/InputStream;
add-int v2, p2, v0
sub-int v3, p3, v0
invoke-virtual {v1, p1, v2, v3}, Ljava/io/InputStream;->read([BII)I
move-result v1
.line 33
.local v1, "current":I
if-lez v1, :cond_11
.line 34
add-int/2addr v0, v1
.line 38
.end local v1 # "current":I
goto :goto_1
.line 36
.restart local v1 # "current":I
:cond_11
new-instance v2, Ljava/io/EOFException;
invoke-direct {v2}, Ljava/io/EOFException;-><init>()V
throw v2
.line 39
.end local v1 # "current":I
:cond_17
return-void
.end method
.method public readFully(I)[B
.registers 4
.param p1, "len" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 42
new-array v0, p1, [B
.line 43
.local v0, "bytes":[B
const/4 v1, 0x0
invoke-virtual {p0, v0, v1, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readFully([BII)V
.line 44
return-object v0
.end method
.method public readInt()I
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 68
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v0
and-int/lit16 v0, v0, 0xff
shl-int/lit8 v0, v0, 0x18
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x10
or-int/2addr v0, v1
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x8
or-int/2addr v0, v1
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit16 v1, v1, 0xff
or-int/2addr v0, v1
return v0
.end method
.method public readSyncsafeInt()I
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 72
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v0
and-int/lit8 v0, v0, 0x7f
shl-int/lit8 v0, v0, 0x15
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit8 v1, v1, 0x7f
shl-int/lit8 v1, v1, 0xe
or-int/2addr v0, v1
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit8 v1, v1, 0x7f
shl-int/lit8 v1, v1, 0x7
or-int/2addr v0, v1
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B
move-result v1
and-int/lit8 v1, v1, 0x7f
or-int/2addr v0, v1
return v0
.end method
.method public skipFully(J)V
.registers 10
.param p1, "len" # J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 48
const-wide/16 v0, 0x0
.line 49
.local v0, "total":J
:goto_2
cmp-long v2, v0, p1
if-gez v2, :cond_1c
.line 50
iget-object v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->input:Ljava/io/InputStream;
sub-long v3, p1, v0
invoke-virtual {v2, v3, v4}, Ljava/io/InputStream;->skip(J)J
move-result-wide v2
.line 51
.local v2, "current":J
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
if-lez v6, :cond_16
.line 52
add-long/2addr v0, v2
.line 56
.end local v2 # "current":J
goto :goto_2
.line 54
.restart local v2 # "current":J
:cond_16
new-instance v4, Ljava/io/EOFException;
invoke-direct {v4}, Ljava/io/EOFException;-><init>()V
throw v4
.line 57
.end local v2 # "current":J
:cond_1c
return-void
.end method