package U0;

import B.C0053c;
import T0.C0606q;
import a1.AbstractC0958a;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Build;
import android.text.Layout;
import android.text.Spanned;
import android.text.StaticLayout;
import android.text.TextDirectionHeuristic;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.style.MetricAffectingSpan;
import java.text.Bidi;

/* JADX INFO: loaded from: classes.dex */
public abstract class h {
    public static StaticLayout a(CharSequence charSequence, TextPaint textPaint, int i6, int i7, TextDirectionHeuristic textDirectionHeuristic, Layout.Alignment alignment, int i8, TextUtils.TruncateAt truncateAt, int i9, int i10, boolean z6, int i11, int i12, int i13, int i14) {
        if (i7 < 0) {
            AbstractC0958a.a("invalid start value");
        }
        int length = charSequence.length();
        if (i7 < 0 || i7 > length) {
            AbstractC0958a.a("invalid end value");
        }
        if (i8 < 0) {
            AbstractC0958a.a("invalid maxLines value");
        }
        if (i6 < 0) {
            AbstractC0958a.a("invalid width value");
        }
        if (i9 < 0) {
            AbstractC0958a.a("invalid ellipsizedWidth value");
        }
        StaticLayout.Builder builderObtain = StaticLayout.Builder.obtain(charSequence, 0, i7, textPaint, i6);
        builderObtain.setTextDirection(textDirectionHeuristic);
        builderObtain.setAlignment(alignment);
        builderObtain.setMaxLines(i8);
        builderObtain.setEllipsize(truncateAt);
        builderObtain.setEllipsizedWidth(i9);
        builderObtain.setLineSpacing(0.0f, 1.0f);
        builderObtain.setIncludePad(z6);
        builderObtain.setBreakStrategy(i11);
        builderObtain.setHyphenationFrequency(i14);
        builderObtain.setIndents(null, null);
        int i15 = Build.VERSION.SDK_INT;
        if (i15 >= 26) {
            builderObtain.setJustificationMode(i10);
        }
        if (i15 >= 28) {
            builderObtain.setUseLineSpacingFromFallbacks(true);
        }
        if (i15 >= 33) {
            builderObtain.setLineBreakConfig(G1.e.e().setLineBreakStyle(i12).setLineBreakWordStyle(i13).build());
        }
        if (i15 >= 35) {
            builderObtain.setUseBoundsForWidth(false);
        }
        return builderObtain.build();
    }

    public static final Rect b(TextPaint textPaint, CharSequence charSequence, int i6, int i7) {
        int i8 = i6;
        if (charSequence instanceof Spanned) {
            Spanned spanned = (Spanned) charSequence;
            if (spanned.nextSpanTransition(i8 - 1, i7, MetricAffectingSpan.class) != i7) {
                Rect rect = new Rect();
                Rect rect2 = new Rect();
                TextPaint textPaint2 = new TextPaint();
                while (i8 < i7) {
                    int iNextSpanTransition = spanned.nextSpanTransition(i8, i7, MetricAffectingSpan.class);
                    MetricAffectingSpan[] metricAffectingSpanArr = (MetricAffectingSpan[]) spanned.getSpans(i8, iNextSpanTransition, MetricAffectingSpan.class);
                    textPaint2.set(textPaint);
                    for (MetricAffectingSpan metricAffectingSpan : metricAffectingSpanArr) {
                        if (spanned.getSpanStart(metricAffectingSpan) != spanned.getSpanEnd(metricAffectingSpan)) {
                            metricAffectingSpan.updateMeasureState(textPaint2);
                        }
                    }
                    if (Build.VERSION.SDK_INT >= 29) {
                        textPaint2.getTextBounds(charSequence, i8, iNextSpanTransition, rect2);
                    } else {
                        textPaint2.getTextBounds(charSequence.toString(), i8, iNextSpanTransition, rect2);
                    }
                    rect.right = rect2.width() + rect.right;
                    rect.top = Math.min(rect.top, rect2.top);
                    rect.bottom = Math.max(rect.bottom, rect2.bottom);
                    i8 = iNextSpanTransition;
                }
                return rect;
            }
        }
        Rect rect3 = new Rect();
        if (Build.VERSION.SDK_INT >= 29) {
            textPaint.getTextBounds(charSequence, i8, i7, rect3);
            return rect3;
        }
        textPaint.getTextBounds(charSequence.toString(), i8, i7, rect3);
        return rect3;
    }

    public static final float c(int i6, int i7, float[] fArr) {
        return fArr[((i6 - i7) * 2) + 1];
    }

