package io.flutter.plugin.editing;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.DynamicLayout;
import android.text.Editable;
import android.text.Layout;
import android.text.Selection;
import android.text.TextPaint;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputContentInfo;
import android.view.inputmethod.InputMethodManager;
import androidx.media3.common.C;
import dd.p0;
import io.flutter.embedding.android.c0;
import io.flutter.embedding.engine.FlutterJNI;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;

/* JADX INFO: loaded from: classes.dex */
public final class d extends BaseInputConnection implements f {

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

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

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

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

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    public final EditorInfo f28126e;

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    public ExtractedTextRequest f28127f;

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    public boolean f28128g;

    /* JADX INFO: renamed from: h, reason: collision with root package name */
    public CursorAnchorInfo.Builder f28129h;

    /* JADX INFO: renamed from: i, reason: collision with root package name */
    public final ExtractedText f28130i;

    /* JADX INFO: renamed from: j, reason: collision with root package name */
    public final InputMethodManager f28131j;

    /* JADX INFO: renamed from: k, reason: collision with root package name */
    public final DynamicLayout f28132k;

    /* JADX INFO: renamed from: l, reason: collision with root package name */
    public final k f28133l;

    /* JADX INFO: renamed from: m, reason: collision with root package name */
    public final c0 f28134m;

    /* JADX INFO: renamed from: n, reason: collision with root package name */
    public int f28135n;

