tmap/smali_classes2/com/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder.smali
2022-06-10 21:38:30 +09:00

1578 lines
39 KiB
Smali

.class final Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;
.super Ljava/lang/Object;
.source "Cea708Decoder.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/text/cea/Cea708Decoder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CueBuilder"
.end annotation
# static fields
.field private static final BORDER_AND_EDGE_TYPE_NONE:I = 0x0
.field private static final BORDER_AND_EDGE_TYPE_UNIFORM:I = 0x3
.field public static final COLOR_SOLID_BLACK:I
.field public static final COLOR_SOLID_WHITE:I
.field public static final COLOR_TRANSPARENT:I
.field private static final DEFAULT_PRIORITY:I = 0x4
.field private static final DIRECTION_BOTTOM_TO_TOP:I = 0x3
.field private static final DIRECTION_LEFT_TO_RIGHT:I = 0x0
.field private static final DIRECTION_RIGHT_TO_LEFT:I = 0x1
.field private static final DIRECTION_TOP_TO_BOTTOM:I = 0x2
.field private static final HORIZONTAL_SIZE:I = 0xd1
.field private static final JUSTIFICATION_CENTER:I = 0x2
.field private static final JUSTIFICATION_FULL:I = 0x3
.field private static final JUSTIFICATION_LEFT:I = 0x0
.field private static final JUSTIFICATION_RIGHT:I = 0x1
.field private static final MAXIMUM_ROW_COUNT:I = 0xf
.field private static final PEN_FONT_STYLE_DEFAULT:I = 0x0
.field private static final PEN_FONT_STYLE_MONOSPACED_WITHOUT_SERIFS:I = 0x3
.field private static final PEN_FONT_STYLE_MONOSPACED_WITH_SERIFS:I = 0x1
.field private static final PEN_FONT_STYLE_PROPORTIONALLY_SPACED_WITHOUT_SERIFS:I = 0x4
.field private static final PEN_FONT_STYLE_PROPORTIONALLY_SPACED_WITH_SERIFS:I = 0x2
.field private static final PEN_OFFSET_NORMAL:I = 0x1
.field private static final PEN_SIZE_STANDARD:I = 0x1
.field private static final PEN_STYLE_BACKGROUND:[I
.field private static final PEN_STYLE_EDGE_TYPE:[I
.field private static final PEN_STYLE_FONT_STYLE:[I
.field private static final RELATIVE_CUE_SIZE:I = 0x63
.field private static final VERTICAL_SIZE:I = 0x4a
.field private static final WINDOW_STYLE_FILL:[I
.field private static final WINDOW_STYLE_JUSTIFICATION:[I
.field private static final WINDOW_STYLE_PRINT_DIRECTION:[I
.field private static final WINDOW_STYLE_SCROLL_DIRECTION:[I
.field private static final WINDOW_STYLE_WORD_WRAP:[Z
# instance fields
.field private anchorId:I
.field private backgroundColor:I
.field private backgroundColorStartPosition:I
.field private final captionStringBuilder:Landroid/text/SpannableStringBuilder;
.field private defined:Z
.field private foregroundColor:I
.field private foregroundColorStartPosition:I
.field private horizontalAnchor:I
.field private italicsStartPosition:I
.field private justification:I
.field private penStyleId:I
.field private priority:I
.field private relativePositioning:Z
.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 rowCount:I
.field private rowLock:Z
.field private underlineStartPosition:I
.field private verticalAnchor:I
.field private visible:Z
.field private windowFillColor:I
.field private windowStyleId:I
# direct methods
.method public static constructor <clinit>()V
.locals 11
const/4 v0, 0x2
const/4 v1, 0x0
.line 1
invoke-static {v0, v0, v0, v1}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->getArgbColorFromCeaColor(IIII)I
move-result v2
sput v2, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_WHITE:I
.line 2
invoke-static {v1, v1, v1, v1}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->getArgbColorFromCeaColor(IIII)I
move-result v2
sput v2, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_BLACK:I
const/4 v3, 0x3
.line 3
invoke-static {v1, v1, v1, v3}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->getArgbColorFromCeaColor(IIII)I
move-result v4
sput v4, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_TRANSPARENT:I
const/4 v5, 0x7
new-array v6, v5, [I
.line 4
fill-array-data v6, :array_0
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_JUSTIFICATION:[I
new-array v6, v5, [I
.line 5
fill-array-data v6, :array_1
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_PRINT_DIRECTION:[I
new-array v6, v5, [I
.line 6
fill-array-data v6, :array_2
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_SCROLL_DIRECTION:[I
new-array v6, v5, [Z
.line 7
fill-array-data v6, :array_3
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_WORD_WRAP:[Z
new-array v6, v5, [I
aput v2, v6, v1
const/4 v7, 0x1
aput v4, v6, v7
aput v2, v6, v0
aput v2, v6, v3
const/4 v8, 0x4
aput v4, v6, v8
const/4 v9, 0x5
aput v2, v6, v9
const/4 v10, 0x6
aput v2, v6, v10
.line 8
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_FILL:[I
new-array v6, v5, [I
.line 9
fill-array-data v6, :array_4
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_FONT_STYLE:[I
new-array v6, v5, [I
.line 10
fill-array-data v6, :array_5
sput-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_EDGE_TYPE:[I
new-array v5, v5, [I
aput v2, v5, v1
aput v2, v5, v7
aput v2, v5, v0
aput v2, v5, v3
aput v2, v5, v8
aput v4, v5, v9
aput v4, v5, v10
.line 11
sput-object v5, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_BACKGROUND:[I
return-void
nop
:array_0
.array-data 4
0x0
0x0
0x0
0x0
0x0
0x2
0x0
.end array-data
:array_1
.array-data 4
0x0
0x0
0x0
0x0
0x0
0x0
0x2
.end array-data
:array_2
.array-data 4
0x3
0x3
0x3
0x3
0x3
0x3
0x1
.end array-data
:array_3
.array-data 1
0x0t
0x0t
0x0t
0x1t
0x1t
0x1t
0x0t
.end array-data
:array_4
.array-data 4
0x0
0x1
0x2
0x3
0x4
0x3
0x4
.end array-data
:array_5
.array-data 4
0x0
0x0
0x0
0x0
0x0
0x3
0x3
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
.line 3
new-instance v0, Landroid/text/SpannableStringBuilder;
invoke-direct {v0}, Landroid/text/SpannableStringBuilder;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
.line 4
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->reset()V
return-void
.end method
.method public static getArgbColorFromCeaColor(III)I
.locals 1
const/4 v0, 0x0
.line 1
invoke-static {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->getArgbColorFromCeaColor(IIII)I
move-result p0
return p0
.end method
.method public static getArgbColorFromCeaColor(IIII)I
.locals 4
const/4 v0, 0x0
const/4 v1, 0x4
.line 2
invoke-static {p0, v0, v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkIndex(III)I
.line 3
invoke-static {p1, v0, v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkIndex(III)I
.line 4
invoke-static {p2, v0, v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkIndex(III)I
.line 5
invoke-static {p3, v0, v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkIndex(III)I
const/4 v1, 0x1
const/16 v2, 0xff
if-eqz p3, :cond_2
if-eq p3, v1, :cond_2
const/4 v3, 0x2
if-eq p3, v3, :cond_1
const/4 v3, 0x3
if-eq p3, v3, :cond_0
goto :goto_0
:cond_0
move p3, v0
goto :goto_1
:cond_1
const/16 p3, 0x7f
goto :goto_1
:cond_2
:goto_0
move p3, v2
:goto_1
if-le p0, v1, :cond_3
move p0, v2
goto :goto_2
:cond_3
move p0, v0
:goto_2
if-le p1, v1, :cond_4
move p1, v2
goto :goto_3
:cond_4
move p1, v0
:goto_3
if-le p2, v1, :cond_5
move v0, v2
.line 6
:cond_5
invoke-static {p3, p0, p1, v0}, Landroid/graphics/Color;->argb(IIII)I
move-result p0
return p0
.end method
# virtual methods
.method public append(C)V
.locals 2
const/16 v0, 0xa
if-ne p1, v0, :cond_6
.line 1
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->buildSpannableString()Landroid/text/SpannableString;
move-result-object v0
invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 2
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {p1}, Landroid/text/SpannableStringBuilder;->clear()V
.line 3
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
const/4 v0, -0x1
const/4 v1, 0x0
if-eq p1, v0, :cond_0
.line 4
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
.line 5
:cond_0
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
if-eq p1, v0, :cond_1
.line 6
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
.line 7
:cond_1
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
if-eq p1, v0, :cond_2
.line 8
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
.line 9
:cond_2
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
if-eq p1, v0, :cond_3
.line 10
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
.line 11
:cond_3
:goto_0
iget-boolean p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowLock:Z
if-eqz p1, :cond_4
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p1
iget v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowCount:I
if-ge p1, v0, :cond_5
:cond_4
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
.line 12
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p1
const/16 v0, 0xf
if-lt p1, v0, :cond_7
.line 13
:cond_5
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {p1, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
goto :goto_0
.line 14
:cond_6
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {v0, p1}, Landroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;
:cond_7
return-void
.end method
.method public backspace()V
.locals 3
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {v0}, Landroid/text/SpannableStringBuilder;->length()I
move-result v0
if-lez v0, :cond_0
.line 2
iget-object v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
add-int/lit8 v2, v0, -0x1
invoke-virtual {v1, v2, v0}, Landroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder;
:cond_0
return-void
.end method
.method public build()Lcom/google/android/exoplayer2/text/cea/Cea708Cue;
.locals 15
.line 1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x0
return-object v0
.line 2
:cond_0
new-instance v2, Landroid/text/SpannableStringBuilder;
invoke-direct {v2}, Landroid/text/SpannableStringBuilder;-><init>()V
const/4 v0, 0x0
move v1, v0
.line 3
:goto_0
iget-object v3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
if-ge v1, v3, :cond_1
.line 4
iget-object v3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/CharSequence;
invoke-virtual {v2, v3}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
const/16 v3, 0xa
.line 5
invoke-virtual {v2, v3}, Landroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 6
:cond_1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->buildSpannableString()Landroid/text/SpannableString;
move-result-object v1
invoke-virtual {v2, v1}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
.line 7
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->justification:I
const/4 v3, 0x2
const/4 v4, 0x3
const/4 v5, 0x1
if-eqz v1, :cond_5
if-eq v1, v5, :cond_4
if-eq v1, v3, :cond_3
if-ne v1, v4, :cond_2
goto :goto_1
.line 8
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Unexpected justification value: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->justification:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 9
:cond_3
sget-object v1, Landroid/text/Layout$Alignment;->ALIGN_CENTER:Landroid/text/Layout$Alignment;
goto :goto_2
.line 10
:cond_4
sget-object v1, Landroid/text/Layout$Alignment;->ALIGN_OPPOSITE:Landroid/text/Layout$Alignment;
goto :goto_2
.line 11
:cond_5
:goto_1
sget-object v1, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment;
:goto_2
move-object v6, v1
.line 12
iget-boolean v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->relativePositioning:Z
if-eqz v1, :cond_6
.line 13
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->horizontalAnchor:I
int-to-float v1, v1
const/high16 v7, 0x42c60000 # 99.0f
div-float/2addr v1, v7
.line 14
iget v8, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->verticalAnchor:I
int-to-float v8, v8
div-float/2addr v8, v7
goto :goto_3
.line 15
:cond_6
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->horizontalAnchor:I
int-to-float v1, v1
const/high16 v7, 0x43510000 # 209.0f
div-float/2addr v1, v7
.line 16
iget v7, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->verticalAnchor:I
int-to-float v7, v7
const/high16 v8, 0x42940000 # 74.0f
div-float v8, v7, v8
:goto_3
const v7, 0x3f666666 # 0.9f
mul-float/2addr v1, v7
const v9, 0x3d4ccccd # 0.05f
add-float v10, v1, v9
mul-float/2addr v8, v7
add-float v7, v8, v9
.line 17
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->anchorId:I
rem-int/lit8 v8, v1, 0x3
if-nez v8, :cond_7
move v8, v0
goto :goto_4
.line 18
:cond_7
rem-int/lit8 v8, v1, 0x3
if-ne v8, v5, :cond_8
move v8, v5
goto :goto_4
:cond_8
move v8, v3
.line 19
:goto_4
div-int/lit8 v9, v1, 0x3
if-nez v9, :cond_9
move v9, v0
goto :goto_5
.line 20
:cond_9
div-int/2addr v1, v4
if-ne v1, v5, :cond_a
move v9, v5
goto :goto_5
:cond_a
move v9, v3
.line 21
:goto_5
iget v11, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowFillColor:I
sget v1, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_BLACK:I
if-eq v11, v1, :cond_b
move v0, v5
.line 22
:cond_b
new-instance v13, Lcom/google/android/exoplayer2/text/cea/Cea708Cue;
const/4 v5, 0x0
const/4 v12, 0x1
iget v14, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->priority:I
move-object v1, v13
move-object v3, v6
move v4, v7
move v6, v8
move v7, v10
move v8, v9
move v9, v12
move v10, v0
move v12, v14
invoke-direct/range {v1 .. v12}, Lcom/google/android/exoplayer2/text/cea/Cea708Cue;-><init>(Ljava/lang/CharSequence;Landroid/text/Layout$Alignment;FIIFIFZII)V
return-object v13
.end method
.method public buildSpannableString()Landroid/text/SpannableString;
.locals 6
.line 1
new-instance v0, Landroid/text/SpannableStringBuilder;
iget-object v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-direct {v0, v1}, Landroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V
.line 2
invoke-virtual {v0}, Landroid/text/SpannableStringBuilder;->length()I
move-result v1
if-lez v1, :cond_3
.line 3
iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
const/16 v3, 0x21
const/4 v4, -0x1
if-eq v2, v4, :cond_0
.line 4
new-instance v2, Landroid/text/style/StyleSpan;
const/4 v5, 0x2
invoke-direct {v2, v5}, Landroid/text/style/StyleSpan;-><init>(I)V
iget v5, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
invoke-virtual {v0, v2, v5, v1, v3}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 5
:cond_0
iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
if-eq v2, v4, :cond_1
.line 6
new-instance v2, Landroid/text/style/UnderlineSpan;
invoke-direct {v2}, Landroid/text/style/UnderlineSpan;-><init>()V
iget v5, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
invoke-virtual {v0, v2, v5, v1, v3}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 7
:cond_1
iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
if-eq v2, v4, :cond_2
.line 8
new-instance v2, Landroid/text/style/ForegroundColorSpan;
iget v5, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColor:I
invoke-direct {v2, v5}, Landroid/text/style/ForegroundColorSpan;-><init>(I)V
iget v5, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
invoke-virtual {v0, v2, v5, v1, v3}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 9
:cond_2
iget v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
if-eq v2, v4, :cond_3
.line 10
new-instance v2, Landroid/text/style/BackgroundColorSpan;
iget v4, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColor:I
invoke-direct {v2, v4}, Landroid/text/style/BackgroundColorSpan;-><init>(I)V
iget v4, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
invoke-virtual {v0, v2, v4, v1, v3}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 11
:cond_3
new-instance v1, Landroid/text/SpannableString;
invoke-direct {v1, v0}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
return-object v1
.end method
.method public clear()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {v0}, Landroid/text/SpannableStringBuilder;->clear()V
const/4 v0, -0x1
.line 3
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
.line 4
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
.line 5
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
.line 6
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
const/4 v0, 0x0
.line 7
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->row:I
return-void
.end method
.method public defineWindow(ZZZIZIIIIIII)V
.locals 11
move-object v0, p0
move v1, p2
move/from16 v2, p11
move/from16 v3, p12
const/4 v4, 0x1
.line 1
iput-boolean v4, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->defined:Z
move v5, p1
.line 2
iput-boolean v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->visible:Z
.line 3
iput-boolean v1, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowLock:Z
move v5, p4
.line 4
iput v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->priority:I
move/from16 v5, p5
.line 5
iput-boolean v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->relativePositioning:Z
move/from16 v5, p6
.line 6
iput v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->verticalAnchor:I
move/from16 v5, p7
.line 7
iput v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->horizontalAnchor:I
move/from16 v5, p10
.line 8
iput v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->anchorId:I
.line 9
iget v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowCount:I
add-int/lit8 v6, p8, 0x1
if-eq v5, v6, :cond_2
.line 10
iput v6, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowCount:I
:goto_0
if-eqz v1, :cond_0
.line 11
iget-object v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v5
iget v6, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowCount:I
if-ge v5, v6, :cond_1
:cond_0
iget-object v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
.line 12
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v5
const/16 v6, 0xf
if-lt v5, v6, :cond_2
.line 13
:cond_1
iget-object v5, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
const/4 v6, 0x0
invoke-interface {v5, v6}, Ljava/util/List;->remove(I)Ljava/lang/Object;
goto :goto_0
:cond_2
if-eqz v2, :cond_3
.line 14
iget v1, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowStyleId:I
if-eq v1, v2, :cond_3
.line 15
iput v2, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowStyleId:I
add-int/lit8 v1, v2, -0x1
.line 16
sget-object v2, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_FILL:[I
aget v2, v2, v1
sget v5, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_TRANSPARENT:I
sget-object v6, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_WORD_WRAP:[Z
aget-boolean v6, v6, v1
const/4 v7, 0x0
sget-object v8, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_PRINT_DIRECTION:[I
aget v8, v8, v1
sget-object v9, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_SCROLL_DIRECTION:[I
aget v9, v9, v1
sget-object v10, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->WINDOW_STYLE_JUSTIFICATION:[I
aget v1, v10, v1
move-object p1, p0
move p2, v2
move p3, v5
move p4, v6
move/from16 p5, v7
move/from16 p6, v8
move/from16 p7, v9
move/from16 p8, v1
invoke-virtual/range {p1 .. p8}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->setWindowAttributes(IIZIIII)V
:cond_3
if-eqz v3, :cond_4
.line 17
iget v1, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->penStyleId:I
if-eq v1, v3, :cond_4
.line 18
iput v3, v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->penStyleId:I
add-int/lit8 v1, v3, -0x1
const/4 v2, 0x0
const/4 v3, 0x1
const/4 v4, 0x1
const/4 v5, 0x0
const/4 v6, 0x0
.line 19
sget-object v7, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_EDGE_TYPE:[I
aget v7, v7, v1
sget-object v8, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_FONT_STYLE:[I
aget v8, v8, v1
move-object p1, p0
move p2, v2
move p3, v3
move p4, v4
move/from16 p5, v5
move/from16 p6, v6
move/from16 p7, v7
move/from16 p8, v8
invoke-virtual/range {p1 .. p8}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->setPenAttributes(IIIZZII)V
.line 20
sget v2, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_WHITE:I
sget-object v3, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->PEN_STYLE_BACKGROUND:[I
aget v1, v3, v1
sget v3, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_BLACK:I
invoke-virtual {p0, v2, v1, v3}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->setPenColor(III)V
:cond_4
return-void
.end method
.method public isDefined()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->defined:Z
return v0
.end method
.method public isEmpty()Z
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->isDefined()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rolledUpCaptions:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {v0}, Landroid/text/SpannableStringBuilder;->length()I
move-result v0
if-nez v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
return v0
.end method
.method public isVisible()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->visible:Z
return v0
.end method
.method public reset()V
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->clear()V
const/4 v0, 0x0
.line 2
iput-boolean v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->defined:Z
.line 3
iput-boolean v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->visible:Z
const/4 v1, 0x4
.line 4
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->priority:I
.line 5
iput-boolean v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->relativePositioning:Z
.line 6
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->verticalAnchor:I
.line 7
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->horizontalAnchor:I
.line 8
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->anchorId:I
const/16 v1, 0xf
.line 9
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowCount:I
const/4 v1, 0x1
.line 10
iput-boolean v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->rowLock:Z
.line 11
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->justification:I
.line 12
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowStyleId:I
.line 13
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->penStyleId:I
.line 14
sget v0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_BLACK:I
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowFillColor:I
.line 15
sget v1, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_WHITE:I
iput v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColor:I
.line 16
iput v0, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColor:I
return-void
.end method
.method public setPenAttributes(IIIZZII)V
.locals 0
.line 1
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
const/16 p2, 0x21
const/4 p3, -0x1
if-eq p1, p3, :cond_0
if-nez p4, :cond_1
.line 2
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
new-instance p4, Landroid/text/style/StyleSpan;
const/4 p6, 0x2
invoke-direct {p4, p6}, Landroid/text/style/StyleSpan;-><init>(I)V
iget p6, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
iget-object p7, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
.line 3
invoke-virtual {p7}, Landroid/text/SpannableStringBuilder;->length()I
move-result p7
.line 4
invoke-virtual {p1, p4, p6, p7, p2}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 5
iput p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
goto :goto_0
:cond_0
if-eqz p4, :cond_1
.line 6
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {p1}, Landroid/text/SpannableStringBuilder;->length()I
move-result p1
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->italicsStartPosition:I
.line 7
:cond_1
:goto_0
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
if-eq p1, p3, :cond_2
if-nez p5, :cond_3
.line 8
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
new-instance p4, Landroid/text/style/UnderlineSpan;
invoke-direct {p4}, Landroid/text/style/UnderlineSpan;-><init>()V
iget p5, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
iget-object p6, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
.line 9
invoke-virtual {p6}, Landroid/text/SpannableStringBuilder;->length()I
move-result p6
.line 10
invoke-virtual {p1, p4, p5, p6, p2}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 11
iput p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
goto :goto_1
:cond_2
if-eqz p5, :cond_3
.line 12
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {p1}, Landroid/text/SpannableStringBuilder;->length()I
move-result p1
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->underlineStartPosition:I
:cond_3
:goto_1
return-void
.end method
.method public setPenColor(III)V
.locals 5
.line 1
iget p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
const/16 v0, 0x21
const/4 v1, -0x1
if-eq p3, v1, :cond_0
.line 2
iget p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColor:I
if-eq p3, p1, :cond_0
.line 3
iget-object p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
new-instance v2, Landroid/text/style/ForegroundColorSpan;
iget v3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColor:I
invoke-direct {v2, v3}, Landroid/text/style/ForegroundColorSpan;-><init>(I)V
iget v3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
iget-object v4, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
.line 4
invoke-virtual {v4}, Landroid/text/SpannableStringBuilder;->length()I
move-result v4
.line 5
invoke-virtual {p3, v2, v3, v4, v0}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 6
:cond_0
sget p3, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_WHITE:I
if-eq p1, p3, :cond_1
.line 7
iget-object p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {p3}, Landroid/text/SpannableStringBuilder;->length()I
move-result p3
iput p3, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColorStartPosition:I
.line 8
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->foregroundColor:I
.line 9
:cond_1
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
if-eq p1, v1, :cond_2
.line 10
iget p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColor:I
if-eq p1, p2, :cond_2
.line 11
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
new-instance p3, Landroid/text/style/BackgroundColorSpan;
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColor:I
invoke-direct {p3, v1}, Landroid/text/style/BackgroundColorSpan;-><init>(I)V
iget v1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
iget-object v2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
.line 12
invoke-virtual {v2}, Landroid/text/SpannableStringBuilder;->length()I
move-result v2
.line 13
invoke-virtual {p1, p3, v1, v2, v0}, Landroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
.line 14
:cond_2
sget p1, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->COLOR_SOLID_BLACK:I
if-eq p2, p1, :cond_3
.line 15
iget-object p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->captionStringBuilder:Landroid/text/SpannableStringBuilder;
invoke-virtual {p1}, Landroid/text/SpannableStringBuilder;->length()I
move-result p1
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColorStartPosition:I
.line 16
iput p2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->backgroundColor:I
:cond_3
return-void
.end method
.method public setPenLocation(II)V
.locals 0
.line 1
iget p2, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->row:I
if-eq p2, p1, :cond_0
const/16 p2, 0xa
.line 2
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->append(C)V
.line 3
:cond_0
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->row:I
return-void
.end method
.method public setVisibility(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->visible:Z
return-void
.end method
.method public setWindowAttributes(IIZIIII)V
.locals 0
.line 1
iput p1, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->windowFillColor:I
.line 2
iput p7, p0, Lcom/google/android/exoplayer2/text/cea/Cea708Decoder$CueBuilder;->justification:I
return-void
.end method