Cea608Decoder$CueBuilder.smali

.class Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;
.super Ljava/lang/Object;
.source "Cea608Decoder.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/google/android/exoplayer2/text/cea/Cea608Decoder;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "CueBuilder"
.end annotation

.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;
    }
.end annotation


# static fields
.field private static final BASE_ROW:I

.field private static final SCREEN_CHARWIDTH:I


# instance fields
.field private captionMode:I

.field private captionRowCount:I

.field private final captionStringBuilder:Ljava/lang/StringBuilder;

.field private final cueStyles:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;",
            ">;"
        }
    .end annotation
.end field

.field private indent:I

.field private final rolledUpCaptions:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Landroid/text/SpannableString;",
            ">;"
        }
    .end annotation
.end field

.field private row:I

.field private tabOffset:I


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

    const v0, 0x1560

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->BASE_ROW:I

    const v0, 0x154f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->SCREEN_CHARWIDTH:I

    return-void
.end method

.method public constructor <init>(II)V
    .registers 4
    .param p1, "captionMode"    # I
    .param p2, "captionRowCount"    # I

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

    .line 671
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    .line 672
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    .line 673
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iput-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    .line 674
    invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->reset(I)V

    .line 675
    invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setCaptionRowCount(I)V

    .line 676
    return-void
.end method

.method static synthetic access$002(Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;I)I
    .registers 2
    .param p0, "x0"    # Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;
    .param p1, "x1"    # I

    .line 653
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->tabOffset:I

    return p1
.end method

.method static synthetic access$100(Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;)I
    .registers 2
    .param p0, "x0"    # Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;

    .line 653
    iget v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    return v0
.end method

.method static synthetic access$102(Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;I)I
    .registers 2
    .param p0, "x0"    # Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;
    .param p1, "x1"    # I

    .line 653
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    return p1
.end method

.method static synthetic access$202(Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;I)I
    .registers 2
    .param p0, "x0"    # Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;
    .param p1, "x1"    # I

    .line 653
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->indent:I

    return p1
.end method

