From c8edf071daaae5a62929250ee841713f8ae757b9 Mon Sep 17 00:00:00 2001 From: volzhs Date: Sat, 4 Mar 2017 00:12:35 +0900 Subject: [PATCH] Fix handling input for Android --- .../godot/input/GodotTextInputWrapper.java | 49 +++++-------------- 1 file changed, 12 insertions(+), 37 deletions(-) diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java index 80cded6fb53..3c8207fae18 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java @@ -49,7 +49,6 @@ public class GodotTextInputWrapper implements TextWatcher, OnEditorActionListene // =========================================================== private final GodotView mView; private final GodotEditText mEdit; - private String mText; private String mOriginText; // =========================================================== @@ -81,52 +80,28 @@ public class GodotTextInputWrapper implements TextWatcher, OnEditorActionListene @Override public void afterTextChanged(final Editable s) { - if (this.isFullScreenEdit()) { - return; - } - //if (BuildConfig.DEBUG) { - //Log.d(TAG, "afterTextChanged: " + s); - //} - int nModified = s.length() - this.mText.length(); - if (nModified > 0) { - final String insertText = s.subSequence(this.mText.length(), s.length()).toString(); - for(int i = 0; i < insertText.length(); i++) { - int ch = insertText.codePointAt(i); - GodotLib.key(0, ch, true); - GodotLib.key(0, ch, false); - } - /* - if (BuildConfig.DEBUG) { - Log.d(TAG, "insertText(" + insertText + ")"); - } - */ - } else { - for (; nModified < 0; ++nModified) { - GodotLib.key(KeyEvent.KEYCODE_DEL, 0, true); - GodotLib.key(KeyEvent.KEYCODE_DEL, 0, false); - /* - if (BuildConfig.DEBUG) { - Log.d(TAG, "deleteBackward"); - } - */ - } - } - this.mText = s.toString(); } @Override public void beforeTextChanged(final CharSequence pCharSequence, final int start, final int count, final int after) { - /* - if (BuildConfig.DEBUG) { - Log.d(TAG, "beforeTextChanged(" + pCharSequence + ")start: " + start + ",count: " + count + ",after: " + after); + //Log.d(TAG, "beforeTextChanged(" + pCharSequence + ")start: " + start + ",count: " + count + ",after: " + after); + + for (int i=0;i