diff --git a/app/src/main/java/com/termux/x11/LorieView.java b/app/src/main/java/com/termux/x11/LorieView.java index 6812b85f7..d642837cc 100644 --- a/app/src/main/java/com/termux/x11/LorieView.java +++ b/app/src/main/java/com/termux/x11/LorieView.java @@ -12,6 +12,7 @@ import android.graphics.Rect; import android.graphics.drawable.ColorDrawable; import android.os.Build; +import android.text.Editable; import android.text.InputType; import android.util.AttributeSet; import android.util.Log; @@ -312,11 +313,16 @@ public InputConnection onCreateInputConnection(EditorInfo outAttrs) { outAttrs.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | (mImeCJK ? InputType.TYPE_TEXT_VARIATION_NORMAL : InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); return new BaseInputConnection(this, false) { + // workaround for Gboard + // Gboard calls requestCursorUpdates() whenever switching language + // check and then restart keyboard in different inputType when needed + @Override + public Editable getEditable() { + checkRestartInput(true); + return super.getEditable(); + } @Override public boolean requestCursorUpdates(int cursorUpdateMode) { - // workaround for Gboard - // Gboard calls requestCursorUpdates() whenever switching language - // check and then restart keyboard in different inputtype when needed checkRestartInput(true); return super.requestCursorUpdates(cursorUpdateMode); }