    public static final int d(Layout layout, int i6, boolean z6) {
        if (i6 <= 0) {
            return 0;
        }
        if (i6 >= layout.getText().length()) {
            return layout.getLineCount() - 1;
        }
        int lineForOffset = layout.getLineForOffset(i6);
        int lineStart = layout.getLineStart(lineForOffset);
        int lineEnd = layout.getLineEnd(lineForOffset);
        if (lineStart == i6 || lineEnd == i6) {
            if (lineStart == i6) {
                if (z6) {
                    return lineForOffset - 1;
                }
            } else if (!z6) {
                return lineForOffset + 1;
            }
        }
        return lineForOffset;
    }

    /* JADX WARN: Removed duplicated region for block: B:145:0x0268 A[EDGE_INSN: B:204:0x0268->B:145:0x0268 BREAK  A[LOOP:5: B:155:0x0284->B:207:0x0284], EDGE_INSN: B:205:0x0268->B:145:0x0268 BREAK  A[LOOP:5: B:155:0x0284->B:207:0x0284]] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public static final int e(k kVar, Layout layout, C0606q c0606q, int i6, RectF rectF, V0.d dVar, C0053c c0053c, boolean z6) {
        d[] dVarArr;
        int i7;
        d[] dVarArr2;
        int i8;
        int iG;
        int i9;
        int i10;
        int iF;
        Bidi bidiCreateLineBidi;
        boolean z7;
        float fA;
        float fA2;
        float fA3;
        int lineTop = layout.getLineTop(i6);
        int lineBottom = layout.getLineBottom(i6);
        int lineStart = layout.getLineStart(i6);
        int lineEnd = layout.getLineEnd(i6);
        if (lineStart == lineEnd) {
            return -1;
        }
        int i11 = (lineEnd - lineStart) * 2;
        float[] fArr = new float[i11];
        Layout layout2 = kVar.f6848f;
        int lineStart2 = layout2.getLineStart(i6);
        int iF2 = kVar.f(i6);
        if (i11 < (iF2 - lineStart2) * 2) {
            AbstractC0958a.a("array.size - arrayStart must be greater or equal than (endOffset - startOffset) * 2");
        }
        P0.j jVar = new P0.j(kVar);
        boolean z8 = false;
        boolean z9 = layout2.getParagraphDirection(i6) == 1;
        int i12 = 0;
        while (lineStart2 < iF2) {
            boolean zIsRtlCharAt = layout2.isRtlCharAt(lineStart2);
            if (z9 && !zIsRtlCharAt) {
                fA = jVar.a(lineStart2, z8, z8, true);
                fA3 = jVar.a(lineStart2 + 1, true, true, true);
                z7 = z9;
            } else if (z9 && zIsRtlCharAt) {
                z7 = z9;
                fA3 = jVar.a(lineStart2, false, false, false);
                fA = jVar.a(lineStart2 + 1, true, true, false);
            } else {
                z7 = z9;
                if (zIsRtlCharAt) {
                    fA2 = jVar.a(lineStart2, false, false, true);
                    fA = jVar.a(lineStart2 + 1, true, true, true);
                } else {
                    fA = jVar.a(lineStart2, false, false, false);
                    fA2 = jVar.a(lineStart2 + 1, true, true, false);
                }
                fA3 = fA2;
            }
            fArr[i12] = fA;
            fArr[i12 + 1] = fA3;
            i12 += 2;
            lineStart2++;
            z9 = z7;
            z8 = false;
        }
        Layout layout3 = (Layout) c0606q.f6543b;
        int lineStart3 = layout3.getLineStart(i6);
        int lineEnd2 = layout3.getLineEnd(i6);
        int iH = c0606q.h(lineStart3, false);
        int i13 = c0606q.i(iH);
        int i14 = lineStart3 - i13;
        int i15 = lineEnd2 - i13;
        Bidi bidiD = c0606q.d(iH);
        if (bidiD == null || (bidiCreateLineBidi = bidiD.createLineBidi(i14, i15)) == null) {
            dVarArr = new d[]{new d(lineStart3, lineEnd2, layout3.isRtlCharAt(lineStart3))};
        } else {
            int runCount = bidiCreateLineBidi.getRunCount();
            dVarArr = new d[runCount];
            int i16 = 0;
            while (i16 < runCount) {
                int i17 = runCount;
                dVarArr[i16] = new d(bidiCreateLineBidi.getRunStart(i16) + lineStart3, bidiCreateLineBidi.getRunLimit(i16) + lineStart3, bidiCreateLineBidi.getRunLevel(i16) % 2 == 1);
                i16++;
                runCount = i17;
            }
        }
        P4.e gVar = z6 ? new P4.g(0, dVarArr.length - 1, 1) : new P4.e(dVarArr.length - 1, 0, -1);
        int i18 = gVar.f5676a;
        int i19 = gVar.f5677b;
        int i20 = gVar.f5678c;
        if ((i20 <= 0 || i18 > i19) && (i20 >= 0 || i19 > i18)) {
            return -1;
        }
        while (true) {
            d dVar2 = dVarArr[i18];
            boolean z10 = dVar2.f6831c;
            int iB = dVar2.f6829a;
            int iC = dVar2.f6830b;
            float f6 = z10 ? fArr[((iC - 1) - lineStart) * 2] : fArr[(iB - lineStart) * 2];
            float fC = z10 ? c(iB, lineStart, fArr) : c(iC - 1, lineStart, fArr);
            boolean z11 = dVar2.f6831c;
            if (z6) {
                float f7 = rectF.left;
                if (fC >= f7) {
                    i7 = i20;
                    float f8 = rectF.right;
                    if (f6 <= f8) {
                        if ((z11 || f7 > f6) && (!z11 || f8 < fC)) {
                            int i21 = iB;
                            int i22 = iC;
                            while (true) {
                                i9 = i22;
                                if (i22 - i21 <= 1) {
                                    break;
                                }
                                int i23 = (i9 + i21) / 2;
                                float f9 = fArr[(i23 - lineStart) * 2];
                                if ((z11 || f9 <= rectF.left) && (!z11 || f9 >= rectF.right)) {
                                    i22 = i9;
                                    i21 = i23;
                                } else {
                                    i22 = i23;
                                }
                            }
                            i10 = z11 ? i9 : i21;
                        } else {
                            i10 = iB;
                        }
                        int iG2 = dVar.g(i10);
                        if (iG2 != -1 && (iF = dVar.f(iG2)) < iC) {
                            if (iF >= iB) {
                                iB = iF;
                            }
                            if (iG2 > iC) {
                                iG2 = iC;
                            }
                            dVarArr2 = dVarArr;
                            RectF rectF2 = new RectF(0.0f, lineTop, 0.0f, lineBottom);
                            int iG3 = iG2;
                            while (true) {
                                rectF2.left = z11 ? fArr[((iG3 - 1) - lineStart) * 2] : fArr[(iB - lineStart) * 2];
                                rectF2.right = z11 ? c(iB, lineStart, fArr) : c(iG3 - 1, lineStart, fArr);
                                if (((Boolean) c0053c.invoke(rectF2, rectF)).booleanValue()) {
                                    break;
                                }
                                iB = dVar.b(iB);
                                if (iB == -1 || iB >= iC) {
                                    break;
                                }
                                iG3 = dVar.g(iB);
                                if (iG3 > iC) {
                                    iG3 = iC;
                                }
                            }
                        }
                        iB = -1;
                    }
                } else {
                    i7 = i20;
                }
                dVarArr2 = dVarArr;
                iB = -1;
            } else {
                i7 = i20;
                dVarArr2 = dVarArr;
                float f10 = rectF.left;
                if (fC >= f10) {
                    float f11 = rectF.right;
                    if (f6 > f11) {
                        iC = -1;
                        iB = iC;
                    } else {
                        if ((z11 || f11 < fC) && (!z11 || f10 > f6)) {
                            int i24 = iB;
                            int i25 = iC;
                            while (i25 - i24 > 1) {
                                int i26 = (i25 + i24) / 2;
                                float f12 = fArr[(i26 - lineStart) * 2];
                                int i27 = i25;
                                if ((z11 || f12 <= rectF.right) && (!z11 || f12 >= rectF.left)) {
                                    i25 = i27;
                                    i24 = i26;
                                } else {
                                    i25 = i26;
                                }
                            }
                            i8 = z11 ? i25 : i24;
                        } else {
                            i8 = iC - 1;
                        }
                        int iF3 = dVar.f(i8 + 1);
                        if (iF3 != -1 && (iG = dVar.g(iF3)) > iB) {
                            if (iF3 < iB) {
                                iF3 = iB;
                            }
                            if (iG <= iC) {
                                iC = iG;
                            }
                            RectF rectF3 = new RectF(0.0f, lineTop, 0.0f, lineBottom);
                            int iF4 = iF3;
                            while (true) {
                                rectF3.left = z11 ? fArr[((iC - 1) - lineStart) * 2] : fArr[(iF4 - lineStart) * 2];
                                rectF3.right = z11 ? c(iF4, lineStart, fArr) : c(iC - 1, lineStart, fArr);
                                if (((Boolean) c0053c.invoke(rectF3, rectF)).booleanValue()) {
                                    break;
                                }
                                iC = dVar.c(iC);
                                if (iC == -1 || iC <= iB) {
                                    break;
                                }
                                iF4 = dVar.f(iC);
                                if (iF4 < iB) {
                                    iF4 = iB;
                                }
                            }
                            iC = -1;
                            iB = iC;
                        }
                    }
                }
            }
            if (iB >= 0) {
                return iB;
            }
            if (i18 == i19) {
                return -1;
            }
            i18 += i7;
            i20 = i7;
            dVarArr = dVarArr2;
        }
    }

    public static final boolean f(Spanned spanned, Class cls) {
        return spanned.nextSpanTransition(-1, spanned.length(), cls) != spanned.length();
    }
}
