package io.flutter.embedding.android;

import android.view.KeyEvent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.emoji2.text.l0;
import androidx.media3.exoplayer.source.ProgressiveMediaSource;
import e.t0;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

/* JADX INFO: loaded from: classes.dex */
public final class z implements a0 {

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public final ed.i f27966a;

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public final HashMap f27967b = new HashMap();

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

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    public final l8.k f27969d;

    public z(ed.i iVar) {
        HashMap map = new HashMap();
        this.f27968c = map;
        this.f27969d = new l8.k(14, (l8.j) null);
        this.f27966a = iVar;
        HashMap map2 = e0.f27897a;
        d0 d0Var = new d0[]{new d0()}[0];
        d0Var.getClass();
        map.put(4294967556L, d0Var);
    }

    /* JADX WARN: Removed duplicated region for block: B:139:0x02d5  */
    /* JADX WARN: Removed duplicated region for block: B:140:0x02e4  */
    @Override // io.flutter.embedding.android.a0
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final void a(final KeyEvent keyEvent, t0 t0Var) {
        Long lValueOf;
        boolean z10;
        t0 t0Var2;
        boolean z11;
        String str;
        KeyData$Type keyData$Type;
        KeyData$Type keyData$Type2;
        d0 d0Var;
        KeyData$Type keyData$Type3;
        int i10;
        boolean[] zArr;
        l0[] l0VarArr;
        j2.e[] eVarArr;
        int i11;
        KeyData$Type keyData$Type4;
        HashMap map;
        int i12;
        KeyData$Type keyData$Type5;
        if (keyEvent.getScanCode() != 0 || keyEvent.getKeyCode() != 0) {
            long scanCode = keyEvent.getScanCode();
            if (scanCode == 0) {
                lValueOf = Long.valueOf((((long) keyEvent.getKeyCode()) & 4294967295L) | 73014444032L);
            } else {
                lValueOf = (Long) e0.f27897a.get(Long.valueOf(scanCode));
                if (lValueOf == null) {
                    lValueOf = Long.valueOf((((long) keyEvent.getScanCode()) & 4294967295L) | 73014444032L);
                }
            }
            Long l10 = lValueOf;
            Long lValueOf2 = (Long) e0.f27898b.get(Long.valueOf(keyEvent.getKeyCode()));
            if (lValueOf2 == null) {
                lValueOf2 = Long.valueOf((((long) keyEvent.getKeyCode()) & 4294967295L) | 73014444032L);
            }
            Long l11 = lValueOf2;
            ArrayList arrayList = new ArrayList();
            j2.e[] eVarArr2 = e0.f27899c;
            int length = eVarArr2.length;
            int i13 = 0;
            while (true) {
                KeyData$Type keyData$Type6 = KeyData$Type.f27877b;
                KeyData$Type keyData$Type7 = KeyData$Type.f27878c;
                HashMap map2 = this.f27967b;
                KeyData$Type keyData$Type8 = KeyData$Type.f27876a;
                if (i13 >= length) {
                    HashMap map3 = this.f27968c;
                    for (d0 d0Var2 : map3.values()) {
                        int metaState = keyEvent.getMetaState();
                        d0Var2.getClass();
                        boolean z12 = (metaState & ProgressiveMediaSource.DEFAULT_LOADING_CHECK_INTERVAL_BYTES) != 0;
                        if (4294967556L != l11.longValue() && d0Var2.f27895a != z12) {
                            boolean zContainsKey = map2.containsKey(458809L);
                            boolean z13 = !zContainsKey;
                            if (z13) {
                                d0Var2.f27895a = !d0Var2.f27895a;
                            }
                            c(z13, 4294967556L, 458809L, keyEvent.getEventTime());
                            if (!z13) {
                                d0Var2.f27895a = !d0Var2.f27895a;
                            }
                            c(zContainsKey, 4294967556L, 458809L, keyEvent.getEventTime());
                        }
                    }
                    int action = keyEvent.getAction();
                    if (action != 0) {
                        z10 = action != 1;
                    }
                    Long l12 = (Long) map2.get(l10);
                    if (z10) {
                        if (l12 == null) {
                            keyData$Type3 = keyData$Type8;
                            char cCharValue = this.f27969d.b(keyEvent.getUnicodeChar()).charValue();
                            if (cCharValue != 0) {
                            }
                            str = cCharValue != 0 ? "" + cCharValue : null;
                            z11 = false;
                            keyData$Type = keyData$Type3;
                            keyData$Type2 = keyData$Type7;
                            t0Var2 = t0Var;
                        } else if (keyEvent.getRepeatCount() > 0) {
                            keyData$Type3 = keyData$Type7;
                            char cCharValue2 = this.f27969d.b(keyEvent.getUnicodeChar()).charValue();
                            str = cCharValue2 != 0 ? "" + cCharValue2 : null;
                            z11 = false;
                            keyData$Type = keyData$Type3;
                            keyData$Type2 = keyData$Type7;
                            t0Var2 = t0Var;
                        } else {
                            c(false, l12, l10, keyEvent.getEventTime());
                            keyData$Type3 = keyData$Type8;
                            char cCharValue22 = this.f27969d.b(keyEvent.getUnicodeChar()).charValue();
                            if (cCharValue22 != 0) {
                            }
                            str = cCharValue22 != 0 ? "" + cCharValue22 : null;
                            z11 = false;
                            keyData$Type = keyData$Type3;
                            keyData$Type2 = keyData$Type7;
                            t0Var2 = t0Var;
                        }
                    } else if (l12 != null) {
                        t0Var2 = t0Var;
                        z11 = false;
                        str = null;
                        keyData$Type = keyData$Type6;
                        keyData$Type2 = keyData$Type7;
                    }
                    if (keyData$Type != keyData$Type2) {
                        updatePressingState(l10, z10 ? l11 : null);
                    }
                    if (keyData$Type == keyData$Type8 && (d0Var = (d0) map3.get(l11)) != null) {
                        d0Var.f27895a = !d0Var.f27895a;
                    }
                    w wVar = new w();
                    int source = keyEvent.getSource();
                    if (source == 513) {
                        wVar.f27960f = KeyData$DeviceType.f27871b;
                    } else if (source == 1025) {
                        wVar.f27960f = KeyData$DeviceType.f27872c;
                    } else if (source == 16777232) {
                        wVar.f27960f = KeyData$DeviceType.f27873d;
                    } else if (source != 33554433) {
                        wVar.f27960f = KeyData$DeviceType.f27870a;
                    } else {
                        wVar.f27960f = KeyData$DeviceType.f27874e;
                    }
                    wVar.f27955a = keyEvent.getEventTime();
                    wVar.f27956b = keyData$Type;
                    wVar.f27958d = l11.longValue();
                    wVar.f27957c = l10.longValue();
                    wVar.character = str;
                    wVar.f27959e = z11;
                    b(wVar, t0Var2);
                    Iterator it = arrayList.iterator();
                    while (it.hasNext()) {
                        ((Runnable) it.next()).run();
                    }
                    return;
                }
                j2.e eVar = eVarArr2[i13];
                boolean z14 = (keyEvent.getMetaState() & eVar.f28616a) != 0;
                long jLongValue = l11.longValue();
                final long jLongValue2 = l10.longValue();
                l0[] l0VarArr2 = (l0[]) eVar.f28617b;
                boolean[] zArr2 = new boolean[l0VarArr2.length];
                Boolean[] boolArr = new Boolean[l0VarArr2.length];
                int i14 = 0;
                boolean z15 = false;
                while (i14 < l0VarArr2.length) {
                    final l0 l0Var = l0VarArr2[i14];
                    int i15 = i13;
                    KeyData$Type keyData$Type9 = keyData$Type7;
                    boolean zContainsKey2 = map2.containsKey(Long.valueOf(l0Var.f2247b));
                    zArr2[i14] = zContainsKey2;
                    KeyData$Type keyData$Type10 = keyData$Type8;
                    HashMap map4 = map2;
                    if (l0Var.f2248c == jLongValue) {
                        boolean z16 = keyEvent.getRepeatCount() > 0;
                        int action2 = keyEvent.getAction();
                        if (action2 == 0) {
                            keyData$Type5 = z16 ? keyData$Type9 : keyData$Type10;
                        } else {
                            if (action2 != 1) {
                                throw new AssertionError("Unexpected event type");
                            }
                            keyData$Type5 = keyData$Type6;
                        }
                        int iOrdinal = keyData$Type5.ordinal();
                        if (iOrdinal != 0) {
                            if (iOrdinal == 1) {
                                boolArr[i14] = Boolean.valueOf(zArr2[i14]);
                            } else if (iOrdinal == 2) {
                                if (!z14) {
                                    arrayList.add(new androidx.emoji2.text.v(this, l0Var, keyEvent, 10));
                                }
                                boolArr[i14] = Boolean.valueOf(zArr2[i14]);
                                zArr = zArr2;
                                l0VarArr = l0VarArr2;
                                eVarArr = eVarArr2;
                                i11 = i15;
                                keyData$Type4 = keyData$Type10;
                                z15 = true;
                                map = map4;
                                i12 = length;
                            }
                            zArr = zArr2;
                            l0VarArr = l0VarArr2;
                            eVarArr = eVarArr2;
                            i11 = i15;
                            keyData$Type4 = keyData$Type10;
                            map = map4;
                            i12 = length;
                        } else {
                            boolArr[i14] = Boolean.FALSE;
                            if (z14) {
                                zArr = zArr2;
                                l0VarArr = l0VarArr2;
                                eVarArr = eVarArr2;
                                i11 = i15;
                                keyData$Type4 = keyData$Type10;
                                map = map4;
                                i12 = length;
                            } else {
                                zArr = zArr2;
                                eVarArr = eVarArr2;
                                i12 = length;
                                i11 = i15;
                                keyData$Type4 = keyData$Type10;
                                map = map4;
                                l0VarArr = l0VarArr2;
                                arrayList.add(new Runnable() { // from class: io.flutter.embedding.android.y
                                    @Override // java.lang.Runnable
                                    public final void run() {
                                        z zVar = this.f27962a;
                                        zVar.getClass();
                                        zVar.c(false, Long.valueOf(l0Var.f2248c), Long.valueOf(jLongValue2), keyEvent.getEventTime());
                                    }
                                });
                            }
                            z15 = true;
                        }
                    } else {
                        zArr = zArr2;
                        l0VarArr = l0VarArr2;
                        eVarArr = eVarArr2;
                        i11 = i15;
                        keyData$Type4 = keyData$Type10;
                        map = map4;
                        i12 = length;
                        z15 = z15 || zContainsKey2;
                    }
                    i14++;
                    l0VarArr2 = l0VarArr;
                    i13 = i11;
                    map2 = map;
                    keyData$Type8 = keyData$Type4;
                    keyData$Type7 = keyData$Type9;
                    length = i12;
                    zArr2 = zArr;
                    eVarArr2 = eVarArr;
                }
                boolean[] zArr3 = zArr2;
                int i16 = i13;
                l0[] l0VarArr3 = l0VarArr2;
                j2.e[] eVarArr3 = eVarArr2;
                int i17 = length;
                if (z14) {
                    for (int i18 = 0; i18 < l0VarArr3.length; i18++) {
                        if (boolArr[i18] == null) {
                            if (z15) {
                                boolArr[i18] = Boolean.valueOf(zArr3[i18]);
                            } else {
                                boolArr[i18] = Boolean.TRUE;
                                z15 = true;
                            }
                        }
                    }
                    if (z15) {
                        i10 = 0;
                    } else {
                        i10 = 0;
                        boolArr[0] = Boolean.TRUE;
                    }
                } else {
                    i10 = 0;
                    for (int i19 = 0; i19 < l0VarArr3.length; i19++) {
                        if (boolArr[i19] == null) {
                            boolArr[i19] = Boolean.FALSE;
                        }
                    }
                }
                for (int i20 = i10; i20 < l0VarArr3.length; i20++) {
                    if (zArr3[i20] != boolArr[i20].booleanValue()) {
                        l0 l0Var2 = l0VarArr3[i20];
                        c(boolArr[i20].booleanValue(), Long.valueOf(l0Var2.f2248c), Long.valueOf(l0Var2.f2247b), keyEvent.getEventTime());
                    }
                }
                i13 = i16 + 1;
                length = i17;
                eVarArr2 = eVarArr3;
            }
        }
        c(true, 0L, 0L, 0L);
        t0Var.a(true);
    }

