what-the-bank/sources/io/flutter/embedding/engine/systemchannels/KeyEventChannel.java

97 lines
4.0 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
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<Object> 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<String, Object> 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<Object> 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;
}
}
}