diff --git a/res/layout/mainview.xml b/res/layout/mainview.xml index d6b85c99..fc687549 100644 --- a/res/layout/mainview.xml +++ b/res/layout/mainview.xml @@ -13,9 +13,8 @@ android:background="@color/candidate_background" /> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 7ddcbbd6..81b9401d 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -5,6 +5,6 @@ 6sp 1sp - 36dp + 44dp 24sp diff --git a/src/io/github/sspanak/tt9/ime/TraditionalT9.java b/src/io/github/sspanak/tt9/ime/TraditionalT9.java index e3849d5d..a27688f9 100644 --- a/src/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/src/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -136,7 +136,6 @@ public class TraditionalT9 extends KeyPadHandler { mInputMode.onAcceptSuggestion(mLanguage, mSuggestionView.getCurrentSuggestion()); commitCurrentSuggestion(); - determineNextTextCase(); resetKeyRepeat(); return true; @@ -201,10 +200,11 @@ public class TraditionalT9 extends KeyPadHandler { if (mInputMode.shouldAcceptCurrentSuggestion(mLanguage, key, hold, repeat)) { mInputMode.onAcceptSuggestion(mLanguage, getComposingText()); commitCurrentSuggestion(false); - determineNextTextCase(); - } else if (!InputFieldHelper.isThereText(currentInputConnection)) { - // it would have been nice to determine the text case on every key press, - // but it is somewhat resource-intensive + } + + // Auto-adjust the text case before each word, if the InputMode supports it. + // We don't do it too often, because it is somewhat resource-intensive. + if (getComposingText().length() == 0) { determineNextTextCase(); } @@ -427,9 +427,7 @@ public class TraditionalT9 extends KeyPadHandler { // when typing a word or viewing scrolling the suggestions, only change the case else if (!isSuggestionViewHidden()) { mInputMode.nextTextCase(); - ArrayList switchedSuggestions = mInputMode.getSuggestions(mLanguage); - - setSuggestions(switchedSuggestions, mSuggestionView.getCurrentIndex()); + setSuggestions(mInputMode.getSuggestions(mLanguage), mSuggestionView.getCurrentIndex()); refreshComposingText(); } // make "abc" and "ABC" separate modes from user perspective diff --git a/src/io/github/sspanak/tt9/ime/modes/ModeABC.java b/src/io/github/sspanak/tt9/ime/modes/ModeABC.java index c024446d..6a206c3f 100644 --- a/src/io/github/sspanak/tt9/ime/modes/ModeABC.java +++ b/src/io/github/sspanak/tt9/ime/modes/ModeABC.java @@ -24,7 +24,6 @@ public class ModeABC extends InputMode { suggestions = new ArrayList<>(); word = String.valueOf(key); } else if (repeat) { - suggestions = new ArrayList<>(); shouldSelectNextLetter = true; }