package io.flutter.embedding.engine.systemchannels; import android.view.KeyEvent; import com.google.firebase.crashlytics.internal.common.AbstractSpiCall; import io.flutter.Log; import io.flutter.embedding.engine.systemchannels.KeyEventChannel; import io.flutter.plugin.common.BasicMessageChannel; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.JSONMessageCodec; import java.util.HashMap; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; /* loaded from: classes6.dex */ public class KeyEventChannel { private static final String TAG = "KeyEventChannel"; public final BasicMessageChannel channel; /* loaded from: classes6.dex */ public interface EventResponseHandler { void onFrameworkResponse(boolean z); } public KeyEventChannel(BinaryMessenger binaryMessenger) { this.channel = new BasicMessageChannel<>(binaryMessenger, "flutter/keyevent", JSONMessageCodec.INSTANCE); } public void sendFlutterKeyEvent(FlutterKeyEvent flutterKeyEvent, boolean z, EventResponseHandler eventResponseHandler) { this.channel.send(encodeKeyEvent(flutterKeyEvent, z), createReplyHandler(eventResponseHandler)); } private Map encodeKeyEvent(FlutterKeyEvent flutterKeyEvent, boolean z) { HashMap hashMap = new HashMap(); hashMap.put("type", z ? "keyup" : "keydown"); hashMap.put("keymap", AbstractSpiCall.ANDROID_CLIENT_TYPE); hashMap.put("flags", Integer.valueOf(flutterKeyEvent.event.getFlags())); hashMap.put("plainCodePoint", Integer.valueOf(flutterKeyEvent.event.getUnicodeChar(0))); hashMap.put("codePoint", Integer.valueOf(flutterKeyEvent.event.getUnicodeChar())); hashMap.put("keyCode", Integer.valueOf(flutterKeyEvent.event.getKeyCode())); hashMap.put("scanCode", Integer.valueOf(flutterKeyEvent.event.getScanCode())); hashMap.put("metaState", Integer.valueOf(flutterKeyEvent.event.getMetaState())); if (flutterKeyEvent.complexCharacter != null) { hashMap.put("character", flutterKeyEvent.complexCharacter.toString()); } hashMap.put("source", Integer.valueOf(flutterKeyEvent.event.getSource())); hashMap.put("deviceId", Integer.valueOf(flutterKeyEvent.event.getDeviceId())); hashMap.put("repeatCount", Integer.valueOf(flutterKeyEvent.event.getRepeatCount())); return hashMap; } private static BasicMessageChannel.Reply createReplyHandler(final EventResponseHandler eventResponseHandler) { return new BasicMessageChannel.Reply(eventResponseHandler) { // from class: io.flutter.embedding.engine.systemchannels.KeyEventChannel$$ExternalSyntheticLambda0 public final KeyEventChannel.EventResponseHandler f$0; { this.f$0 = eventResponseHandler; } @Override // io.flutter.plugin.common.BasicMessageChannel.Reply public final void reply(Object obj) { KeyEventChannel.lambda$createReplyHandler$0(this.f$0, obj); } }; } /* JADX INFO: Access modifiers changed from: package-private */ public static /* synthetic */ void lambda$createReplyHandler$0(EventResponseHandler eventResponseHandler, Object obj) { boolean z; if (obj != null) { try { z = ((JSONObject) obj).getBoolean("handled"); } catch (JSONException e) { Log.e(TAG, "Unable to unpack JSON message: " + e); } eventResponseHandler.onFrameworkResponse(z); } z = false; eventResponseHandler.onFrameworkResponse(z); } /* loaded from: classes6.dex */ public static class FlutterKeyEvent { public final Character complexCharacter; public final KeyEvent event; public FlutterKeyEvent(KeyEvent keyEvent) { this(keyEvent, null); } public FlutterKeyEvent(KeyEvent keyEvent, Character ch) { this.event = keyEvent; this.complexCharacter = ch; } } }