package androidx.media3.ui;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.text.Layout;
import android.text.SpannableStringBuilder;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import androidx.media3.common.text.Cue;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.Log;
import androidx.media3.common.util.Util;

/* JADX INFO: loaded from: classes.dex */
final class SubtitlePainter {
    private static final float INNER_PADDING_RATIO = 0.125f;
    private static final String TAG = "SubtitlePainter";
    private int backgroundColor;
    private final Paint bitmapPaint;
    private Rect bitmapRect;
    private float bottomPaddingFraction;
    private Bitmap cueBitmap;
    private float cueBitmapHeight;
    private float cueLine;
    private int cueLineAnchor;
    private int cueLineType;
    private float cuePosition;
    private int cuePositionAnchor;
    private float cueSize;
    private CharSequence cueText;
    private Layout.Alignment cueTextAlignment;
    private float cueTextSizePx;
    private float defaultTextSizePx;
    private int edgeColor;
    private StaticLayout edgeLayout;
    private int edgeType;
    private int foregroundColor;
    private final float outlineWidth;
    private int parentBottom;
    private int parentLeft;
    private int parentRight;
    private int parentTop;
    private final float shadowOffset;
    private final float shadowRadius;
    private final float spacingAdd;
    private final float spacingMult;
    private StaticLayout textLayout;
    private int textLeft;
    private int textPaddingX;
    private final TextPaint textPaint;
    private int textTop;
    private int windowColor;
    private final Paint windowPaint;

    public SubtitlePainter(Context context) {
        TypedArray typedArrayObtainStyledAttributes = context.obtainStyledAttributes(null, new int[]{android.R.attr.lineSpacingExtra, android.R.attr.lineSpacingMultiplier}, 0, 0);
        this.spacingAdd = typedArrayObtainStyledAttributes.getDimensionPixelSize(0, 0);
        this.spacingMult = typedArrayObtainStyledAttributes.getFloat(1, 1.0f);
        typedArrayObtainStyledAttributes.recycle();
        float fRound = Math.round((context.getResources().getDisplayMetrics().densityDpi * 2.0f) / 160.0f);
        this.outlineWidth = fRound;
        this.shadowRadius = fRound;
        this.shadowOffset = fRound;
        TextPaint textPaint = new TextPaint();
        this.textPaint = textPaint;
        textPaint.setAntiAlias(true);
        textPaint.setSubpixelText(true);
        Paint paint = new Paint();
        this.windowPaint = paint;
        paint.setAntiAlias(true);
        paint.setStyle(Paint.Style.FILL);
        Paint paint2 = new Paint();
        this.bitmapPaint = paint2;
        paint2.setAntiAlias(true);
        paint2.setFilterBitmap(true);
    }

    private static boolean areCharSequencesEqual(CharSequence charSequence, CharSequence charSequence2) {
        if (charSequence != charSequence2) {
            return charSequence != null && charSequence.equals(charSequence2);
        }
        return true;
    }

    private void drawBitmapLayout(Canvas canvas) {
        canvas.drawBitmap(this.cueBitmap, (Rect) null, this.bitmapRect, this.bitmapPaint);
    }

    private void drawLayout(Canvas canvas, boolean z6) {
        if (z6) {
            drawTextLayout(canvas);
            return;
        }
        Assertions.checkNotNull(this.bitmapRect);
        Assertions.checkNotNull(this.cueBitmap);
        drawBitmapLayout(canvas);
    }

