diff options
author | 2013-10-09 11:14:03 +0900 | |
---|---|---|
committer | 2013-10-09 12:50:50 +0900 | |
commit | 50f9ca4acd799c7ad2abd18fcdab2a895ed32dd7 (patch) | |
tree | 16ebbed7b502178962d172a6ad1da66d254725c5 /java/src/com/android/inputmethod/latin | |
parent | d823988b5384561b3ec8149be03e99c9661c2ade (diff) | |
download | latinime-50f9ca4acd799c7ad2abd18fcdab2a895ed32dd7.tar.gz latinime-50f9ca4acd799c7ad2abd18fcdab2a895ed32dd7.tar.xz latinime-50f9ca4acd799c7ad2abd18fcdab2a895ed32dd7.zip |
Fix crash in AdditionalSubtypeUtils
Bug: 11136982
Change-Id: I9d022a178c47bad3566be4c0bd8ffbce0b14896d
Diffstat (limited to 'java/src/com/android/inputmethod/latin')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java b/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java index ff332cdee..d87f6f3c4 100644 --- a/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java @@ -25,6 +25,7 @@ import android.os.Build; import android.text.TextUtils; import android.view.inputmethod.InputMethodSubtype; +import com.android.inputmethod.compat.InputMethodSubtypeCompatUtils; import com.android.inputmethod.latin.Constants; import com.android.inputmethod.latin.R; @@ -143,12 +144,17 @@ public final class AdditionalSubtypeUtils { // from the current users. So, you should be really careful to change it. final int subtypeId = getInputMethodSubtypeId(nameId, localeString, layoutExtraValue, additionalSubtypeExtraValue); - // TODO: Use InputMethodSubtypeBuilder once we use SDK version 19. - return new InputMethodSubtype(nameId, R.drawable.ic_ime_switcher_dark, - localeString, KEYBOARD_MODE, layoutExtraValue + "," + additionalSubtypeExtraValue - + "," + Constants.Subtype.ExtraValue.ASCII_CAPABLE - + "," + Constants.Subtype.ExtraValue.EMOJI_CAPABLE, false, false, - subtypeId); + final String extraValue; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + extraValue = layoutExtraValue + "," + additionalSubtypeExtraValue + + "," + Constants.Subtype.ExtraValue.ASCII_CAPABLE + + "," + Constants.Subtype.ExtraValue.EMOJI_CAPABLE; + } else { + extraValue = layoutExtraValue + "," + additionalSubtypeExtraValue; + } + return InputMethodSubtypeCompatUtils.newInputMethodSubtype(nameId, + R.drawable.ic_ime_switcher_dark, localeString, KEYBOARD_MODE, extraValue, + false, false, subtypeId); } private static int getInputMethodSubtypeId(int nameId, String localeString, |