package androidx.emoji2.text;

import android.text.Editable;
import android.text.Selection;
import android.text.TextPaint;
import android.util.SparseArray;
import android.view.KeyEvent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.Set;

/* JADX INFO: loaded from: classes.dex */
public final class d0 {

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public final s f2220a;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public final o0 f2221b;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public final n f2222c;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    public final boolean f2223d;

    @Nullable
    private final int[] mEmojiAsDefaultStyleExceptions;

    public d0(@NonNull o0 o0Var, @NonNull s sVar, @NonNull n nVar, boolean z10, @Nullable int[] iArr, @NonNull Set<int[]> set) {
        this.f2220a = sVar;
        this.f2221b = o0Var;
        this.f2222c = nVar;
        this.f2223d = z10;
        this.mEmojiAsDefaultStyleExceptions = iArr;
        if (set.isEmpty()) {
            return;
        }
        for (int[] iArr2 : set) {
            String str = new String(iArr2, 0, iArr2.length);
            c(str, 0, str.length(), 1, true, new b0(str));
        }
    }

    public static boolean a(Editable editable, KeyEvent keyEvent, boolean z10) {
        e0[] e0VarArr;
        if (!KeyEvent.metaStateHasNoModifiers(keyEvent.getMetaState())) {
            return false;
        }
        int selectionStart = Selection.getSelectionStart(editable);
        int selectionEnd = Selection.getSelectionEnd(editable);
        if (selectionStart != -1 && selectionEnd != -1 && selectionStart == selectionEnd && (e0VarArr = (e0[]) editable.getSpans(selectionStart, selectionEnd, e0.class)) != null && e0VarArr.length > 0) {
            for (e0 e0Var : e0VarArr) {
                int spanStart = editable.getSpanStart(e0Var);
                int spanEnd = editable.getSpanEnd(e0Var);
                if ((z10 && spanStart == selectionStart) || ((!z10 && spanEnd == selectionStart) || (selectionStart > spanStart && selectionStart < spanEnd))) {
                    editable.delete(spanStart, spanEnd);
                    return true;
                }
            }
        }
        return false;
    }

    public final boolean b(CharSequence charSequence, int i10, int i11, r0 r0Var) {
        if ((r0Var.f2265c & 3) == 0) {
            n nVar = this.f2222c;
            f1.a aVarC = r0Var.c();
            int iA = aVarC.a(8);
            if (iA != 0) {
                aVarC.f25892b.getShort(iA + aVarC.f25891a);
            }
            i iVar = (i) nVar;
            iVar.getClass();
            ThreadLocal threadLocal = i.f2234b;
            if (threadLocal.get() == null) {
                threadLocal.set(new StringBuilder());
            }
            StringBuilder sb = (StringBuilder) threadLocal.get();
            sb.setLength(0);
            while (i10 < i11) {
                sb.append(charSequence.charAt(i10));
                i10++;
            }
            TextPaint textPaint = iVar.f2235a;
            String string = sb.toString();
            int i12 = j0.e.f28506a;
            boolean zHasGlyph = textPaint.hasGlyph(string);
            int i13 = r0Var.f2265c & 4;
            r0Var.f2265c = zHasGlyph ? i13 | 2 : i13 | 1;
        }
        return (r0Var.f2265c & 3) == 2;
    }

    public final Object c(CharSequence charSequence, int i10, int i11, int i12, boolean z10, a0 a0Var) {
        int i13;
        char c6;
        c0 c0Var = new c0(this.f2221b.f2253c, this.f2223d, this.mEmojiAsDefaultStyleExceptions);
        int iCodePointAt = Character.codePointAt(charSequence, i10);
        boolean zC = true;
        int i14 = 0;
        int iCharCount = i10;
        loop0: while (true) {
            i13 = iCharCount;
            while (iCharCount < i11 && i14 < i12 && zC) {
                SparseArray sparseArray = c0Var.f2213c.f2249a;
                n0 n0Var = sparseArray == null ? null : (n0) sparseArray.get(iCodePointAt);
                if (c0Var.f2211a == 2) {
                    if (n0Var != null) {
                        c0Var.f2213c = n0Var;
                        c0Var.f2216f++;
                    } else {
                        if (iCodePointAt == 65038) {
                            c0Var.a();
                        } else if (iCodePointAt != 65039) {
                            n0 n0Var2 = c0Var.f2213c;
                            if (n0Var2.f2250b != null) {
                                if (c0Var.f2216f != 1) {
                                    c0Var.f2214d = n0Var2;
                                    c0Var.a();
                                } else if (c0Var.b()) {
                                    c0Var.f2214d = c0Var.f2213c;
                                    c0Var.a();
                                } else {
                                    c0Var.a();
                                }
                                c6 = 3;
                            } else {
                                c0Var.a();
                            }
                        }
                        c6 = 1;
                    }
                    c6 = 2;
                } else if (n0Var == null) {
                    c0Var.a();
                    c6 = 1;
                } else {
                    c0Var.f2211a = 2;
                    c0Var.f2213c = n0Var;
                    c0Var.f2216f = 1;
                    c6 = 2;
                }
                c0Var.f2215e = iCodePointAt;
                if (c6 == 1) {
                    iCharCount = Character.charCount(Character.codePointAt(charSequence, i13)) + i13;
                    if (iCharCount < i11) {
                        iCodePointAt = Character.codePointAt(charSequence, iCharCount);
                    }
                } else if (c6 == 2) {
                    int iCharCount2 = Character.charCount(iCodePointAt) + iCharCount;
                    if (iCharCount2 < i11) {
                        iCodePointAt = Character.codePointAt(charSequence, iCharCount2);
                    }
                    iCharCount = iCharCount2;
                } else if (c6 == 3) {
                    if (z10 || !b(charSequence, i13, iCharCount, c0Var.f2214d.f2250b)) {
                        zC = a0Var.c(charSequence, i13, iCharCount, c0Var.f2214d.f2250b);
                        i14++;
                    }
                }
            }
            break loop0;
        }
        if (c0Var.f2211a == 2 && c0Var.f2213c.f2250b != null && ((c0Var.f2216f > 1 || c0Var.b()) && i14 < i12 && zC && (z10 || !b(charSequence, i13, iCharCount, c0Var.f2213c.f2250b)))) {
            a0Var.c(charSequence, i13, iCharCount, c0Var.f2213c.f2250b);
        }
        return a0Var.b();
    }
}
