Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit e2c2e86

Browse files
committed
Implement left arrow using new getOffsetBefore
1 parent 5a76444 commit e2c2e86

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -343,14 +343,11 @@ public boolean sendKeyEvent(KeyEvent event) {
343343
int selStart = Selection.getSelectionStart(mEditable);
344344
int selEnd = Selection.getSelectionEnd(mEditable);
345345
if (selStart == selEnd && !event.isShiftPressed()) {
346-
Selection.moveLeft(mEditable, mLayout);
347-
int newSelStart = Selection.getSelectionStart(mEditable);
348-
setSelection(newSelStart, newSelStart);
346+
int newSel = Math.max(flutterTextUtils.getOffsetBefore(mEditable, selStart), 0);
347+
setSelection(newSel, newSel);
349348
} else {
350-
Selection.extendLeft(mEditable, mLayout);
351-
int newSelStart = Selection.getSelectionStart(mEditable);
352-
int newSelEnd = Selection.getSelectionEnd(mEditable);
353-
setSelection(newSelStart, newSelEnd);
349+
int newSelEnd = Math.max(flutterTextUtils.getOffsetBefore(mEditable, selEnd), 0);
350+
setSelection(selStart, newSelEnd);
354351
}
355352
return true;
356353
} else if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) {

0 commit comments

Comments
 (0)