MP3Frame$CRC16.smali
.class final Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;
.super Ljava/lang/Object;
.source "MP3Frame.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "CRC16"
.end annotation
# instance fields
.field private crc:S
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 2
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
const/4 v0, -0x1
iput-short v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
return-void
.end method
# virtual methods
.method public getValue()S
.registers 2
.line 40
iget-short v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
return v0
.end method
.method public reset()V
.registers 2
.line 44
const/4 v0, -0x1
iput-short v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
.line 45
return-void
.end method
.method public update(B)V
.registers 3
.param p1, "value" # B
.line 36
const/16 v0, 0x8
invoke-virtual {p0, p1, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->update(II)V
.line 37
return-void
.end method
.method public update(II)V
.registers 8
.param p1, "value" # I
.param p2, "length" # I
.line 24
add-int/lit8 v0, p2, -0x1
const/4 v1, 0x1
shl-int v0, v1, v0
.line 26
.local v0, "mask":I
:goto_5
iget-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
const v3, 0x8000
and-int/2addr v2, v3
const/4 v3, 0x0
if-nez v2, :cond_10
const/4 v2, 0x1
goto :goto_11
:cond_10
const/4 v2, 0x0
:goto_11
and-int v4, p1, v0
if-nez v4, :cond_16
const/4 v3, 0x1
:cond_16
xor-int/2addr v2, v3
if-eqz v2, :cond_27
.line 27
iget-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
shl-int/2addr v2, v1
int-to-short v2, v2
iput-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
.line 28
const v3, 0x8005
xor-int/2addr v2, v3
int-to-short v2, v2
iput-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
goto :goto_2d
.line 30
:cond_27
iget-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
shl-int/2addr v2, v1
int-to-short v2, v2
iput-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/MP3Frame$CRC16;->crc:S
.line 32
:goto_2d
ushr-int/lit8 v2, v0, 0x1
move v0, v2
if-nez v2, :cond_33
.line 33
return-void
.line 32
:cond_33
goto :goto_5
.end method