1
0
Fork 0

composing text is now hidden for numeric fields, for better compatibility

This commit is contained in:
sspanak 2024-04-05 18:46:24 +03:00 committed by Dimo Karaivanov
parent dce95c2888
commit e1b7496733

View file

@ -25,10 +25,16 @@ public class TextField {
private final InputConnection connection;
private final EditorInfo field;
private final boolean isComposingSupported;
private CharSequence composingText = "";
public TextField(InputConnection inputConnection, EditorInfo inputField) {
connection = inputConnection;
field = inputField;
InputType inputType = new InputType(inputConnection, inputField);
isComposingSupported = !inputType.isNumeric() && !inputType.isLimited();
}
@ -164,7 +170,8 @@ public class TextField {
* A fail-safe setter for composing text, which ignores NULL input.
*/
public void setComposingText(CharSequence text, int position) {
if (text != null && connection != null) {
composingText = text;
if (text != null && connection != null && isComposingSupported) {
connection.setComposingText(text, position);
}
}
@ -194,8 +201,14 @@ public class TextField {
* Finish composing text or do nothing if the text field is invalid.
*/
public void finishComposingText() {
if (connection != null) {
if (connection == null) {
return;
}
if (isComposingSupported) {
connection.finishComposingText();
} else {
connection.commitText(composingText, 1);
}
}