diff options
26 files changed, 28 insertions, 16 deletions
diff --git a/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png Binary files differindex 99ac30912..8a88a90d7 100644 --- a/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png +++ b/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png diff --git a/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png Binary files differindex 9019ebdd6..ee804abce 100644 --- a/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png +++ b/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png diff --git a/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png Binary files differindex f6c3c0d97..4b285052e 100644 --- a/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png +++ b/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked_lxx_dark.png Binary files differindex 108eb7402..3d5dab0b2 100644 --- a/java/res/drawable-hdpi/sym_keyboard_shift_locked_lxx_dark.png +++ b/java/res/drawable-hdpi/sym_keyboard_shift_locked_lxx_dark.png diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_shift_lxx_dark.png Binary files differindex 141f5ad06..15693adeb 100644 --- a/java/res/drawable-hdpi/sym_keyboard_shift_lxx_dark.png +++ b/java/res/drawable-hdpi/sym_keyboard_shift_lxx_dark.png diff --git a/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png Binary files differindex 61c10145c..414cb0d58 100644 --- a/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png +++ b/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png diff --git a/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png Binary files differindex f176956ca..40655ca3b 100644 --- a/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png +++ b/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png diff --git a/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png Binary files differindex 8903e02eb..58eb1a9be 100644 --- a/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png +++ b/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked_lxx_dark.png Binary files differindex 9c8903128..3b98d136a 100644 --- a/java/res/drawable-mdpi/sym_keyboard_shift_locked_lxx_dark.png +++ b/java/res/drawable-mdpi/sym_keyboard_shift_locked_lxx_dark.png diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_shift_lxx_dark.png Binary files differindex 926c3635e..6a3755cd1 100644 --- a/java/res/drawable-mdpi/sym_keyboard_shift_lxx_dark.png +++ b/java/res/drawable-mdpi/sym_keyboard_shift_lxx_dark.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png Binary files differindex 9e05e84b9..8b5b0b4de 100644 --- a/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png +++ b/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png Binary files differindex 8995d8797..9bc4fc81e 100644 --- a/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png +++ b/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png Binary files differindex 351f73bcb..9804d0b4c 100644 --- a/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png +++ b/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_shift_locked_lxx_dark.png Binary files differindex 6ee55e8c7..97269b761 100644 --- a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_lxx_dark.png +++ b/java/res/drawable-xhdpi/sym_keyboard_shift_locked_lxx_dark.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_shift_lxx_dark.png Binary files differindex a5c509324..2967cc1c6 100644 --- a/java/res/drawable-xhdpi/sym_keyboard_shift_lxx_dark.png +++ b/java/res/drawable-xhdpi/sym_keyboard_shift_lxx_dark.png diff --git a/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png Binary files differindex a04a41c39..1e2819b73 100644 --- a/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png +++ b/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png diff --git a/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png Binary files differindex c87d8f029..bae6cb1fa 100644 --- a/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png +++ b/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png diff --git a/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png Binary files differindex 08334f0da..2d9ccb4da 100644 --- a/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png +++ b/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png diff --git a/java/res/drawable-xxhdpi/sym_keyboard_shift_locked_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_shift_locked_lxx_dark.png Binary files differindex 2595ec985..f34671884 100644 --- a/java/res/drawable-xxhdpi/sym_keyboard_shift_locked_lxx_dark.png +++ b/java/res/drawable-xxhdpi/sym_keyboard_shift_locked_lxx_dark.png diff --git a/java/res/drawable-xxhdpi/sym_keyboard_shift_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_shift_lxx_dark.png Binary files differindex a58b525a0..d5b45a589 100644 --- a/java/res/drawable-xxhdpi/sym_keyboard_shift_lxx_dark.png +++ b/java/res/drawable-xxhdpi/sym_keyboard_shift_lxx_dark.png diff --git a/java/res/values/keyboard-icons-lxx-dark.xml b/java/res/values/keyboard-icons-lxx-dark.xml index 07af85eab..6e9c4d1c1 100644 --- a/java/res/values/keyboard-icons-lxx-dark.xml +++ b/java/res/values/keyboard-icons-lxx-dark.xml @@ -22,7 +22,7 @@ <style name="KeyboardIcons.LXX_Dark"> <!-- Keyboard icons --> <!-- TODO: Update those icons for LXX theme. --> - <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item> + <item name="iconShiftKey">@drawable/sym_keyboard_shift_lxx_dark</item> <item name="iconDeleteKey">@drawable/sym_keyboard_delete_lxx_dark</item> <item name="iconSettingsKey">@drawable/sym_keyboard_settings_lxx_dark</item> <item name="iconSpaceKey">@drawable/sym_keyboard_spacebar_lxx_dark</item> @@ -36,7 +36,7 @@ <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item> <item name="iconShortcutKey">@drawable/sym_keyboard_voice_lxx_dark</item> <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo_dark</item> - <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo_dark</item> + <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_lxx_dark</item> <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_lxx_dark</item> <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item> <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_lxx_dark</item> diff --git a/java/res/xml-sw600dp/key_styles_enter.xml b/java/res/xml-sw600dp/key_styles_enter.xml index 34396252d..740bf3543 100644 --- a/java/res/xml-sw600dp/key_styles_enter.xml +++ b/java/res/xml-sw600dp/key_styles_enter.xml @@ -102,7 +102,7 @@ latin:keySpec="!icon/enter_key|!code/key_enter" latin:keyLabelFlags="preserveCase|autoXScale|followKeyLabelRatio|followFunctionalTextColor" latin:keyActionFlags="noKeyPreview" - latin:backgroundType="functional" + latin:backgroundType="action" latin:parentStyle="navigateMoreKeysStyle" /> <switch> <!-- Shift + Enter in textMultiLine field. --> diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml index 0a274e009..f4a48385c 100644 --- a/java/res/xml/key_styles_common.xml +++ b/java/res/xml/key_styles_common.xml @@ -82,7 +82,7 @@ latin:styleName="emojiKeyStyle" latin:keySpec="!icon/emoji_key|!code/key_emoji" latin:keyActionFlags="noKeyPreview" - latin:backgroundType="functional" /> + latin:backgroundType="action" /> <include latin:keyboardLayout="@xml/key_styles_enter" /> <key-style diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml index 8add316ab..50530e1bf 100644 --- a/java/res/xml/key_styles_enter.xml +++ b/java/res/xml/key_styles_enter.xml @@ -257,7 +257,7 @@ latin:styleName="defaultEnterKeyStyle" latin:keyLabelFlags="preserveCase|autoXScale|followKeyLabelRatio|followFunctionalTextColor" latin:keyActionFlags="noKeyPreview" - latin:backgroundType="functional" + latin:backgroundType="action" latin:parentStyle="navigateMoreKeysStyle" /> <key-style latin:styleName="shiftEnterKeyStyle" diff --git a/native/jni/src/suggest/core/session/prev_words_info.h b/native/jni/src/suggest/core/session/prev_words_info.h index a58000abb..56c53c1c2 100644 --- a/native/jni/src/suggest/core/session/prev_words_info.h +++ b/native/jni/src/suggest/core/session/prev_words_info.h @@ -92,7 +92,7 @@ class PrevWordsInfo { const DictionaryStructureWithBufferPolicy *const dictStructurePolicy, const int *const wordCodePoints, const int wordCodePointCount, const bool isBeginningOfSentence, const bool tryLowerCaseSearch) { - if (!dictStructurePolicy || !wordCodePoints) { + if (!dictStructurePolicy || !wordCodePoints || wordCodePointCount > MAX_WORD_LENGTH) { return NOT_A_DICT_POS; } int codePoints[MAX_WORD_LENGTH]; @@ -122,6 +122,9 @@ class PrevWordsInfo { const DictionaryStructureWithBufferPolicy *const dictStructurePolicy, const int *const wordCodePoints, const int wordCodePointCount, const bool isBeginningOfSentence) { + if (!dictStructurePolicy || !wordCodePoints || wordCodePointCount > MAX_WORD_LENGTH) { + return NOT_A_DICT_POS; + } int codePoints[MAX_WORD_LENGTH]; int codePointCount = wordCodePointCount; memmove(codePoints, wordCodePoints, sizeof(int) * codePointCount); diff --git a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java index f3756c2c8..95851f363 100644 --- a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java +++ b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java @@ -16,6 +16,7 @@ package com.android.inputmethod.latin; +import android.os.Build; import android.test.suitebuilder.annotation.LargeTest; import android.text.TextUtils; import android.view.inputmethod.EditorInfo; @@ -111,15 +112,23 @@ public class ShiftModeTests extends InputTestsBase { } public void testOtherSentenceSeparators() { - changeLanguage("hy-AM"); - assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted()); - type("Hey. "); - assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted()); - type("Hey\u0589"); - assertFalse("(Armenian) No auto-caps directly after armenian period", - isCapsModeAutoShifted()); - type(" "); - assertTrue("(Armenian) Auto-caps after armenian period-whitespace", - isCapsModeAutoShifted()); + // We only run this test on Kitkat+ because previous versions of Android don't + // have an Armenian locale. For some reason I don't know, when the requested + // locale is not present as a device locale, then the application under test can't + // access the resources in that locale -- though it works when the app is actually + // running on the device and not under test. If we ever figure out what's going + // on, remove this test. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + changeLanguage("hy-AM"); + assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted()); + type("Hey. "); + assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted()); + type("Hey\u0589"); + assertFalse("(Armenian) No auto-caps directly after armenian period", + isCapsModeAutoShifted()); + type(" "); + assertTrue("(Armenian) Auto-caps after armenian period-whitespace", + isCapsModeAutoShifted()); + } } } |