1
0
Fork 0

removed the Korean punctuation hack

This commit is contained in:
sspanak 2024-12-19 17:19:13 +02:00 committed by Dimo Karaivanov
parent 850e16f101
commit 2cdc1dc04f
3 changed files with 5 additions and 22 deletions

View file

@ -46,7 +46,7 @@ class ModeCheonjiin extends InputMode {
protected ModeCheonjiin(SettingsStore settings, InputType inputType, TextField textField) { protected ModeCheonjiin(SettingsStore settings, InputType inputType, TextField textField) {
super(settings, inputType); super(settings, inputType);
SPECIAL_CHAR_SEQUENCE_PREFIX = settings.holdForPunctuationInKorean() ? "11" : "1"; SPECIAL_CHAR_SEQUENCE_PREFIX = "11";
digitSequence = ""; digitSequence = "";
allowedTextCases.add(CASE_LOWER); allowedTextCases.add(CASE_LOWER);
@ -77,9 +77,7 @@ class ModeCheonjiin extends InputMode {
protected void setCustomSpecialCharacters() { protected void setCustomSpecialCharacters() {
// special // special
KEY_CHARACTERS.add(TextTools.removeLettersFromList(applyPunctuationOrder(Characters.Special, 0))); KEY_CHARACTERS.add(TextTools.removeLettersFromList(applyPunctuationOrder(Characters.Special, 0)));
if (settings.holdForPunctuationInKorean()) { KEY_CHARACTERS.get(0).add(0, "0");
KEY_CHARACTERS.get(0).add(0, "0");
}
// punctuation // punctuation
KEY_CHARACTERS.add( KEY_CHARACTERS.add(
@ -107,7 +105,7 @@ class ModeCheonjiin extends InputMode {
@Override @Override
public boolean onBackspace() { public boolean onBackspace() {
if (settings.holdForPunctuationInKorean() && digitSequence.equals(PUNCTUATION_SEQUENCE)) { if (digitSequence.equals(PUNCTUATION_SEQUENCE)) {
digitSequence = ""; digitSequence = "";
} else if (digitSequence.equals(SPECIAL_CHAR_SEQUENCE) || (!digitSequence.startsWith(PUNCTUATION_SEQUENCE) && Cheonjiin.isSingleJamo(digitSequence))) { } else if (digitSequence.equals(SPECIAL_CHAR_SEQUENCE) || (!digitSequence.startsWith(PUNCTUATION_SEQUENCE) && Cheonjiin.isSingleJamo(digitSequence))) {
digitSequence = ""; digitSequence = "";
@ -137,10 +135,10 @@ class ModeCheonjiin extends InputMode {
protected void onNumberHold(int number) { protected void onNumberHold(int number) {
if (settings.holdForPunctuationInKorean() && number == 0) { if (number == 0) {
disablePredictions = false; disablePredictions = false;
digitSequence = SPECIAL_CHAR_SEQUENCE; digitSequence = SPECIAL_CHAR_SEQUENCE;
} else if (settings.holdForPunctuationInKorean() && number == 1) { } else if (number == 1) {
disablePredictions = false; disablePredictions = false;
digitSequence = PUNCTUATION_SEQUENCE; digitSequence = PUNCTUATION_SEQUENCE;
} else { } else {
@ -169,10 +167,6 @@ class ModeCheonjiin extends InputMode {
final int repeatingDigits = digitSequence.length() > 1 && digitSequence.charAt(digitSequence.length() - 1) == nextChar ? Cheonjiin.getRepeatingEndingDigits(digitSequence) : 0; final int repeatingDigits = digitSequence.length() > 1 && digitSequence.charAt(digitSequence.length() - 1) == nextChar ? Cheonjiin.getRepeatingEndingDigits(digitSequence) : 0;
final int keyCharsCount = nextNumber == 0 ? 2 : language.getKeyCharacters(nextNumber).size(); final int keyCharsCount = nextNumber == 0 ? 2 : language.getKeyCharacters(nextNumber).size();
if (!settings.holdForPunctuationInKorean() && SPECIAL_CHAR_SEQUENCE.equals(digitSequence + nextNumber)) {
return 0;
}
if (SPECIAL_CHAR_SEQUENCE.equals(digitSequence)) { if (SPECIAL_CHAR_SEQUENCE.equals(digitSequence)) {
return SPECIAL_CHAR_SEQUENCE.length(); return SPECIAL_CHAR_SEQUENCE.length();
} }

View file

@ -37,10 +37,6 @@ class SettingsHacks extends BaseSettings {
/************* hack settings *************/ /************* hack settings *************/
public boolean holdForPunctuationInKorean() {
return prefs.getBoolean("pref_hold_for_punctuation_in_korean", true);
}
public int getSuggestionScrollingDelay() { public int getSuggestionScrollingDelay() {
boolean defaultOn = DeviceInfo.noTouchScreen(context) && Build.VERSION.SDK_INT < Build.VERSION_CODES.Q; boolean defaultOn = DeviceInfo.noTouchScreen(context) && Build.VERSION.SDK_INT < Build.VERSION_CODES.Q;
return prefs.getBoolean("pref_alternative_suggestion_scrolling", defaultOn) ? 200 : 0; return prefs.getBoolean("pref_alternative_suggestion_scrolling", defaultOn) ? 200 : 0;

View file

@ -19,13 +19,6 @@
<DropDownPreference <DropDownPreference
app:key="pref_input_handling_mode" app:key="pref_input_handling_mode"
app:title="Keypad Handling Mode" /> app:title="Keypad Handling Mode" />
<SwitchPreferenceCompat
app:defaultValue="true"
app:key="pref_hold_for_punctuation_in_korean"
app:title="Hold to type special chars in Korean"
app:summaryOff="Type special chars by multi-pressing 1-key or 0-key"
app:summaryOn="Type special chars by holding 1-key or 0-key" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory app:title="Logging" app:singleLineTitle="true"> <PreferenceCategory app:title="Logging" app:singleLineTitle="true">