    private void drawTextLayout(Canvas canvas) {
        Canvas canvas2;
        StaticLayout staticLayout = this.textLayout;
        StaticLayout staticLayout2 = this.edgeLayout;
        if (staticLayout == null || staticLayout2 == null) {
            return;
        }
        int iSave = canvas.save();
        canvas.translate(this.textLeft, this.textTop);
        if (Color.alpha(this.windowColor) > 0) {
            this.windowPaint.setColor(this.windowColor);
            canvas2 = canvas;
            canvas2.drawRect(-this.textPaddingX, 0.0f, staticLayout.getWidth() + this.textPaddingX, staticLayout.getHeight(), this.windowPaint);
        } else {
            canvas2 = canvas;
        }
        int i6 = this.edgeType;
        if (i6 == 1) {
            this.textPaint.setStrokeJoin(Paint.Join.ROUND);
            this.textPaint.setStrokeWidth(this.outlineWidth);
            this.textPaint.setColor(this.edgeColor);
            this.textPaint.setStyle(Paint.Style.FILL_AND_STROKE);
            staticLayout2.draw(canvas2);
        } else if (i6 == 2) {
            TextPaint textPaint = this.textPaint;
            float f6 = this.shadowRadius;
            float f7 = this.shadowOffset;
            textPaint.setShadowLayer(f6, f7, f7, this.edgeColor);
        } else if (i6 == 3 || i6 == 4) {
            boolean z6 = i6 == 3;
            int i7 = z6 ? -1 : this.edgeColor;
            int i8 = z6 ? this.edgeColor : -1;
            float f8 = this.shadowRadius / 2.0f;
            this.textPaint.setColor(this.foregroundColor);
            this.textPaint.setStyle(Paint.Style.FILL);
            float f9 = -f8;
            this.textPaint.setShadowLayer(this.shadowRadius, f9, f9, i7);
            staticLayout2.draw(canvas2);
            this.textPaint.setShadowLayer(this.shadowRadius, f8, f8, i8);
        }
        this.textPaint.setColor(this.foregroundColor);
        this.textPaint.setStyle(Paint.Style.FILL);
        staticLayout.draw(canvas2);
        this.textPaint.setShadowLayer(0.0f, 0.0f, 0.0f, 0);
        canvas2.restoreToCount(iSave);
    }

