diff options
author | 2015-03-09 16:20:06 +0000 | |
---|---|---|
committer | 2015-03-09 16:20:06 +0000 | |
commit | fdd4fdb516a6d7396265ba7a6f67dc74fc02913a (patch) | |
tree | 0792d97204a55d469a0e42a1c9e387f891f6a6a3 /java/src | |
parent | 80b74754c63a8bf808b1266b828432e3cdb22c0a (diff) | |
parent | 491ca900a7535ddb19c3ad633475bb68ba18113c (diff) | |
download | latinime-fdd4fdb516a6d7396265ba7a6f67dc74fc02913a.tar.gz latinime-fdd4fdb516a6d7396265ba7a6f67dc74fc02913a.tar.xz latinime-fdd4fdb516a6d7396265ba7a6f67dc74fc02913a.zip |
am 491ca900: Merge "Handle null InputMethodSubtype."
* commit '491ca900a7535ddb19c3ad633475bb68ba18113c':
Handle null InputMethodSubtype.
Diffstat (limited to 'java/src')
3 files changed, 15 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java index c8e0b93bf..602205b59 100644 --- a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java +++ b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java @@ -46,6 +46,7 @@ import java.util.Map; import java.util.Set; import javax.annotation.Nonnull; +import javax.annotation.Nullable; /** * Enrichment class for InputMethodManager to simplify interaction and add functionality. @@ -329,7 +330,7 @@ public class RichInputMethodManager { @UsedForTesting static void forceSubtype(@Nonnull final InputMethodSubtype subtype) { - sForcedSubtypeForTesting = new RichInputMethodSubtype(subtype); + sForcedSubtypeForTesting = RichInputMethodSubtype.getRichInputMethodSubtype(subtype); } @Nonnull @@ -488,8 +489,8 @@ public class RichInputMethodManager { return true; } - private void updateCurrentSubtype(@Nonnull final InputMethodSubtype subtype) { - mCurrentRichInputMethodSubtype = new RichInputMethodSubtype(subtype); + private void updateCurrentSubtype(@Nullable final InputMethodSubtype subtype) { + mCurrentRichInputMethodSubtype = RichInputMethodSubtype.getRichInputMethodSubtype(subtype); } private void updateShortcutIme() { diff --git a/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java b/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java index ea8d4a210..8734e5925 100644 --- a/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java +++ b/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java @@ -30,6 +30,7 @@ import java.util.Arrays; import java.util.Locale; import javax.annotation.Nonnull; +import javax.annotation.Nullable; /** * Enrichment class for InputMethodSubtype to enable concurrent multi-lingual input. @@ -147,6 +148,15 @@ public final class RichInputMethodSubtype { return SubtypeLocaleUtils.getKeyboardLayoutSetName(mSubtype); } + public static RichInputMethodSubtype getRichInputMethodSubtype( + @Nullable final InputMethodSubtype subtype) { + if (subtype == null) { + return getNoLanguageSubtype(); + } else { + return new RichInputMethodSubtype(subtype); + } + } + // Dummy no language QWERTY subtype. See {@link R.xml.method}. private static final int SUBTYPE_ID_OF_DUMMY_NO_LANGUAGE_SUBTYPE = 0xdde0bfd3; private static final String EXTRA_VALUE_OF_DUMMY_NO_LANGUAGE_SUBTYPE = diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java index f04f093f0..ff0578d13 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java @@ -260,7 +260,7 @@ public final class AndroidSpellCheckerService extends SpellCheckerService final KeyboardLayoutSet.Builder builder = new KeyboardLayoutSet.Builder(this, editorInfo); builder.setKeyboardGeometry( SPELLCHECKER_DUMMY_KEYBOARD_WIDTH, SPELLCHECKER_DUMMY_KEYBOARD_HEIGHT); - builder.setSubtype(new RichInputMethodSubtype(subtype)); + builder.setSubtype(RichInputMethodSubtype.getRichInputMethodSubtype(subtype)); builder.setIsSpellChecker(true /* isSpellChecker */); builder.disableTouchPositionCorrectionData(); return builder.build(); |