BTree.smali

.class public Lcom/googlecode/mp4parser/h264/BTree;
.super Ljava/lang/Object;
.source "BTree.java"


# instance fields
.field private one:Lcom/googlecode/mp4parser/h264/BTree;

.field private value:Ljava/lang/Object;

.field private zero:Lcom/googlecode/mp4parser/h264/BTree;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 29
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public addString(Ljava/lang/String;Ljava/lang/Object;)V
    .registers 6
    .param p1, "path"    # Ljava/lang/String;
    .param p2, "value"    # Ljava/lang/Object;

    .line 36
    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v0

    if-nez v0, :cond_9

    .line 37
    iput-object p2, p0, Lcom/googlecode/mp4parser/h264/BTree;->value:Ljava/lang/Object;

    .line 38
    return-void

    .line 40
    :cond_9
    const/4 v0, 0x0

    invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C

    move-result v0

    .line 42
    .local v0, "charAt":C
    const/16 v1, 0x30

    if-ne v0, v1, :cond_20

    .line 43
    iget-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->zero:Lcom/googlecode/mp4parser/h264/BTree;

    if-nez v1, :cond_1d

    .line 44
    new-instance v1, Lcom/googlecode/mp4parser/h264/BTree;

    invoke-direct {v1}, Lcom/googlecode/mp4parser/h264/BTree;-><init>()V

    iput-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->zero:Lcom/googlecode/mp4parser/h264/BTree;

    .line 45
    :cond_1d
    iget-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->zero:Lcom/googlecode/mp4parser/h264/BTree;

    .line 46
    .local v1, "branch":Lcom/googlecode/mp4parser/h264/BTree;
    goto :goto_2d

    .line 47
    .end local v1    # "branch":Lcom/googlecode/mp4parser/h264/BTree;
    :cond_20
    iget-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->one:Lcom/googlecode/mp4parser/h264/BTree;

    if-nez v1, :cond_2b

    .line 48
    new-instance v1, Lcom/googlecode/mp4parser/h264/BTree;

    invoke-direct {v1}, Lcom/googlecode/mp4parser/h264/BTree;-><init>()V

    iput-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->one:Lcom/googlecode/mp4parser/h264/BTree;

    .line 49
    :cond_2b
    iget-object v1, p0, Lcom/googlecode/mp4parser/h264/BTree;->one:Lcom/googlecode/mp4parser/h264/BTree;

    .line 51
    .restart local v1    # "branch":Lcom/googlecode/mp4parser/h264/BTree;
    :goto_2d
    const/4 v2, 0x1

    invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2, p2}, Lcom/googlecode/mp4parser/h264/BTree;->addString(Ljava/lang/String;Ljava/lang/Object;)V

    .line 52
    return-void
.end method

.method public down(I)Lcom/googlecode/mp4parser/h264/BTree;
    .registers 3
    .param p1, "b"    # I

    .line 55
    if-nez p1, :cond_5

    .line 56
    iget-object v0, p0, Lcom/googlecode/mp4parser/h264/BTree;->zero:Lcom/googlecode/mp4parser/h264/BTree;

    return-object v0

    .line 58
    :cond_5
    iget-object v0, p0, Lcom/googlecode/mp4parser/h264/BTree;->one:Lcom/googlecode/mp4parser/h264/BTree;

    return-object v0
.end method

.method public getValue()Ljava/lang/Object;
    .registers 2

    .line 62
    iget-object v0, p0, Lcom/googlecode/mp4parser/h264/BTree;->value:Ljava/lang/Object;

    return-object v0
.end method