Fix text_entered signal when max_length is used in LineEdit on Android

Fixes #35954

(cherry picked from commit c169367e83)
This commit is contained in:
PouleyKetchoupp 2020-03-13 17:04:11 +01:00 committed by Rémi Verschelde
parent 9a035efe62
commit 2e4e1e0324
1 changed files with 13 additions and 3 deletions

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, newChars[i], true);
GodotLib.key(0, newChars[i], false);
int key = newChars[i];
if (key == '\n') {
// Return keys are handled through action events
continue;
}
GodotLib.key(0, key, true);
GodotLib.key(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, 0, true);
GodotLib.key(KeyEvent.KEYCODE_ENTER, 0, false);
this.mView.requestFocus();
return true;
}
return false;
}