    public final void b(w wVar, final t0 t0Var) {
        byte[] bytes = null;
        ed.g gVar = t0Var == null ? null : new ed.g() { // from class: io.flutter.embedding.android.x
            @Override // ed.g
            public final void reply(ByteBuffer byteBuffer) {
                Boolean boolValueOf = Boolean.FALSE;
                if (byteBuffer != null) {
                    byteBuffer.rewind();
                    if (byteBuffer.capacity() != 0) {
                        boolValueOf = Boolean.valueOf(byteBuffer.get() != 0);
                    }
                }
                t0Var.a(boolValueOf.booleanValue());
            }
        };
        try {
            String str = wVar.character;
            if (str != null) {
                bytes = str.getBytes("UTF-8");
            }
            int length = bytes == null ? 0 : bytes.length;
            ByteBuffer byteBufferAllocateDirect = ByteBuffer.allocateDirect(length + 56);
            byteBufferAllocateDirect.order(ByteOrder.LITTLE_ENDIAN);
            byteBufferAllocateDirect.putLong(length);
            byteBufferAllocateDirect.putLong(wVar.f27955a);
            byteBufferAllocateDirect.putLong(wVar.f27956b.a());
            byteBufferAllocateDirect.putLong(wVar.f27957c);
            byteBufferAllocateDirect.putLong(wVar.f27958d);
            byteBufferAllocateDirect.putLong(wVar.f27959e ? 1L : 0L);
            byteBufferAllocateDirect.putLong(wVar.f27960f.a());
            if (bytes != null) {
                byteBufferAllocateDirect.put(bytes);
            }
            this.f27966a.send("flutter/keydata", byteBufferAllocateDirect, gVar);
        } catch (UnsupportedEncodingException unused) {
            throw new AssertionError("UTF-8 not supported");
        }
    }

    public final void c(boolean z10, Long l10, Long l11, long j10) {
        w wVar = new w();
        wVar.f27955a = j10;
        wVar.f27956b = z10 ? KeyData$Type.f27876a : KeyData$Type.f27877b;
        wVar.f27958d = l10.longValue();
        wVar.f27957c = l11.longValue();
        wVar.character = null;
        wVar.f27959e = true;
        wVar.f27960f = KeyData$DeviceType.f27870a;
        if (l11.longValue() != 0 && l10.longValue() != 0) {
            if (!z10) {
                l10 = null;
            }
            updatePressingState(l11, l10);
        }
        b(wVar, null);
    }

    public void updatePressingState(@NonNull Long l10, @Nullable Long l11) {
        HashMap map = this.f27967b;
        if (l11 != null) {
            if (((Long) map.put(l10, l11)) != null) {
                throw new AssertionError("The key was not empty");
            }
        } else if (((Long) map.remove(l10)) == null) {
            throw new AssertionError("The key was empty");
        }
    }
}
