SubtitlePainter.smali
.class final Lcom/google/android/exoplayer2/ui/SubtitlePainter;
.super Ljava/lang/Object;
.source "SubtitlePainter.java"
# static fields
.field private static final INNER_PADDING_RATIO:F = 0.125f
.field private static final TAG:Ljava/lang/String; = "SubtitlePainter"
# instance fields
.field private applyEmbeddedStyles:Z
.field private backgroundColor:I
.field private bottomPaddingFraction:F
.field private final cornerRadius:F
.field private cueLine:F
.field private cueLineAnchor:I
.field private cueLineType:I
.field private cuePosition:F
.field private cuePositionAnchor:I
.field private cueSize:F
.field private cueText:Ljava/lang/CharSequence;
.field private cueTextAlignment:Landroid/text/Layout$Alignment;
.field private edgeColor:I
.field private edgeType:I
.field private foregroundColor:I
.field private final lineBounds:Landroid/graphics/RectF;
.field private final outlineWidth:F
.field private final paint:Landroid/graphics/Paint;
.field private parentBottom:I
.field private parentLeft:I
.field private parentRight:I
.field private parentTop:I
.field private final shadowOffset:F
.field private final shadowRadius:F
.field private final spacingAdd:F
.field private final spacingMult:F
.field private textLayout:Landroid/text/StaticLayout;
.field private textLeft:I
.field private textPaddingX:I
.field private final textPaint:Landroid/text/TextPaint;
.field private textSizePx:F
.field private textTop:I
.field private windowColor:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 5
.line 98
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 52
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
const/4 v0, 0x2
new-array v0, v0, [I
.line 99
fill-array-data v0, :array_6a
const/4 v1, 0x0
const/4 v2, 0x0
.line 100
invoke-virtual {p1, v1, v0, v2, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v0
.line 101
invoke-virtual {v0, v2, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result v1
int-to-float v1, v1
iput v1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingAdd:F
const/4 v1, 0x1
const/high16 v2, 0x3f800000 # 1.0f
.line 102
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F
move-result v2
iput v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingMult:F
.line 103
invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
.line 105
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
.line 106
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
.line 107
iget p1, p1, Landroid/util/DisplayMetrics;->densityDpi:I
int-to-float p1, p1
const/high16 v0, 0x40000000 # 2.0f
mul-float p1, p1, v0
const/high16 v0, 0x43200000 # 160.0f
div-float/2addr p1, v0
invoke-static {p1}, Ljava/lang/Math;->round(F)I
move-result p1
int-to-float p1, p1
.line 108
iput p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cornerRadius:F
.line 109
iput p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->outlineWidth:F
.line 110
iput p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowRadius:F
.line 111
iput p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowOffset:F
.line 113
new-instance p1, Landroid/text/TextPaint;
invoke-direct {p1}, Landroid/text/TextPaint;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
.line 114
invoke-virtual {p1, v1}, Landroid/text/TextPaint;->setAntiAlias(Z)V
.line 115
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
invoke-virtual {p1, v1}, Landroid/text/TextPaint;->setSubpixelText(Z)V
.line 117
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
.line 118
invoke-virtual {p1, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 119
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
sget-object v0, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
return-void
nop
:array_6a
.array-data 4
0x1010217
0x1010218
.end array-data
.end method
.method private static areCharSequencesEqual(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
.registers 2
if-eq p0, p1, :cond_d
if-eqz p0, :cond_b
.line 358
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b
goto :goto_d
:cond_b
const/4 p0, 0x0
goto :goto_e
:cond_d
:goto_d
const/4 p0, 0x1
:goto_e
return p0
.end method
.method private drawLayout(Landroid/graphics/Canvas;)V
.registers 11
.line 292
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
if-nez v0, :cond_5
return-void
.line 298
:cond_5
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v1
.line 299
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLeft:I
int-to-float v2, v2
iget v3, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textTop:I
int-to-float v3, v3
invoke-virtual {p1, v2, v3}, Landroid/graphics/Canvas;->translate(FF)V
.line 301
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->windowColor:I
invoke-static {v2}, Landroid/graphics/Color;->alpha(I)I
move-result v2
if-lez v2, :cond_39
.line 302
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
iget v3, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->windowColor:I
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V
.line 303
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaddingX:I
neg-int v2, v2
int-to-float v4, v2
const/4 v5, 0x0
invoke-virtual {v0}, Landroid/text/StaticLayout;->getWidth()I
move-result v2
iget v3, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaddingX:I
add-int/2addr v2, v3
int-to-float v6, v2
invoke-virtual {v0}, Landroid/text/StaticLayout;->getHeight()I
move-result v2
int-to-float v7, v2
iget-object v8, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
move-object v3, p1
invoke-virtual/range {v3 .. v8}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 307
:cond_39
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->backgroundColor:I
invoke-static {v2}, Landroid/graphics/Color;->alpha(I)I
move-result v2
const/4 v3, 0x0
if-lez v2, :cond_8a
.line 308
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->backgroundColor:I
invoke-virtual {v2, v4}, Landroid/graphics/Paint;->setColor(I)V
.line 309
invoke-virtual {v0, v3}, Landroid/text/StaticLayout;->getLineTop(I)I
move-result v2
int-to-float v2, v2
.line 310
invoke-virtual {v0}, Landroid/text/StaticLayout;->getLineCount()I
move-result v4
const/4 v5, 0x0
:goto_53
if-ge v5, v4, :cond_8a
.line 312
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
invoke-virtual {v0, v5}, Landroid/text/StaticLayout;->getLineLeft(I)F
move-result v7
iget v8, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaddingX:I
int-to-float v8, v8
sub-float/2addr v7, v8
iput v7, v6, Landroid/graphics/RectF;->left:F
.line 313
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
invoke-virtual {v0, v5}, Landroid/text/StaticLayout;->getLineRight(I)F
move-result v7
iget v8, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaddingX:I
int-to-float v8, v8
add-float/2addr v7, v8
iput v7, v6, Landroid/graphics/RectF;->right:F
.line 314
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
iput v2, v6, Landroid/graphics/RectF;->top:F
.line 315
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
invoke-virtual {v0, v5}, Landroid/text/StaticLayout;->getLineBottom(I)I
move-result v6
int-to-float v6, v6
iput v6, v2, Landroid/graphics/RectF;->bottom:F
.line 316
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->bottom:F
.line 317
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->lineBounds:Landroid/graphics/RectF;
iget v7, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cornerRadius:F
iget-object v8, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v6, v7, v7, v8}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
add-int/lit8 v5, v5, 0x1
goto :goto_53
.line 321
:cond_8a
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeType:I
const/4 v4, 0x1
if-ne v2, v4, :cond_af
.line 322
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
sget-object v4, Landroid/graphics/Paint$Join;->ROUND:Landroid/graphics/Paint$Join;
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V
.line 323
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->outlineWidth:F
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setStrokeWidth(F)V
.line 324
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setColor(I)V
.line 325
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
sget-object v4, Landroid/graphics/Paint$Style;->FILL_AND_STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 326
invoke-virtual {v0, p1}, Landroid/text/StaticLayout;->draw(Landroid/graphics/Canvas;)V
goto :goto_fa
:cond_af
const/4 v5, 0x2
if-ne v2, v5, :cond_be
.line 328
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowRadius:F
iget v5, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowOffset:F
iget v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
invoke-virtual {v2, v4, v5, v5, v6}, Landroid/text/TextPaint;->setShadowLayer(FFFI)V
goto :goto_fa
:cond_be
const/4 v5, 0x3
if-eq v2, v5, :cond_c4
const/4 v6, 0x4
if-ne v2, v6, :cond_fa
.line 331
:cond_c4
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeType:I
if-ne v2, v5, :cond_c9
goto :goto_ca
:cond_c9
const/4 v4, 0x0
:goto_ca
const/4 v2, -0x1
if-eqz v4, :cond_cf
const/4 v5, -0x1
goto :goto_d1
.line 332
:cond_cf
iget v5, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
:goto_d1
if-eqz v4, :cond_d5
.line 333
iget v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
.line 334
:cond_d5
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowRadius:F
const/high16 v6, 0x40000000 # 2.0f
div-float/2addr v4, v6
.line 335
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v7, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->foregroundColor:I
invoke-virtual {v6, v7}, Landroid/text/TextPaint;->setColor(I)V
.line 336
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
sget-object v7, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v6, v7}, Landroid/text/TextPaint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 337
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v7, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowRadius:F
neg-float v8, v4
invoke-virtual {v6, v7, v8, v8, v5}, Landroid/text/TextPaint;->setShadowLayer(FFFI)V
.line 338
invoke-virtual {v0, p1}, Landroid/text/StaticLayout;->draw(Landroid/graphics/Canvas;)V
.line 339
iget-object v5, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v6, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->shadowRadius:F
invoke-virtual {v5, v6, v4, v4, v2}, Landroid/text/TextPaint;->setShadowLayer(FFFI)V
.line 342
:cond_fa
:goto_fa
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v4, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->foregroundColor:I
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setColor(I)V
.line 343
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
sget-object v4, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v2, v4}, Landroid/text/TextPaint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 344
invoke-virtual {v0, p1}, Landroid/text/StaticLayout;->draw(Landroid/graphics/Canvas;)V
.line 345
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
const/4 v2, 0x0
invoke-virtual {v0, v2, v2, v2, v3}, Landroid/text/TextPaint;->setShadowLayer(FFFI)V
.line 347
invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V
return-void
.end method
# virtual methods
.method public draw(Lcom/google/android/exoplayer2/text/Cue;ZLcom/google/android/exoplayer2/text/CaptionStyleCompat;FFLandroid/graphics/Canvas;IIII)V
.registers 32
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p2
move-object/from16 v3, p3
move/from16 v4, p4
move/from16 v5, p5
move-object/from16 v6, p6
move/from16 v7, p7
move/from16 v8, p8
move/from16 v9, p9
move/from16 v10, p10
.line 144
iget-object v11, v1, Lcom/google/android/exoplayer2/text/Cue;->text:Ljava/lang/CharSequence;
.line 145
invoke-static {v11}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v12
if-eqz v12, :cond_1f
return-void
.line 150
:cond_1f
iget-boolean v12, v1, Lcom/google/android/exoplayer2/text/Cue;->windowColorSet:Z
if-eqz v12, :cond_26
iget v12, v1, Lcom/google/android/exoplayer2/text/Cue;->windowColor:I
goto :goto_28
:cond_26
iget v12, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->windowColor:I
:goto_28
if-nez v2, :cond_30
.line 154
invoke-interface {v11}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v11
.line 155
iget v12, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->windowColor:I
.line 157
:cond_30
iget-object v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueText:Ljava/lang/CharSequence;
invoke-static {v13, v11}, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->areCharSequencesEqual(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v13
if-eqz v13, :cond_d2
iget-object v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueTextAlignment:Landroid/text/Layout$Alignment;
iget-object v14, v1, Lcom/google/android/exoplayer2/text/Cue;->textAlignment:Landroid/text/Layout$Alignment;
.line 158
invoke-static {v13, v14}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLine:F
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->line:F
cmpl-float v13, v13, v14
if-nez v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineType:I
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->lineType:I
if-ne v13, v14, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineAnchor:I
.line 161
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v13
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->lineAnchor:I
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
invoke-static {v13, v14}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePosition:F
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->position:F
cmpl-float v13, v13, v14
if-nez v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePositionAnchor:I
.line 163
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v13
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->positionAnchor:I
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
invoke-static {v13, v14}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueSize:F
iget v14, v1, Lcom/google/android/exoplayer2/text/Cue;->size:F
cmpl-float v13, v13, v14
if-nez v13, :cond_d2
iget-boolean v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->applyEmbeddedStyles:Z
if-ne v13, v2, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->foregroundColor:I
iget v14, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->foregroundColor:I
if-ne v13, v14, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->backgroundColor:I
iget v14, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->backgroundColor:I
if-ne v13, v14, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->windowColor:I
if-ne v13, v12, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeType:I
iget v14, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->edgeType:I
if-ne v13, v14, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
iget v14, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->edgeColor:I
if-ne v13, v14, :cond_d2
iget-object v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
.line 171
invoke-virtual {v13}, Landroid/text/TextPaint;->getTypeface()Landroid/graphics/Typeface;
move-result-object v13
iget-object v14, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->typeface:Landroid/graphics/Typeface;
invoke-static {v13, v14}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textSizePx:F
cmpl-float v13, v13, v4
if-nez v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->bottomPaddingFraction:F
cmpl-float v13, v13, v5
if-nez v13, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentLeft:I
if-ne v13, v7, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentTop:I
if-ne v13, v8, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentRight:I
if-ne v13, v9, :cond_d2
iget v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentBottom:I
if-ne v13, v10, :cond_d2
.line 179
invoke-direct {v0, v6}, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->drawLayout(Landroid/graphics/Canvas;)V
return-void
.line 183
:cond_d2
iput-object v11, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueText:Ljava/lang/CharSequence;
.line 184
iget-object v13, v1, Lcom/google/android/exoplayer2/text/Cue;->textAlignment:Landroid/text/Layout$Alignment;
iput-object v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueTextAlignment:Landroid/text/Layout$Alignment;
.line 185
iget v13, v1, Lcom/google/android/exoplayer2/text/Cue;->line:F
iput v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLine:F
.line 186
iget v13, v1, Lcom/google/android/exoplayer2/text/Cue;->lineType:I
iput v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineType:I
.line 187
iget v13, v1, Lcom/google/android/exoplayer2/text/Cue;->lineAnchor:I
iput v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineAnchor:I
.line 188
iget v13, v1, Lcom/google/android/exoplayer2/text/Cue;->position:F
iput v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePosition:F
.line 189
iget v13, v1, Lcom/google/android/exoplayer2/text/Cue;->positionAnchor:I
iput v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePositionAnchor:I
.line 190
iget v1, v1, Lcom/google/android/exoplayer2/text/Cue;->size:F
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueSize:F
.line 191
iput-boolean v2, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->applyEmbeddedStyles:Z
.line 192
iget v1, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->foregroundColor:I
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->foregroundColor:I
.line 193
iget v1, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->backgroundColor:I
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->backgroundColor:I
.line 194
iput v12, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->windowColor:I
.line 195
iget v1, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->edgeType:I
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeType:I
.line 196
iget v1, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->edgeColor:I
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->edgeColor:I
.line 197
iget-object v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget-object v2, v3, Lcom/google/android/exoplayer2/text/CaptionStyleCompat;->typeface:Landroid/graphics/Typeface;
invoke-virtual {v1, v2}, Landroid/text/TextPaint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
.line 198
iput v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textSizePx:F
.line 199
iput v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->bottomPaddingFraction:F
.line 200
iput v7, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentLeft:I
.line 201
iput v8, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentTop:I
.line 202
iput v9, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentRight:I
.line 203
iput v10, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentBottom:I
sub-int v1, v9, v7
sub-int v2, v10, v8
.line 208
iget-object v3, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
invoke-virtual {v3, v4}, Landroid/text/TextPaint;->setTextSize(F)V
const/high16 v3, 0x3e000000 # 0.125f
mul-float v3, v3, v4
const/high16 v4, 0x3f000000 # 0.5f
add-float/2addr v3, v4
float-to-int v3, v3
mul-int/lit8 v4, v3, 0x2
sub-int v7, v1, v4
.line 212
iget v8, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueSize:F
const/4 v9, 0x1
cmpl-float v10, v8, v9
if-eqz v10, :cond_137
int-to-float v7, v7
mul-float v7, v7, v8
float-to-int v7, v7
:cond_137
if-gtz v7, :cond_141
const-string v1, "SubtitlePainter"
const-string v2, "Skipped drawing subtitle cue (insufficient space)"
.line 216
invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 220
:cond_141
iget-object v8, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueTextAlignment:Landroid/text/Layout$Alignment;
if-nez v8, :cond_147
sget-object v8, Landroid/text/Layout$Alignment;->ALIGN_CENTER:Landroid/text/Layout$Alignment;
.line 221
:cond_147
new-instance v10, Landroid/text/StaticLayout;
iget-object v15, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v12, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingMult:F
iget v14, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingAdd:F
const/16 v20, 0x1
move-object v13, v10
move/from16 v19, v14
move-object v14, v11
move/from16 v16, v7
move-object/from16 v17, v8
move/from16 v18, v12
invoke-direct/range {v13 .. v20}, Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
iput-object v10, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
.line 223
invoke-virtual {v10}, Landroid/text/StaticLayout;->getHeight()I
move-result v10
.line 225
iget-object v12, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
invoke-virtual {v12}, Landroid/text/StaticLayout;->getLineCount()I
move-result v12
const/4 v14, 0x0
const/4 v15, 0x0
:goto_16c
if-ge v14, v12, :cond_186
.line 227
iget-object v13, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
invoke-virtual {v13, v14}, Landroid/text/StaticLayout;->getLineWidth(I)F
move-result v13
move/from16 p3, v10
float-to-double v9, v13
invoke-static {v9, v10}, Ljava/lang/Math;->ceil(D)D
move-result-wide v9
double-to-int v9, v9
invoke-static {v9, v15}, Ljava/lang/Math;->max(II)I
move-result v15
add-int/lit8 v14, v14, 0x1
move/from16 v10, p3
const/4 v9, 0x1
goto :goto_16c
:cond_186
move/from16 p3, v10
.line 229
iget v9, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueSize:F
const/4 v10, 0x1
cmpl-float v9, v9, v10
if-eqz v9, :cond_192
if-ge v15, v7, :cond_192
goto :goto_193
:cond_192
move v7, v15
:goto_193
add-int/2addr v7, v4
.line 236
iget v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePosition:F
const/4 v9, 0x1
const/4 v12, 0x2
cmpl-float v13, v4, v10
if-eqz v13, :cond_1c0
int-to-float v1, v1
mul-float v1, v1, v4
.line 237
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result v1
iget v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentLeft:I
add-int/2addr v1, v4
.line 238
iget v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cuePositionAnchor:I
if-ne v4, v12, :cond_1ac
sub-int/2addr v1, v7
goto :goto_1b2
:cond_1ac
if-ne v4, v9, :cond_1b2
mul-int/lit8 v1, v1, 0x2
sub-int/2addr v1, v7
div-int/2addr v1, v12
.line 241
:cond_1b2
:goto_1b2
iget v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentLeft:I
invoke-static {v1, v4}, Ljava/lang/Math;->max(II)I
move-result v1
add-int/2addr v7, v1
.line 242
iget v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentRight:I
invoke-static {v7, v4}, Ljava/lang/Math;->min(II)I
move-result v4
goto :goto_1c4
:cond_1c0
sub-int/2addr v1, v7
.line 244
div-int/2addr v1, v12
add-int v4, v1, v7
.line 249
:goto_1c4
iget v7, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLine:F
const/4 v10, 0x1
cmpl-float v10, v7, v10
if-eqz v10, :cond_223
.line 251
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineType:I
if-nez v5, :cond_1da
int-to-float v2, v2
mul-float v2, v2, v7
.line 252
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v2
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentTop:I
:goto_1d8
add-int/2addr v2, v5
goto :goto_206
.line 255
:cond_1da
iget-object v2, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
const/4 v5, 0x0
invoke-virtual {v2, v5}, Landroid/text/StaticLayout;->getLineBottom(I)I
move-result v2
iget-object v7, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
invoke-virtual {v7, v5}, Landroid/text/StaticLayout;->getLineTop(I)I
move-result v5
sub-int/2addr v2, v5
.line 256
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLine:F
const/4 v7, 0x0
cmpl-float v7, v5, v7
if-ltz v7, :cond_1f9
int-to-float v2, v2
mul-float v5, v5, v2
.line 257
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v2
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentTop:I
goto :goto_1d8
:cond_1f9
const/high16 v7, 0x3f800000 # 1.0f
add-float/2addr v5, v7
int-to-float v2, v2
mul-float v5, v5, v2
.line 259
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v2
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentBottom:I
goto :goto_1d8
.line 262
:goto_206
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->cueLineAnchor:I
if-ne v5, v12, :cond_20d
sub-int v2, v2, p3
goto :goto_214
:cond_20d
if-ne v5, v9, :cond_214
mul-int/lit8 v2, v2, 0x2
sub-int v2, v2, p3
div-int/2addr v2, v12
:cond_214
:goto_214
add-int v10, v2, p3
.line 265
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentBottom:I
if-le v10, v5, :cond_21d
sub-int v2, v5, p3
goto :goto_22d
.line 267
:cond_21d
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentTop:I
if-ge v2, v5, :cond_22d
move v2, v5
goto :goto_22d
.line 271
:cond_223
iget v7, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->parentBottom:I
sub-int v7, v7, p3
int-to-float v2, v2
mul-float v2, v2, v5
float-to-int v2, v2
sub-int v2, v7, v2
:cond_22d
:goto_22d
sub-int v16, v4, v1
.line 277
new-instance v4, Landroid/text/StaticLayout;
iget-object v15, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaint:Landroid/text/TextPaint;
iget v5, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingMult:F
iget v7, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->spacingAdd:F
const/16 v20, 0x1
move-object v13, v4
move-object v14, v11
move-object/from16 v17, v8
move/from16 v18, v5
move/from16 v19, v7
invoke-direct/range {v13 .. v20}, Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
iput-object v4, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLayout:Landroid/text/StaticLayout;
.line 279
iput v1, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textLeft:I
.line 280
iput v2, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textTop:I
.line 281
iput v3, v0, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->textPaddingX:I
.line 283
invoke-direct {v0, v6}, Lcom/google/android/exoplayer2/ui/SubtitlePainter;->drawLayout(Landroid/graphics/Canvas;)V
return-void
.end method