Android: Fix trying to backspace or insert numbers in numerical fields crashing the game on old android versions (Thanks 123DMWM)

This commit is contained in:
UnknownShadow200 2020-11-05 17:46:18 +11:00
parent 63f248f793
commit 34e4bf3605

View File

@ -447,9 +447,12 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback2 {
public boolean sendKeyEvent(KeyEvent ev) { public boolean sendKeyEvent(KeyEvent ev) {
if (ev.getAction() != KeyEvent.ACTION_DOWN) return super.sendKeyEvent(ev); if (ev.getAction() != KeyEvent.ACTION_DOWN) return super.sendKeyEvent(ev);
int code = ev.getKeyCode(); int code = ev.getKeyCode();
int start = Selection.getSelectionStart(kbText);
int uni = ev.getUnicodeChar(); int uni = ev.getUnicodeChar();
// start is -1 sometimes, and trying to insert/delete there crashes
int start = Selection.getSelectionStart(kbText);
if (start == -1) start = kbText.toString().length();
if (code == KeyEvent.KEYCODE_ENTER) { if (code == KeyEvent.KEYCODE_ENTER) {
// enter maps to \n but that should not be intercepted // enter maps to \n but that should not be intercepted
} else if (code == KeyEvent.KEYCODE_DEL) { } else if (code == KeyEvent.KEYCODE_DEL) {