Merge pull request #37025 from nekomatata/lineedit-text-entered-android

Fix text_entered signal when max_length is used in LineEdit on Android
This commit is contained in:
Rémi Verschelde 2020-03-17 07:26:10 +01:00 committed by GitHub
commit 51772e75eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -110,8 +110,13 @@ public class GodotTextInputWrapper implements TextWatcher, OnEditorActionListene
@Override
public void run() {
for (int i = 0; i < count; ++i) {
GodotLib.key(0, 0, newChars[i], true);
GodotLib.key(0, 0, newChars[i], false);
int key = newChars[i];
if (key == '\n') {
// Return keys are handled through action events
continue;
}
GodotLib.key(0, 0, key, true);
GodotLib.key(0, 0, key, false);
}
}
});
@ -134,8 +139,13 @@ public class GodotTextInputWrapper implements TextWatcher, OnEditorActionListene
});
}
if (pActionID == EditorInfo.IME_ACTION_DONE) {
if (pActionID == EditorInfo.IME_NULL) {
// Enter key has been pressed
GodotLib.key(KeyEvent.KEYCODE_ENTER, KeyEvent.KEYCODE_ENTER, 0, true);
GodotLib.key(KeyEvent.KEYCODE_ENTER, KeyEvent.KEYCODE_ENTER, 0, false);
this.mView.requestFocus();
return true;
}
return false;
}