CharCache.smali
.class public Lcom/googlecode/mp4parser/h264/CharCache;
.super Ljava/lang/Object;
.source "CharCache.java"
# instance fields
.field private cache:[C
.field private pos:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(I)V
.registers 3
.param p1, "capacity" # I
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 28
new-array v0, p1, [C
iput-object v0, p0, Lcom/googlecode/mp4parser/h264/CharCache;->cache:[C
.line 29
return-void
.end method
# virtual methods
.method public append(C)V
.registers 5
.param p1, "c" # C
.line 48
iget v0, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
iget-object v1, p0, Lcom/googlecode/mp4parser/h264/CharCache;->cache:[C
array-length v2, v1
add-int/lit8 v2, v2, -0x1
if-ge v0, v2, :cond_f
.line 49
aput-char p1, v1, v0
.line 50
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
.line 52
:cond_f
return-void
.end method
.method public append(Ljava/lang/String;)V
.registers 8
.param p1, "str" # Ljava/lang/String;
.line 32
invoke-virtual {p1}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
.line 33
.local v0, "chars":[C
iget-object v1, p0, Lcom/googlecode/mp4parser/h264/CharCache;->cache:[C
array-length v1, v1
iget v2, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
sub-int/2addr v1, v2
.line 34
.local v1, "available":I
array-length v2, v0
if-ge v2, v1, :cond_f
array-length v2, v0
goto :goto_10
:cond_f
move v2, v1
.line 35
.local v2, "toWrite":I
:goto_10
const/4 v3, 0x0
iget-object v4, p0, Lcom/googlecode/mp4parser/h264/CharCache;->cache:[C
iget v5, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
invoke-static {v0, v3, v4, v5, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 36
iget v3, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
add-int/2addr v3, v2
iput v3, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
.line 37
return-void
.end method
.method public clear()V
.registers 2
.line 44
const/4 v0, 0x0
iput v0, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
.line 45
return-void
.end method
.method public length()I
.registers 2
.line 55
iget v0, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 5
.line 40
new-instance v0, Ljava/lang/String;
iget-object v1, p0, Lcom/googlecode/mp4parser/h264/CharCache;->cache:[C
iget v2, p0, Lcom/googlecode/mp4parser/h264/CharCache;->pos:I
const/4 v3, 0x0
invoke-direct {v0, v1, v3, v2}, Ljava/lang/String;-><init>([CII)V
return-object v0
.end method