.method private buildCurrentLine()Landroid/text/SpannableString;
    .registers 17

    .line 820
    move-object/from16 v0, p0

    new-instance v1, Landroid/text/SpannableStringBuilder;

    iget-object v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    invoke-direct {v1, v2}, Landroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V

    .line 821
    .local v1, "builder":Landroid/text/SpannableStringBuilder;
    invoke-virtual {v1}, Landroid/text/SpannableStringBuilder;->length()I

    move-result v2

    .line 823
    .local v2, "length":I
    const/4 v3, -0x1

    .line 824
    .local v3, "underlineStartPosition":I
    const/4 v4, -0x1

    .line 825
    .local v4, "italicStartPosition":I
    const/4 v5, 0x0

    .line 826
    .local v5, "colorStartPosition":I
    const/4 v6, -0x1

    .line 828
    .local v6, "color":I
    const/4 v7, 0x0

    .line 829
    .local v7, "nextItalic":Z
    const/4 v8, -0x1

    .line 831
    .local v8, "nextColor":I
    const/4 v9, 0x0

    .local v9, "i":I
    :goto_14
    iget-object v10, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v10}, Ljava/util/List;->size()I

    move-result v10

    if-ge v9, v10, :cond_85

    .line 832
    iget-object v10, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v10, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v10

    check-cast v10, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;

    .line 833
    .local v10, "cueStyle":Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;
    iget-boolean v12, v10, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->underline:Z

    .line 834
    .local v12, "underline":Z
    iget v13, v10, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->style:I

    .line 835
    .local v13, "style":I
    const/16 v14, 0x8

    if-eq v13, v14, :cond_3e

    .line 837
    const/4 v14, 0x7

    if-ne v13, v14, :cond_31

    const/4 v15, 0x1

    goto :goto_32

    :cond_31
    const/4 v15, 0x0

    :goto_32
    move v7, v15

    .line 839
    if-ne v13, v14, :cond_37

    move v14, v8

    goto :goto_3d

    :cond_37
    invoke-static {}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder;->access$300()[I

    move-result-object v14

    aget v14, v14, v13

    :goto_3d
    move v8, v14

    .line 842
    :cond_3e
    iget v14, v10, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->start:I

    .line 843
    .local v14, "position":I
    add-int/lit8 v15, v9, 0x1

    iget-object v11, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v11}, Ljava/util/List;->size()I

    move-result v11

    if-ge v15, v11, :cond_57

    iget-object v11, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    add-int/lit8 v15, v9, 0x1

    invoke-interface {v11, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v11

    check-cast v11, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;

    iget v11, v11, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->start:I

    goto :goto_58

    :cond_57
    move v11, v2

    .line 844
    .local v11, "nextPosition":I
    :goto_58
    if-ne v14, v11, :cond_5b

    .line 846
    goto :goto_82

    .line 850
    :cond_5b
    const/4 v15, -0x1

    if-eq v3, v15, :cond_65

    if-nez v12, :cond_65

    .line 851
    invoke-static {v1, v3, v14}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setUnderlineSpan(Landroid/text/SpannableStringBuilder;II)V

    .line 852
    const/4 v3, -0x1

    goto :goto_6b

    .line 853
    :cond_65
    const/4 v15, -0x1

    if-ne v3, v15, :cond_6b

    if-eqz v12, :cond_6b

    .line 854
    move v3, v14

    .line 857
    :cond_6b
    :goto_6b
    const/4 v15, -0x1

    if-eq v4, v15, :cond_75

    if-nez v7, :cond_75

    .line 858
    invoke-static {v1, v4, v14}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setItalicSpan(Landroid/text/SpannableStringBuilder;II)V

    .line 859
    const/4 v4, -0x1

    goto :goto_7b

    .line 860
    :cond_75
    const/4 v15, -0x1

    if-ne v4, v15, :cond_7b

    if-eqz v7, :cond_7b

    .line 861
    move v4, v14

    .line 864
    :cond_7b
    :goto_7b
    if-eq v8, v6, :cond_82

    .line 865
    invoke-static {v1, v5, v14, v6}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setColorSpan(Landroid/text/SpannableStringBuilder;III)V

    .line 866
    move v6, v8

    .line 867
    move v5, v14

    .line 831
    .end local v10    # "cueStyle":Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;
    .end local v11    # "nextPosition":I
    .end local v12    # "underline":Z
    .end local v13    # "style":I
    .end local v14    # "position":I
    :cond_82
    :goto_82
    add-int/lit8 v9, v9, 0x1

    goto :goto_14

    .line 872
    .end local v9    # "i":I
    :cond_85
    const/4 v9, -0x1

    if-eq v3, v9, :cond_8d

    if-eq v3, v2, :cond_8d

    .line 873
    invoke-static {v1, v3, v2}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setUnderlineSpan(Landroid/text/SpannableStringBuilder;II)V

    .line 875
    :cond_8d
    if-eq v4, v9, :cond_94

    if-eq v4, v2, :cond_94

    .line 876
    invoke-static {v1, v4, v2}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setItalicSpan(Landroid/text/SpannableStringBuilder;II)V

    .line 878
    :cond_94
    if-eq v5, v2, :cond_99

    .line 879
    invoke-static {v1, v5, v2, v6}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->setColorSpan(Landroid/text/SpannableStringBuilder;III)V

    .line 882
    :cond_99
    new-instance v9, Landroid/text/SpannableString;

    invoke-direct {v9, v1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V

    return-object v9
.end method

.method private static setColorSpan(Landroid/text/SpannableStringBuilder;III)V
    .registers 6
    .param p0, "builder"    # Landroid/text/SpannableStringBuilder;
    .param p1, "start"    # I
    .param p2, "end"    # I
    .param p3, "color"    # I

    .line 895
    const/4 v0, -0x1

    if-ne p3, v0, :cond_4

    .line 897
    return-void

    .line 899
    :cond_4
    new-instance v0, Landroid/text/style/ForegroundColorSpan;

    invoke-direct {v0, p3}, Landroid/text/style/ForegroundColorSpan;-><init>(I)V

    const/16 v1, 0x21

    invoke-virtual {p0, v0, p1, p2, v1}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V

    .line 900
    return-void
.end method

.method private static setItalicSpan(Landroid/text/SpannableStringBuilder;II)V
    .registers 5
    .param p0, "builder"    # Landroid/text/SpannableStringBuilder;
    .param p1, "start"    # I
    .param p2, "end"    # I

    .line 890
    new-instance v0, Landroid/text/style/StyleSpan;

    const/4 v1, 0x2

    invoke-direct {v0, v1}, Landroid/text/style/StyleSpan;-><init>(I)V

    const/16 v1, 0x21

    invoke-virtual {p0, v0, p1, p2, v1}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V

    .line 891
    return-void
.end method

.method private static setUnderlineSpan(Landroid/text/SpannableStringBuilder;II)V
    .registers 5
    .param p0, "builder"    # Landroid/text/SpannableStringBuilder;
    .param p1, "start"    # I
    .param p2, "end"    # I

    .line 886
    new-instance v0, Landroid/text/style/UnderlineSpan;

    invoke-direct {v0}, Landroid/text/style/UnderlineSpan;-><init>()V

    const/16 v1, 0x21

    invoke-virtual {p0, v0, p1, p2, v1}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V

    .line 887
    return-void
.end method


# virtual methods
.method public append(C)V
    .registers 3
    .param p1, "text"    # C

    .line 724
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 725
    return-void
.end method

.method public backspace()V
    .registers 5

    .line 707
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I

    move-result v0

    .line 708
    .local v0, "length":I
    if-lez v0, :cond_2e

    .line 709
    iget-object v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    add-int/lit8 v2, v0, -0x1

    invoke-virtual {v1, v2, v0}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;

    .line 711
    iget-object v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    add-int/lit8 v1, v1, -0x1

    .local v1, "i":I
    :goto_17
    if-ltz v1, :cond_2e

    .line 712
    iget-object v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;

    .line 713
    .local v2, "style":Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;
    iget v3, v2, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->start:I

    if-ne v3, v0, :cond_2e

    .line 714
    iget v3, v2, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->start:I

    add-int/lit8 v3, v3, -0x1

    iput v3, v2, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;->start:I

    .line 711
    .end local v2    # "style":Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;
    add-int/lit8 v1, v1, -0x1

    goto :goto_17

    .line 721
    .end local v1    # "i":I
    :cond_2e
    return-void
.end method

.method public build(I)Lcom/google/android/exoplayer2/text/Cue;
    .registers 23
    .param p1, "forcedPositionAnchor"    # I

    .line 738
    move-object/from16 v0, p0

    new-instance v1, Landroid/text/SpannableStringBuilder;

    invoke-direct {v1}, Landroid/text/SpannableStringBuilder;-><init>()V

    .line 740
    .local v1, "cueString":Landroid/text/SpannableStringBuilder;
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_8
    iget-object v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-interface {v3}, Ljava/util/List;->size()I

    move-result v3

    if-ge v2, v3, :cond_23

    .line 741
    iget-object v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/CharSequence;

    invoke-virtual {v1, v3}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;

    .line 742
    const/16 v3, 0xa

    invoke-virtual {v1, v3}, Landroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;

    .line 740
    add-int/lit8 v2, v2, 0x1

    goto :goto_8

    .line 745
    .end local v2    # "i":I
    :cond_23
    invoke-direct/range {p0 .. p0}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->buildCurrentLine()Landroid/text/SpannableString;

    move-result-object v2

    invoke-virtual {v1, v2}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;

    .line 747
    invoke-virtual {v1}, Landroid/text/SpannableStringBuilder;->length()I

    move-result v2

    if-nez v2, :cond_32

    .line 749
    const/4 v2, 0x0

    return-object v2

    .line 754
    :cond_32
    iget v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->indent:I

    iget v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->tabOffset:I

    add-int v11, v2, v3

    .line 756
    .local v11, "startPadding":I
    rsub-int/lit8 v2, v11, 0x20

    invoke-virtual {v1}, Landroid/text/SpannableStringBuilder;->length()I

    move-result v3

    sub-int v12, v2, v3

    .line 757
    .local v12, "endPadding":I
    sub-int v13, v11, v12

    .line 758
    .local v13, "startEndPaddingDelta":I
    const/high16 v2, -0x80000000

    const/4 v3, 0x2

    move/from16 v14, p1

    if-eq v14, v2, :cond_4d

    .line 759
    move/from16 v2, p1

    move v15, v2

    .local v2, "positionAnchor":I
    goto :goto_68

    .line 760
    .end local v2    # "positionAnchor":I
    :cond_4d
    iget v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionMode:I

    if-ne v2, v3, :cond_5d

    .line 761
    invoke-static {v13}, Ljava/lang/Math;->abs(I)I

    move-result v2

    const/4 v4, 0x3

    if-lt v2, v4, :cond_5a

    if-gez v12, :cond_5d

    .line 765
    :cond_5a
    const/4 v2, 0x1

    move v15, v2

    .restart local v2    # "positionAnchor":I
    goto :goto_68

    .line 766
    .end local v2    # "positionAnchor":I
    :cond_5d
    iget v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionMode:I

    if-ne v2, v3, :cond_66

    if-lez v13, :cond_66

    .line 768
    const/4 v2, 0x2

    move v15, v2

    .restart local v2    # "positionAnchor":I
    goto :goto_68

    .line 771
    .end local v2    # "positionAnchor":I
    :cond_66
    const/4 v2, 0x0

    move v15, v2

    .line 775
    .local v15, "positionAnchor":I
    :goto_68
    const/4 v2, 0x1

    if-eq v15, v2, :cond_87

    const v4, 0x3dcccccd    # 0.1f

    const v5, 0x3f4ccccd    # 0.8f

    const/high16 v6, 0x42000000    # 32.0f

    if-eq v15, v3, :cond_7d

    .line 786
    int-to-float v3, v11

    div-float/2addr v3, v6

    .line 788
    .local v3, "position":F
    mul-float v5, v5, v3

    add-float/2addr v5, v4

    move/from16 v16, v5

    .end local v3    # "position":F
    .local v5, "position":F
    goto :goto_8b

    .line 780
    .end local v5    # "position":F
    :cond_7d
    rsub-int/lit8 v3, v12, 0x20

    int-to-float v3, v3

    div-float/2addr v3, v6

    .line 782
    .restart local v3    # "position":F
    mul-float v5, v5, v3

    add-float/2addr v5, v4

    .line 783
    .end local v3    # "position":F
    .restart local v5    # "position":F
    move/from16 v16, v5

    goto :goto_8b

    .line 777
    .end local v5    # "position":F
    :cond_87
    const/high16 v5, 0x3f000000    # 0.5f

    .line 778
    .restart local v5    # "position":F
    move/from16 v16, v5

    .line 795
    .end local v5    # "position":F
    .local v16, "position":F
    :goto_8b
    iget v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionMode:I

    if-eq v3, v2, :cond_9c

    iget v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    const/4 v3, 0x7

    if-le v2, v3, :cond_95

    goto :goto_9c

    .line 802
    :cond_95
    const/4 v2, 0x0

    .line 805
    .local v2, "lineAnchor":I
    iget v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    move/from16 v17, v2

    move v10, v3

    .local v3, "line":I
    goto :goto_a6

    .line 796
    .end local v2    # "lineAnchor":I
    .end local v3    # "line":I
    :cond_9c
    :goto_9c
    const/4 v2, 0x2

    .line 797
    .restart local v2    # "lineAnchor":I
    iget v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    add-int/lit8 v3, v3, -0xf

    .line 800
    .restart local v3    # "line":I
    add-int/lit8 v3, v3, -0x2

    move/from16 v17, v2

    move v10, v3

    .line 808
    .end local v2    # "lineAnchor":I
    .end local v3    # "line":I
    .local v10, "line":I
    .local v17, "lineAnchor":I
    :goto_a6
    new-instance v18, Lcom/google/android/exoplayer2/text/Cue;

    sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment;

    int-to-float v5, v10

    const/4 v6, 0x1

    const/16 v19, 0x1

    move-object/from16 v2, v18

    move-object v3, v1

    move/from16 v7, v17

    move/from16 v8, v16

    move v9, v15

    move/from16 v20, v10

    .end local v10    # "line":I
    .local v20, "line":I
    move/from16 v10, v19

    invoke-direct/range {v2 .. v10}, Lcom/google/android/exoplayer2/text/Cue;-><init>(Ljava/lang/CharSequence;Landroid/text/Layout$Alignment;FIIFIF)V

    return-object v18
.end method

.method public isEmpty()Z
    .registers 2

    .line 689
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_1a

    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    .line 690
    invoke-interface {v0}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_1a

    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    .line 691
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I

    move-result v0

    if-nez v0, :cond_1a

    const/4 v0, 0x1

    goto :goto_1b

    :cond_1a
    const/4 v0, 0x0

    .line 689
    :goto_1b
    return v0
.end method

.method public reset(I)V
    .registers 4
    .param p1, "captionMode"    # I

    .line 679
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionMode:I

    .line 680
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 681
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 682
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->setLength(I)V

    .line 683
    const/16 v0, 0xf

    iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    .line 684
    iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->indent:I

    .line 685
    iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->tabOffset:I

    .line 686
    return-void
.end method

.method public rollUp()V
    .registers 4

    .line 728
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-direct {p0}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->buildCurrentLine()Landroid/text/SpannableString;

    move-result-object v1

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 729
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->setLength(I)V

    .line 730
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 731
    iget v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionRowCount:I

    iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->row:I

    invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I

    move-result v0

    .line 732
    .local v0, "numRows":I
    :goto_1c
    iget-object v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v2

    if-lt v2, v0, :cond_2a

    .line 733
    iget-object v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;

    invoke-interface {v2, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;

    goto :goto_1c

    .line 735
    :cond_2a
    return-void
.end method

.method public setCaptionMode(I)V
    .registers 2
    .param p1, "captionMode"    # I

    .line 695
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionMode:I

    .line 696
    return-void
.end method

.method public setCaptionRowCount(I)V
    .registers 2
    .param p1, "captionRowCount"    # I

    .line 699
    iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionRowCount:I

    .line 700
    return-void
.end method

.method public setStyle(IZ)V
    .registers 6
    .param p1, "style"    # I
    .param p2, "underline"    # Z

    .line 703
    iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->cueStyles:Ljava/util/List;

    new-instance v1, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;

    iget-object v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder;->captionStringBuilder:Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->length()I

    move-result v2

    invoke-direct {v1, p1, p2, v2}, Lcom/google/android/exoplayer2/text/cea/Cea608Decoder$CueBuilder$CueStyle;-><init>(IZI)V

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 704
    return-void
.end method