    public d(View view, int i10, p0 p0Var, c0 c0Var, g gVar, EditorInfo editorInfo) {
        FlutterJNI flutterJNI = new FlutterJNI();
        super(view, true);
        this.f28128g = false;
        this.f28130i = new ExtractedText();
        this.f28135n = 0;
        this.f28122a = view;
        this.f28123b = i10;
        this.f28124c = p0Var;
        this.f28125d = gVar;
        int i11 = gVar.f28138b;
        if (gVar.f28137a > 0) {
            gVar.f28140d.add(this);
        } else {
            gVar.f28139c.add(this);
        }
        this.f28126e = editorInfo;
        this.f28134m = c0Var;
        this.f28133l = new k(flutterJNI);
        this.f28132k = new DynamicLayout(gVar, new TextPaint(), Integer.MAX_VALUE, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
        this.f28131j = (InputMethodManager) view.getContext().getSystemService("input_method");
    }

    @Override // io.flutter.plugin.editing.f
    public final void a(boolean z10) {
        InputMethodManager inputMethodManager = this.f28131j;
        View view = this.f28122a;
        g gVar = this.f28125d;
        gVar.getClass();
        inputMethodManager.updateSelection(view, Selection.getSelectionStart(gVar), Selection.getSelectionEnd(gVar), BaseInputConnection.getComposingSpanStart(gVar), BaseInputConnection.getComposingSpanEnd(gVar));
        ExtractedTextRequest extractedTextRequest = this.f28127f;
        InputMethodManager inputMethodManager2 = this.f28131j;
        View view2 = this.f28122a;
        if (extractedTextRequest != null) {
            inputMethodManager2.updateExtractedText(view2, extractedTextRequest.token, c(extractedTextRequest));
        }
        if (this.f28128g) {
            inputMethodManager2.updateCursorAnchorInfo(view2, b());
        }
    }

    public final CursorAnchorInfo b() {
        CursorAnchorInfo.Builder builder = this.f28129h;
        if (builder == null) {
            this.f28129h = new CursorAnchorInfo.Builder();
        } else {
            builder.reset();
        }
        CursorAnchorInfo.Builder builder2 = this.f28129h;
        g gVar = this.f28125d;
        gVar.getClass();
        int selectionStart = Selection.getSelectionStart(gVar);
        gVar.getClass();
        builder2.setSelectionRange(selectionStart, Selection.getSelectionEnd(gVar));
        gVar.getClass();
        int composingSpanStart = BaseInputConnection.getComposingSpanStart(gVar);
        gVar.getClass();
        int composingSpanEnd = BaseInputConnection.getComposingSpanEnd(gVar);
        if (composingSpanStart < 0 || composingSpanEnd <= composingSpanStart) {
            this.f28129h.setComposingText(-1, "");
        } else {
            this.f28129h.setComposingText(composingSpanStart, gVar.toString().subSequence(composingSpanStart, composingSpanEnd));
        }
        return this.f28129h.build();
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean beginBatchEdit() {
        this.f28125d.a();
        this.f28135n++;
        return super.beginBatchEdit();
    }

    public final ExtractedText c(ExtractedTextRequest extractedTextRequest) {
        ExtractedText extractedText = this.f28130i;
        extractedText.startOffset = 0;
        extractedText.partialStartOffset = -1;
        extractedText.partialEndOffset = -1;
        CharSequence string = this.f28125d;
        string.getClass();
        extractedText.selectionStart = Selection.getSelectionStart(string);
        string.getClass();
        extractedText.selectionEnd = Selection.getSelectionEnd(string);
        if (extractedTextRequest == null || (extractedTextRequest.flags & 1) == 0) {
            string = string.toString();
        }
        extractedText.text = string;
        return extractedText;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean clearMetaKeyStates(int i10) {
        return super.clearMetaKeyStates(i10);
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final void closeConnection() {
        super.closeConnection();
        this.f28125d.d(this);
        while (this.f28135n > 0) {
            endBatchEdit();
            this.f28135n--;
        }
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean commitContent(InputContentInfo inputContentInfo, int i10, Bundle bundle) {
        int i11;
        if (Build.VERSION.SDK_INT >= 25 && (i10 & 1) != 0) {
            try {
                inputContentInfo.requestPermission();
                if (inputContentInfo.getDescription().getMimeTypeCount() > 0) {
                    inputContentInfo.requestPermission();
                    Uri contentUri = inputContentInfo.getContentUri();
                    String mimeType = inputContentInfo.getDescription().getMimeType(0);
                    Context context = this.f28122a.getContext();
                    if (contentUri != null) {
                        try {
                            InputStream inputStreamOpenInputStream = context.getContentResolver().openInputStream(contentUri);
                            if (inputStreamOpenInputStream != null) {
                                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                                byte[] bArr = new byte[C.DEFAULT_BUFFER_SEGMENT_SIZE];
                                while (true) {
                                    try {
                                        i11 = inputStreamOpenInputStream.read(bArr);
                                    } catch (IOException unused) {
                                        i11 = -1;
                                    }
                                    if (i11 == -1) {
                                        byte[] byteArray = byteArrayOutputStream.toByteArray();
                                        HashMap map = new HashMap();
                                        map.put("mimeType", mimeType);
                                        map.put("data", byteArray);
                                        map.put("uri", contentUri.toString());
                                        p0 p0Var = this.f28124c;
                                        p0Var.getClass();
                                        p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(this.f28123b), "TextInputAction.commitContent", map));
                                        inputContentInfo.releasePermission();
                                        return true;
                                    }
                                    byteArrayOutputStream.write(bArr, 0, i11);
                                }
                            }
                        } catch (FileNotFoundException unused2) {
                            inputContentInfo.releasePermission();
                            return false;
                        }
                    }
                    inputContentInfo.releasePermission();
                }
            } catch (Exception unused3) {
            }
        }
        return false;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean commitText(CharSequence charSequence, int i10) {
        return super.commitText(charSequence, i10);
    }

    /* JADX WARN: Code restructure failed: missing block: B:164:0x02a2, code lost:
    
        r14 = r14 + r4;
     */
    /* JADX WARN: Removed duplicated region for block: B:180:0x02dd A[ADDED_TO_REGION] */
    /* JADX WARN: Removed duplicated region for block: B:197:0x003f A[ADDED_TO_REGION, EDGE_INSN: B:197:0x003f->B:18:0x003f BREAK  A[LOOP:2: B:63:0x0102->B:200:?], REMOVE, SYNTHETIC] */
    /* JADX WARN: Removed duplicated region for block: B:207:0x01b6 A[ADDED_TO_REGION, EDGE_INSN: B:207:0x01b6->B:108:0x01b6 BREAK  A[LOOP:4: B:143:0x0243->B:210:?], REMOVE, SYNTHETIC] */
    /* JADX WARN: Removed duplicated region for block: B:62:0x0100  */
    /* JADX WARN: Removed duplicated region for block: B:93:0x0180 A[ADDED_TO_REGION] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final boolean d(boolean z10, boolean z11) {
        int iCharCount;
        int iCharCount2;
        int iCharCount3;
        int iCharCount4;
        int iMin;
        int iCodePointBefore;
        int iCharCount5;
        int iCharCount6;
        int iCharCount7;
        int i10;
        int iCharCount8;
        g gVar = this.f28125d;
        int selectionStart = Selection.getSelectionStart(gVar);
        int selectionEnd = Selection.getSelectionEnd(gVar);
        int i11 = 0;
        if (selectionStart < 0 || selectionEnd < 0) {
            return false;
        }
        k kVar = this.f28133l;
        if (z10) {
            kVar.getClass();
            if (selectionEnd > 1 && (iCharCount6 = selectionEnd - (iCharCount5 = Character.charCount((iCodePointBefore = Character.codePointBefore(gVar, selectionEnd))))) != 0) {
                if (iCodePointBefore != 10) {
                    Object obj = kVar.f28163a;
                    if (((FlutterJNI) obj).isCodePointRegionalIndicator(iCodePointBefore)) {
                        int iCodePointBefore2 = Character.codePointBefore(gVar, iCharCount6);
                        int iCharCount9 = iCharCount6 - Character.charCount(iCodePointBefore2);
                        int i12 = 1;
                        while (iCharCount9 > 0 && ((FlutterJNI) obj).isCodePointRegionalIndicator(iCodePointBefore2)) {
                            iCodePointBefore2 = Character.codePointBefore(gVar, iCharCount9);
                            iCharCount9 -= Character.charCount(iCodePointBefore2);
                            i12++;
                        }
                        if (i12 % 2 == 0) {
                            iCharCount5 += 2;
                        }
                    } else if (iCodePointBefore == 8419) {
                        int iCodePointBefore3 = Character.codePointBefore(gVar, iCharCount6);
                        int iCharCount10 = iCharCount6 - Character.charCount(iCodePointBefore3);
                        if (iCharCount10 > 0 && kVar.d(iCodePointBefore3)) {
                            int iCodePointBefore4 = Character.codePointBefore(gVar, iCharCount10);
                            if (k.c(iCodePointBefore4)) {
                                iCharCount8 = Character.charCount(iCodePointBefore4) + Character.charCount(iCodePointBefore3);
                                iCharCount5 += iCharCount8;
                            }
                        } else if (k.c(iCodePointBefore3)) {
                            iCharCount8 = Character.charCount(iCodePointBefore3);
                            iCharCount5 += iCharCount8;
                        }
                    } else {
                        if (iCodePointBefore == 917631) {
                            int iCodePointBefore5 = Character.codePointBefore(gVar, iCharCount6);
                            iCharCount6 -= Character.charCount(iCodePointBefore5);
                            iCodePointBefore = iCodePointBefore5;
                            while (iCharCount6 > 0 && 917536 <= iCodePointBefore && iCodePointBefore <= 917630) {
                                iCharCount5 += Character.charCount(iCodePointBefore);
                                iCodePointBefore = Character.codePointBefore(gVar, iCharCount6);
                                iCharCount6 -= Character.charCount(iCodePointBefore);
                            }
                            if (kVar.b(iCodePointBefore)) {
                                iCharCount5 += Character.charCount(iCodePointBefore);
                            } else {
                                i10 = selectionEnd - 2;
                            }
                        }
                        if (kVar.d(iCodePointBefore)) {
                            iCodePointBefore = Character.codePointBefore(gVar, iCharCount6);
                            if (kVar.b(iCodePointBefore)) {
                                iCharCount5 += Character.charCount(iCodePointBefore);
                                iCharCount6 -= iCharCount5;
                                if (kVar.b(iCodePointBefore)) {
                                    boolean z12 = false;
                                    int iCharCount11 = 0;
                                    while (true) {
                                        if (z12) {
                                            iCharCount5 = Character.charCount(iCodePointBefore) + iCharCount11 + 1 + iCharCount5;
                                            z12 = false;
                                        }
                                        if (((FlutterJNI) obj).isCodePointEmojiModifier(iCodePointBefore)) {
                                            int iCodePointBefore6 = Character.codePointBefore(gVar, iCharCount6);
                                            int iCharCount12 = iCharCount6 - Character.charCount(iCodePointBefore6);
                                            if (iCharCount12 <= 0 || !kVar.d(iCodePointBefore6)) {
                                                iCharCount7 = 0;
                                            } else {
                                                iCodePointBefore6 = Character.codePointBefore(gVar, iCharCount12);
                                                if (kVar.b(iCodePointBefore6)) {
                                                    iCharCount7 = Character.charCount(iCodePointBefore6);
                                                    Character.charCount(iCodePointBefore6);
                                                }
                                            }
                                            if (((FlutterJNI) obj).isCodePointEmojiModifierBase(iCodePointBefore6)) {
                                                iCharCount5 += Character.charCount(iCodePointBefore6) + iCharCount7;
                                            }
                                        } else if (iCharCount6 > 0) {
                                            int iCodePointBefore7 = Character.codePointBefore(gVar, iCharCount6);
                                            iCharCount6 -= Character.charCount(iCodePointBefore7);
                                            if (iCodePointBefore7 == 8205) {
                                                int iCodePointBefore8 = Character.codePointBefore(gVar, iCharCount6);
                                                iCharCount6 -= Character.charCount(iCodePointBefore8);
                                                if (iCharCount6 <= 0 || !kVar.d(iCodePointBefore8)) {
                                                    iCharCount11 = 0;
                                                } else {
                                                    iCodePointBefore8 = Character.codePointBefore(gVar, iCharCount6);
                                                    iCharCount11 = Character.charCount(iCodePointBefore8);
                                                    iCharCount6 -= Character.charCount(iCodePointBefore8);
                                                }
                                                iCodePointBefore = iCodePointBefore8;
                                                z12 = true;
                                                if (iCharCount6 == 0 || !z12 || !kVar.b(iCodePointBefore)) {
                                                    break;
                                                }
                                            } else {
                                                iCodePointBefore = iCodePointBefore7;
                                                iCharCount11 = 0;
                                                if (iCharCount6 == 0) {
                                                    break;
                                                }
                                            }
                                        } else {
                                            iCharCount11 = 0;
                                            if (iCharCount6 == 0) {
                                            }
                                        }
                                    }
                                }
                            }
                        } else if (kVar.b(iCodePointBefore)) {
                        }
                    }
                } else if (Character.codePointBefore(gVar, iCharCount6) == 13) {
                    iCharCount5++;
                }
                i10 = selectionEnd - iCharCount5;
            } else {
                i10 = 0;
            }
            iMin = Math.max(i10, 0);
        } else {
            kVar.getClass();
            int length = gVar.length();
            int i13 = length - 1;
            if (selectionEnd >= i13) {
                i11 = length;
            } else {
                int iCodePointAt = Character.codePointAt(gVar, selectionEnd);
                int iCharCount13 = Character.charCount(iCodePointAt);
                int iCharCount14 = selectionEnd + iCharCount13;
                if (iCharCount14 != 0) {
                    if (iCodePointAt != 10) {
                        Object obj2 = kVar.f28163a;
                        if (((FlutterJNI) obj2).isCodePointRegionalIndicator(iCodePointAt)) {
                            if (iCharCount14 < i13) {
                                if (((FlutterJNI) obj2).isCodePointRegionalIndicator(Character.codePointAt(gVar, iCharCount14))) {
                                    int iCharCount15 = selectionEnd;
                                    while (iCharCount15 > 0) {
                                        if (!((FlutterJNI) obj2).isCodePointRegionalIndicator(Character.codePointBefore(gVar, selectionEnd))) {
                                            break;
                                        }
                                        iCharCount15 -= Character.charCount(Character.codePointBefore(gVar, selectionEnd));
                                        i11++;
                                    }
                                    if (i11 % 2 == 0) {
                                        iCharCount13 += 2;
                                    }
                                }
                            }
                            i11 = iCharCount14;
                        } else {
                            if (k.c(iCodePointAt)) {
                                iCharCount13 += Character.charCount(iCodePointAt);
                            }
                            if (iCodePointAt == 8419) {
                                int iCodePointBefore9 = Character.codePointBefore(gVar, iCharCount14);
                                int iCharCount16 = Character.charCount(iCodePointBefore9) + iCharCount14;
                                if (iCharCount16 < length && kVar.d(iCodePointBefore9)) {
                                    int iCodePointAt2 = Character.codePointAt(gVar, iCharCount16);
                                    if (k.c(iCodePointAt2)) {
                                        iCharCount2 = Character.charCount(iCodePointBefore9);
                                        iCharCount3 = Character.charCount(iCodePointAt2);
                                        iCharCount13 += iCharCount3 + iCharCount2;
                                    }
                                } else if (k.c(iCodePointBefore9)) {
                                    iCharCount = Character.charCount(iCodePointBefore9);
                                    iCharCount13 += iCharCount;
                                }
                            } else if (kVar.b(iCodePointAt)) {
                                boolean z13 = false;
                                int i14 = 0;
                                while (true) {
                                    if (z13) {
                                        iCharCount13 = Character.charCount(iCodePointAt) + i14 + 1 + iCharCount13;
                                        z13 = false;
                                    }
                                    if (((FlutterJNI) obj2).isCodePointEmojiModifier(iCodePointAt)) {
                                        break;
                                    }
                                    if (iCharCount14 < length) {
                                        int iCodePointAt3 = Character.codePointAt(gVar, iCharCount14);
                                        int iCharCount17 = Character.charCount(iCodePointAt3) + iCharCount14;
                                        if (iCodePointAt3 == 8419) {
                                            int iCodePointBefore10 = Character.codePointBefore(gVar, iCharCount17);
                                            int iCharCount18 = Character.charCount(iCodePointBefore10) + iCharCount17;
                                            if (iCharCount18 < length && kVar.d(iCodePointBefore10)) {
                                                int iCodePointAt4 = Character.codePointAt(gVar, iCharCount18);
                                                if (k.c(iCodePointAt4)) {
                                                    iCharCount2 = Character.charCount(iCodePointBefore10);
                                                    iCharCount3 = Character.charCount(iCodePointAt4);
                                                }
                                            } else if (k.c(iCodePointBefore10)) {
                                                iCharCount = Character.charCount(iCodePointBefore10);
                                            }
                                        } else {
                                            if (((FlutterJNI) obj2).isCodePointEmojiModifier(iCodePointAt3)) {
                                                iCharCount4 = Character.charCount(iCodePointAt3);
                                                break;
                                            }
                                            if (kVar.d(iCodePointAt3)) {
                                                iCharCount4 = Character.charCount(iCodePointAt3);
                                                break;
                                            }
                                            if (iCodePointAt3 == 8205) {
                                                int iCodePointAt5 = Character.codePointAt(gVar, iCharCount17);
                                                int iCharCount19 = Character.charCount(iCodePointAt5) + iCharCount17;
                                                if (iCharCount19 >= length || !kVar.d(iCodePointAt5)) {
                                                    iCodePointAt = iCodePointAt5;
                                                    iCharCount14 = iCharCount19;
                                                    i14 = 0;
                                                } else {
                                                    int iCodePointAt6 = Character.codePointAt(gVar, iCharCount19);
                                                    int iCharCount20 = Character.charCount(iCodePointAt6);
                                                    iCharCount14 = Character.charCount(iCodePointAt6) + iCharCount19;
                                                    i14 = iCharCount20;
                                                    iCodePointAt = iCodePointAt6;
                                                }
                                                z13 = true;
                                                if (iCharCount14 >= length || !z13 || !kVar.b(iCodePointAt)) {
                                                    break;
                                                }
                                            } else {
                                                iCharCount14 = iCharCount17;
                                                iCodePointAt = iCodePointAt3;
                                                i14 = 0;
                                                if (iCharCount14 >= length) {
                                                    break;
                                                }
                                            }
                                        }
                                    } else {
                                        i14 = 0;
                                        if (iCharCount14 >= length) {
                                        }
                                    }
                                }
                            }
                        }
                    } else if (Character.codePointAt(gVar, iCharCount14) == 13) {
                        iCharCount13++;
                    }
                    i11 = selectionEnd + iCharCount13;
                }
            }
            iMin = Math.min(i11, gVar.length());
        }
        if (selectionStart != selectionEnd || z11) {
            setSelection(selectionStart, iMin);
        } else {
            setSelection(iMin, iMin);
        }
        return true;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean deleteSurroundingText(int i10, int i11) {
        g gVar = this.f28125d;
        gVar.getClass();
        if (Selection.getSelectionStart(gVar) == -1) {
            return true;
        }
        return super.deleteSurroundingText(i10, i11);
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean deleteSurroundingTextInCodePoints(int i10, int i11) {
        return super.deleteSurroundingTextInCodePoints(i10, i11);
    }

    public final boolean e(boolean z10, boolean z11) {
        g gVar = this.f28125d;
        int selectionStart = Selection.getSelectionStart(gVar);
        int selectionEnd = Selection.getSelectionEnd(gVar);
        boolean z12 = false;
        if (selectionStart < 0 || selectionEnd < 0) {
            return false;
        }
        if (selectionStart == selectionEnd && !z11) {
            z12 = true;
        }
        beginBatchEdit();
        DynamicLayout dynamicLayout = this.f28132k;
        if (z12) {
            if (z10) {
                Selection.moveUp(gVar, dynamicLayout);
            } else {
                Selection.moveDown(gVar, dynamicLayout);
            }
            int selectionStart2 = Selection.getSelectionStart(gVar);
            setSelection(selectionStart2, selectionStart2);
        } else {
            if (z10) {
                Selection.extendUp(gVar, dynamicLayout);
            } else {
                Selection.extendDown(gVar, dynamicLayout);
            }
            setSelection(Selection.getSelectionStart(gVar), Selection.getSelectionEnd(gVar));
        }
        endBatchEdit();
        return true;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean endBatchEdit() {
        boolean zEndBatchEdit = super.endBatchEdit();
        this.f28135n--;
        this.f28125d.b();
        return zEndBatchEdit;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean finishComposingText() {
        return super.finishComposingText();
    }

    @Override // android.view.inputmethod.BaseInputConnection
    public final Editable getEditable() {
        return this.f28125d;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final ExtractedText getExtractedText(ExtractedTextRequest extractedTextRequest, int i10) {
        this.f28127f = (i10 & 1) != 0 ? extractedTextRequest : null;
        return c(extractedTextRequest);
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean performContextMenuAction(int i10) {
        beginBatchEdit();
        boolean z10 = true;
        g gVar = this.f28125d;
        if (i10 == 16908319) {
            setSelection(0, gVar.length());
        } else {
            View view = this.f28122a;
            if (i10 == 16908320) {
                int selectionStart = Selection.getSelectionStart(gVar);
                int selectionEnd = Selection.getSelectionEnd(gVar);
                if (selectionStart != selectionEnd) {
                    int iMin = Math.min(selectionStart, selectionEnd);
                    int iMax = Math.max(selectionStart, selectionEnd);
                    ((ClipboardManager) view.getContext().getSystemService("clipboard")).setPrimaryClip(ClipData.newPlainText("text label?", gVar.subSequence(iMin, iMax)));
                    gVar.delete(iMin, iMax);
                    setSelection(iMin, iMin);
                }
            } else if (i10 == 16908321) {
                int selectionStart2 = Selection.getSelectionStart(gVar);
                int selectionEnd2 = Selection.getSelectionEnd(gVar);
                if (selectionStart2 != selectionEnd2) {
                    ((ClipboardManager) view.getContext().getSystemService("clipboard")).setPrimaryClip(ClipData.newPlainText("text label?", gVar.subSequence(Math.min(selectionStart2, selectionEnd2), Math.max(selectionStart2, selectionEnd2))));
                }
            } else if (i10 == 16908322) {
                ClipData primaryClip = ((ClipboardManager) view.getContext().getSystemService("clipboard")).getPrimaryClip();
                if (primaryClip != null) {
                    CharSequence charSequenceCoerceToText = primaryClip.getItemAt(0).coerceToText(view.getContext());
                    int iMax2 = Math.max(0, Selection.getSelectionStart(gVar));
                    int iMax3 = Math.max(0, Selection.getSelectionEnd(gVar));
                    int iMin2 = Math.min(iMax2, iMax3);
                    int iMax4 = Math.max(iMax2, iMax3);
                    if (iMin2 != iMax4) {
                        gVar.delete(iMin2, iMax4);
                    }
                    gVar.insert(iMin2, charSequenceCoerceToText);
                    int length = charSequenceCoerceToText.length() + iMin2;
                    setSelection(length, length);
                }
            } else {
                z10 = false;
            }
        }
        endBatchEdit();
        return z10;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean performEditorAction(int i10) {
        int i11 = this.f28123b;
        p0 p0Var = this.f28124c;
        if (i10 == 0) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.unspecified"));
        } else if (i10 == 1) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.newline"));
        } else if (i10 == 2) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.go"));
        } else if (i10 == 3) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.search"));
        } else if (i10 == 4) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.send"));
        } else if (i10 == 5) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.next"));
        } else if (i10 != 7) {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.done"));
        } else {
            p0Var.getClass();
            p0Var.f25143a.invokeMethod("TextInputClient.performAction", Arrays.asList(Integer.valueOf(i11), "TextInputAction.previous"));
        }
        return true;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean performPrivateCommand(String str, Bundle bundle) {
        p0 p0Var = this.f28124c;
        p0Var.getClass();
        HashMap map = new HashMap();
        map.put("action", str);
        if (bundle != null) {
            HashMap map2 = new HashMap();
            for (String str2 : bundle.keySet()) {
                Object obj = bundle.get(str2);
                if (obj instanceof byte[]) {
                    map2.put(str2, bundle.getByteArray(str2));
                } else if (obj instanceof Byte) {
                    map2.put(str2, Byte.valueOf(bundle.getByte(str2)));
                } else if (obj instanceof char[]) {
                    map2.put(str2, bundle.getCharArray(str2));
                } else if (obj instanceof Character) {
                    map2.put(str2, Character.valueOf(bundle.getChar(str2)));
                } else if (obj instanceof CharSequence[]) {
                    map2.put(str2, bundle.getCharSequenceArray(str2));
                } else if (obj instanceof CharSequence) {
                    map2.put(str2, bundle.getCharSequence(str2));
                } else if (obj instanceof float[]) {
                    map2.put(str2, bundle.getFloatArray(str2));
                } else if (obj instanceof Float) {
                    map2.put(str2, Float.valueOf(bundle.getFloat(str2)));
                }
            }
            map.put("data", map2);
        }
        p0Var.f25143a.invokeMethod("TextInputClient.performPrivateCommand", Arrays.asList(Integer.valueOf(this.f28123b), map));
        return true;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean requestCursorUpdates(int i10) {
        if ((i10 & 1) != 0) {
            this.f28131j.updateCursorAnchorInfo(this.f28122a, b());
        }
        this.f28128g = (i10 & 2) != 0;
        return true;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean sendKeyEvent(KeyEvent keyEvent) {
        return this.f28134m.a(keyEvent);
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean setComposingRegion(int i10, int i11) {
        return super.setComposingRegion(i10, i11);
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean setComposingText(CharSequence charSequence, int i10) {
        beginBatchEdit();
        boolean zCommitText = charSequence.length() == 0 ? super.commitText(charSequence, i10) : super.setComposingText(charSequence, i10);
        endBatchEdit();
        return zCommitText;
    }

    @Override // android.view.inputmethod.BaseInputConnection, android.view.inputmethod.InputConnection
    public final boolean setSelection(int i10, int i11) {
        beginBatchEdit();
        boolean selection = super.setSelection(i10, i11);
        endBatchEdit();
        return selection;
    }
}
