1
0
Fork 0

Virtual Keypad: moved the Korean space from Filter to Add Word

This commit is contained in:
sspanak 2025-05-09 17:03:49 +03:00 committed by Dimo Karaivanov
parent 4614a05938
commit c58a6d7a23
2 changed files with 26 additions and 35 deletions

View file

@ -10,25 +10,34 @@ public class SoftKeyAddWord extends BaseSoftKeyWithIcons {
public SoftKeyAddWord(Context context, AttributeSet attrs) { super(context, attrs); } public SoftKeyAddWord(Context context, AttributeSet attrs) { super(context, attrs); }
public SoftKeyAddWord(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public SoftKeyAddWord(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); }
@Override @Override protected String getTitle() { return hasLettersOnAllKeys() ? "" : ""; }
protected int getCentralIcon() { @Override protected int getCentralIcon() { return hasLettersOnAllKeys() ? 0 : R.drawable.ic_fn_add_word; }
return R.drawable.ic_fn_add_word; @Override protected float getTitleScale() { return hasLettersOnAllKeys() ? 1.3f * Math.min(1, getTT9Height()) * getScreenScaleY() : super.getTitleScale(); }
}
@Override @Override
protected boolean handleRelease() { protected boolean handleRelease() {
if (validateTT9Handler()) { if (!validateTT9Handler()) {
return false;
}
if (hasLettersOnAllKeys()) {
return tt9.onKeySpaceKorean(false);
} else {
tt9.addWord(); tt9.addWord();
return true; return true;
} }
return false;
} }
@Override @Override
public void render() { public void render() {
if (tt9 != null) { if (tt9 != null) {
setEnabled(!tt9.isVoiceInputActive() && tt9.isAddingWordsSupported() && !tt9.isTextEditingActive()); setEnabled(
(
(tt9.isAddingWordsSupported() && !tt9.isTextEditingActive())
|| hasLettersOnAllKeys()
)
&& !tt9.isVoiceInputActive()
);
} }
super.render(); super.render();
} }

View file

@ -13,11 +13,6 @@ public class SoftKeyFilter extends BaseSoftKeyWithIcons {
@Override @Override
protected void handleHold() { protected void handleHold() {
if (hasLettersOnAllKeys()) {
handleRelease();
return;
}
preventRepeat(); preventRepeat();
if (validateTT9Handler() && tt9.onKeyFilterClear(false)) { if (validateTT9Handler() && tt9.onKeyFilterClear(false)) {
vibrate(Vibration.getHoldVibration()); vibrate(Vibration.getHoldVibration());
@ -25,38 +20,25 @@ public class SoftKeyFilter extends BaseSoftKeyWithIcons {
} }
} }
@Override @Override
protected boolean handleRelease() { protected boolean handleRelease() {
if (!validateTT9Handler()) { return
return false; validateTT9Handler()
} && tt9.onKeyFilterSuggestions(false, getLastPressedKey() == getId());
if (hasLettersOnAllKeys()) {
return tt9.onKeySpaceKorean(false);
} else {
return tt9.onKeyFilterSuggestions(false, getLastPressedKey() == getId());
}
} }
@Override protected int getCentralIcon() { return R.drawable.ic_fn_filter; }
@Override protected String getTitle() { return hasLettersOnAllKeys() ? "" : ""; } @Override protected int getHoldIcon() { return R.drawable.ic_fn_filter_off; }
@Override protected int getCentralIcon() { return hasLettersOnAllKeys() ? 0 : R.drawable.ic_fn_filter; }
@Override protected int getHoldIcon() { return hasLettersOnAllKeys() ? 0 : R.drawable.ic_fn_filter_off; }
@Override protected float getTitleScale() { return hasLettersOnAllKeys() ? 1.3f * Math.min(1, getTT9Height()) * getScreenScaleY() : super.getTitleScale(); }
@Override @Override
public void render() { public void render() {
if (tt9 != null) { if (tt9 != null) {
setEnabled( setEnabled(
!tt9.isInputModeNumeric() tt9.isFilteringSupported()
&& !tt9.isInputModeABC()
&& !tt9.isInputModeNumeric()
&& !tt9.isVoiceInputActive() && !tt9.isVoiceInputActive()
&& (!tt9.isInputModeABC() || hasLettersOnAllKeys()) && !tt9.isTextEditingActive()
&& (
hasLettersOnAllKeys()
|| (tt9.isFilteringSupported() && !tt9.isTextEditingActive())
)
); );
} }