* fixed '*', '#', "." and "," not working properly in 123 mode * fixed typing "+" by holding 0-key not working in Dialer fields * fixed Predictive mode not allowing the same key for typing and as a hotkey, when being pressed and held, respectively. * removed EDITING_STRICT_NUMERIC, EDITING_DIALER and deprecated mEditing * added ModeDialer
43 lines
906 B
Java
43 lines
906 B
Java
package io.github.sspanak.tt9.ime.modes;
|
|
|
|
import android.view.KeyEvent;
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import io.github.sspanak.tt9.ime.helpers.Key;
|
|
|
|
public class Mode123 extends InputMode {
|
|
public int getId() { return MODE_123; }
|
|
|
|
Mode123() {
|
|
allowedTextCases.add(CASE_LOWER);
|
|
}
|
|
|
|
@Override
|
|
public boolean onNumber(int number, boolean hold, int repeat) {
|
|
reset();
|
|
keyCode = (number == 0 && hold) ? KeyEvent.KEYCODE_PLUS : Key.numberToCode(number);
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean onOtherKey(int key) {
|
|
reset();
|
|
if (Key.isDecimalSeparator(key) || Key.isPoundOrStar(key)) {
|
|
keyCode = key;
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
@Override public boolean is123() { return true; }
|
|
@Override final public boolean isNumeric() { return true; }
|
|
@Override public int getSequenceLength() { return 0; }
|
|
|
|
@NonNull
|
|
@Override
|
|
public String toString() {
|
|
return "123";
|
|
}
|
|
}
|