    /* JADX WARN: Removed duplicated region for block: B:14:0x0056  */
    /* JADX WARN: Removed duplicated region for block: B:16:0x0059  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    private void setupBitmapLayout() {
        int iRound;
        float f6;
        int i6;
        float f7;
        Bitmap bitmap = this.cueBitmap;
        int i7 = this.parentRight;
        int i8 = this.parentLeft;
        int i9 = this.parentBottom;
        int i10 = this.parentTop;
        float f8 = i7 - i8;
        float f9 = (this.cuePosition * f8) + i8;
        float f10 = i9 - i10;
        float f11 = (this.cueLine * f10) + i10;
        int iRound2 = Math.round(f8 * this.cueSize);
        float f12 = this.cueBitmapHeight;
        if (f12 != -3.4028235E38f) {
            iRound = Math.round(f10 * f12);
        } else {
            iRound = Math.round((bitmap.getHeight() / bitmap.getWidth()) * iRound2);
        }
        int i11 = this.cuePositionAnchor;
        if (i11 != 2) {
            if (i11 == 1) {
                f6 = iRound2 / 2;
            }
            int iRound3 = Math.round(f9);
            i6 = this.cueLineAnchor;
            if (i6 == 2) {
                if (i6 == 1) {
                    f7 = iRound / 2;
                }
                int iRound4 = Math.round(f11);
                this.bitmapRect = new Rect(iRound3, iRound4, iRound2 + iRound3, iRound + iRound4);
            }
            f7 = iRound;
            f11 -= f7;
            int iRound42 = Math.round(f11);
            this.bitmapRect = new Rect(iRound3, iRound42, iRound2 + iRound3, iRound + iRound42);
        }
        f6 = iRound2;
        f9 -= f6;
        int iRound32 = Math.round(f9);
        i6 = this.cueLineAnchor;
        if (i6 == 2) {
        }
        f11 -= f7;
        int iRound422 = Math.round(f11);
        this.bitmapRect = new Rect(iRound32, iRound422, iRound2 + iRound32, iRound + iRound422);
    }

    /* JADX WARN: Removed duplicated region for block: B:72:0x019a  */
    /* JADX WARN: Removed duplicated region for block: B:73:0x019d  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    private void setupTextLayout() {
        int iMax;
        int iMin;
        int iRound;
        int i6;
        int i7;
        CharSequence charSequence = this.cueText;
        SpannableStringBuilder spannableStringBuilder = charSequence instanceof SpannableStringBuilder ? (SpannableStringBuilder) charSequence : new SpannableStringBuilder(this.cueText);
        int i8 = this.parentRight - this.parentLeft;
        int i9 = this.parentBottom - this.parentTop;
        this.textPaint.setTextSize(this.defaultTextSizePx);
        int i10 = (int) ((this.defaultTextSizePx * INNER_PADDING_RATIO) + 0.5f);
        int i11 = i10 * 2;
        int i12 = i8 - i11;
        float f6 = this.cueSize;
        float f7 = -3.4028235E38f;
        if (f6 != -3.4028235E38f) {
            i12 = (int) (i12 * f6);
        }
        int i13 = i12;
        String str = TAG;
        if (i13 <= 0) {
            Log.w(TAG, "Skipped drawing subtitle cue (insufficient space)");
            return;
        }
        if (this.cueTextSizePx > 0.0f) {
            spannableStringBuilder.setSpan(new AbsoluteSizeSpan((int) this.cueTextSizePx), 0, spannableStringBuilder.length(), 16711680);
        }
        SpannableStringBuilder spannableStringBuilder2 = new SpannableStringBuilder(spannableStringBuilder);
        if (this.edgeType == 1) {
            ForegroundColorSpan[] foregroundColorSpanArr = (ForegroundColorSpan[]) spannableStringBuilder2.getSpans(0, spannableStringBuilder2.length(), ForegroundColorSpan.class);
            int length = foregroundColorSpanArr.length;
            int i14 = 0;
            while (i14 < length) {
                spannableStringBuilder2.removeSpan(foregroundColorSpanArr[i14]);
                i14++;
                f7 = f7;
            }
        }
        float f8 = f7;
        if (Color.alpha(this.backgroundColor) > 0) {
            int i15 = this.edgeType;
            if (i15 == 0 || i15 == 2) {
                spannableStringBuilder.setSpan(new BackgroundColorSpan(this.backgroundColor), 0, spannableStringBuilder.length(), 16711680);
            } else {
                spannableStringBuilder2.setSpan(new BackgroundColorSpan(this.backgroundColor), 0, spannableStringBuilder2.length(), 16711680);
            }
        }
        Layout.Alignment alignment = this.cueTextAlignment;
        if (alignment == null) {
            alignment = Layout.Alignment.ALIGN_CENTER;
        }
        Layout.Alignment alignment2 = alignment;
        StaticLayout staticLayout = new StaticLayout(spannableStringBuilder, this.textPaint, i13, alignment2, this.spacingMult, this.spacingAdd, true);
        this.textLayout = staticLayout;
        int height = staticLayout.getHeight();
        int lineCount = this.textLayout.getLineCount();
        int iMax2 = 0;
        int i16 = 0;
        while (i16 < lineCount) {
            iMax2 = Math.max((int) Math.ceil(this.textLayout.getLineWidth(i16)), iMax2);
            i16++;
            str = str;
        }
        String str2 = str;
        if (this.cueSize == f8 || iMax2 >= i13) {
            i13 = iMax2;
        }
        int i17 = i13 + i11;
        float f9 = this.cuePosition;
        if (f9 != f8) {
            int iRound2 = Math.round(i8 * f9);
            int i18 = this.parentLeft;
            int i19 = iRound2 + i18;
            int i20 = this.cuePositionAnchor;
            if (i20 == 1) {
                i19 = ((i19 * 2) - i17) / 2;
            } else if (i20 == 2) {
                i19 -= i17;
            }
            iMax = Math.max(i19, i18);
            iMin = Math.min(i17 + iMax, this.parentRight);
        } else {
            iMax = ((i8 - i17) / 2) + this.parentLeft;
            iMin = iMax + i17;
        }
        int i21 = iMin - iMax;
        if (i21 <= 0) {
            Log.w(str2, "Skipped drawing subtitle cue (invalid horizontal positioning)");
            return;
        }
        float f10 = this.cueLine;
        if (f10 == f8) {
            iRound = (this.parentBottom - height) - ((int) (i9 * this.bottomPaddingFraction));
        } else if (this.cueLineType == 0) {
            iRound = Math.round(i9 * f10) + this.parentTop;
            int i22 = this.cueLineAnchor;
            if (i22 == 2) {
                iRound -= height;
            } else if (i22 == 1) {
                iRound = ((iRound * 2) - height) / 2;
            }
            i6 = iRound + height;
            i7 = this.parentBottom;
            if (i6 > i7) {
                iRound = i7 - height;
            } else {
                int i23 = this.parentTop;
                if (iRound < i23) {
                    iRound = i23;
                }
            }
        } else {
            int lineBottom = this.textLayout.getLineBottom(0) - this.textLayout.getLineTop(0);
            float f11 = this.cueLine;
            if (f11 >= 0.0f) {
                iRound = Math.round(f11 * lineBottom) + this.parentTop;
                i6 = iRound + height;
                i7 = this.parentBottom;
                if (i6 > i7) {
                }
            } else {
                iRound = Math.round((f11 + 1.0f) * lineBottom) + this.parentBottom;
                iRound -= height;
                i6 = iRound + height;
                i7 = this.parentBottom;
                if (i6 > i7) {
                }
            }
        }
        this.textLayout = new StaticLayout(spannableStringBuilder, this.textPaint, i21, alignment2, this.spacingMult, this.spacingAdd, true);
        this.edgeLayout = new StaticLayout(spannableStringBuilder2, this.textPaint, i21, alignment2, this.spacingMult, this.spacingAdd, true);
        this.textLeft = iMax;
        this.textTop = iRound;
        this.textPaddingX = i10;
    }

    public void draw(Cue cue, CaptionStyleCompat captionStyleCompat, float f6, float f7, float f8, Canvas canvas, int i6, int i7, int i8, int i9) {
        int i10;
        boolean z6 = cue.bitmap == null;
        if (!z6) {
            i10 = -16777216;
        } else if (TextUtils.isEmpty(cue.text)) {
            return;
        } else {
            i10 = cue.windowColorSet ? cue.windowColor : captionStyleCompat.windowColor;
        }
        if (areCharSequencesEqual(this.cueText, cue.text) && Util.areEqual(this.cueTextAlignment, cue.textAlignment) && this.cueBitmap == cue.bitmap && this.cueLine == cue.line && this.cueLineType == cue.lineType && Util.areEqual(Integer.valueOf(this.cueLineAnchor), Integer.valueOf(cue.lineAnchor)) && this.cuePosition == cue.position && Util.areEqual(Integer.valueOf(this.cuePositionAnchor), Integer.valueOf(cue.positionAnchor)) && this.cueSize == cue.size && this.cueBitmapHeight == cue.bitmapHeight && this.foregroundColor == captionStyleCompat.foregroundColor && this.backgroundColor == captionStyleCompat.backgroundColor && this.windowColor == i10 && this.edgeType == captionStyleCompat.edgeType && this.edgeColor == captionStyleCompat.edgeColor && Util.areEqual(this.textPaint.getTypeface(), captionStyleCompat.typeface) && this.defaultTextSizePx == f6 && this.cueTextSizePx == f7 && this.bottomPaddingFraction == f8 && this.parentLeft == i6 && this.parentTop == i7 && this.parentRight == i8 && this.parentBottom == i9) {
            drawLayout(canvas, z6);
            return;
        }
        this.cueText = cue.text;
        this.cueTextAlignment = cue.textAlignment;
        this.cueBitmap = cue.bitmap;
        this.cueLine = cue.line;
        this.cueLineType = cue.lineType;
        this.cueLineAnchor = cue.lineAnchor;
        this.cuePosition = cue.position;
        this.cuePositionAnchor = cue.positionAnchor;
        this.cueSize = cue.size;
        this.cueBitmapHeight = cue.bitmapHeight;
        this.foregroundColor = captionStyleCompat.foregroundColor;
        this.backgroundColor = captionStyleCompat.backgroundColor;
        this.windowColor = i10;
        this.edgeType = captionStyleCompat.edgeType;
        this.edgeColor = captionStyleCompat.edgeColor;
        this.textPaint.setTypeface(captionStyleCompat.typeface);
        this.defaultTextSizePx = f6;
        this.cueTextSizePx = f7;
        this.bottomPaddingFraction = f8;
        this.parentLeft = i6;
        this.parentTop = i7;
        this.parentRight = i8;
        this.parentBottom = i9;
        if (z6) {
            Assertions.checkNotNull(this.cueText);
            setupTextLayout();
        } else {
            Assertions.checkNotNull(this.cueBitmap);
            setupBitmapLayout();
        }
        drawLayout(canvas, z6);
    }
}
