fixed the suggestions scrolling in the wrong direction in ABC mode, when the system language is RTL
This commit is contained in:
parent
bf91db2bcb
commit
4c1f38f94a
2 changed files with 14 additions and 4 deletions
|
|
@ -1,6 +1,8 @@
|
|||
package io.github.sspanak.tt9.ime;
|
||||
|
||||
import android.view.KeyEvent;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputConnection;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.db.DictionaryLoader;
|
||||
|
|
@ -9,11 +11,15 @@ import io.github.sspanak.tt9.ime.modes.InputMode;
|
|||
import io.github.sspanak.tt9.ime.modes.ModeABC;
|
||||
import io.github.sspanak.tt9.ime.modes.ModePredictive;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.preferences.helpers.Hotkeys;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
|
||||
|
||||
public abstract class HotkeyHandler extends TypingHandler {
|
||||
private boolean isSystemRTL;
|
||||
|
||||
|
||||
@Override
|
||||
protected void onInit() {
|
||||
if (settings.areHotkeysInitialized()) {
|
||||
|
|
@ -22,6 +28,13 @@ public abstract class HotkeyHandler extends TypingHandler {
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected boolean onStart(InputConnection connection, EditorInfo field) {
|
||||
isSystemRTL = LanguageKind.isRTL(LanguageCollection.getDefault(this));
|
||||
return super.onStart(connection, field);
|
||||
}
|
||||
|
||||
|
||||
@Override public boolean onBack() {
|
||||
return settings.isMainLayoutNumpad();
|
||||
}
|
||||
|
|
@ -195,6 +208,7 @@ public abstract class HotkeyHandler extends TypingHandler {
|
|||
return true;
|
||||
}
|
||||
|
||||
backward = isSystemRTL != backward;
|
||||
scrollSuggestions(backward);
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ import io.github.sspanak.tt9.ime.modes.InputMode;
|
|||
import io.github.sspanak.tt9.ime.modes.ModePredictive;
|
||||
import io.github.sspanak.tt9.languages.Language;
|
||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||
import io.github.sspanak.tt9.languages.LanguageKind;
|
||||
import io.github.sspanak.tt9.ui.UI;
|
||||
import io.github.sspanak.tt9.util.Text;
|
||||
|
||||
|
|
@ -30,7 +29,6 @@ public abstract class TypingHandler extends KeyPadHandler {
|
|||
@NonNull protected InputType inputType = new InputType(null, null);
|
||||
@NonNull protected TextField textField = new TextField(null, null);
|
||||
protected SuggestionOps suggestionOps;
|
||||
private boolean isSystemRTL;
|
||||
|
||||
// input
|
||||
protected ArrayList<Integer> allowedInputModes = new ArrayList<>();
|
||||
|
|
@ -63,7 +61,6 @@ public abstract class TypingHandler extends KeyPadHandler {
|
|||
return false;
|
||||
}
|
||||
|
||||
isSystemRTL = LanguageKind.isRTL(LanguageCollection.getDefault(this));
|
||||
resetKeyRepeat();
|
||||
mInputMode = getInputMode();
|
||||
determineTextCase();
|
||||
|
|
@ -354,7 +351,6 @@ public abstract class TypingHandler extends KeyPadHandler {
|
|||
|
||||
protected void scrollSuggestions(boolean backward) {
|
||||
suggestionOps.cancelDelayedAccept();
|
||||
backward = isSystemRTL != backward;
|
||||
suggestionOps.scrollTo(backward ? -1 : 1);
|
||||
mInputMode.setWordStem(suggestionOps.getCurrent(), true);
|
||||
appHacks.setComposingTextWithHighlightedStem(suggestionOps.getCurrent(), mInputMode);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue