diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/res/drawable-mdpi/sym_keyboard_settings_holo.png | bin | 0 -> 3448 bytes | |||
-rw-r--r-- | java/res/values-xlarge/config.xml | 1 | ||||
-rw-r--r-- | java/res/values/config.xml | 1 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_key_styles.xml | 12 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_number.xml | 5 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_phone.xml | 7 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_phone_symbols.xml | 5 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_qwerty_row4.xml | 4 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_symbols.xml | 4 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_symbols_shift.xml | 4 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 16 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/Settings.java | 6 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/SubtypeSwitcher.java | 1 |
13 files changed, 53 insertions, 13 deletions
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings_holo.png b/java/res/drawable-mdpi/sym_keyboard_settings_holo.png Binary files differnew file mode 100644 index 000000000..ad7618fa0 --- /dev/null +++ b/java/res/drawable-mdpi/sym_keyboard_settings_holo.png diff --git a/java/res/values-xlarge/config.xml b/java/res/values-xlarge/config.xml index 410b5e19e..912971793 100644 --- a/java/res/values-xlarge/config.xml +++ b/java/res/values-xlarge/config.xml @@ -22,6 +22,7 @@ <bool name="config_enable_show_settings_key_option">false</bool> <bool name="config_enable_show_subtype_settings">false</bool> <bool name="config_enable_show_voice_key_option">false</bool> + <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_candidate_highlight_font_color_enabled">false</bool> <bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool> <bool name="config_sliding_key_input_enabled">false</bool> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index 11b92e7c3..e5821075e 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -25,6 +25,7 @@ <bool name="config_enable_show_settings_key_option">true</bool> <bool name="config_enable_show_subtype_settings">true</bool> <bool name="config_enable_show_voice_key_option">true</bool> + <bool name="config_enable_show_popup_on_keypress_option">true</bool> <bool name="config_candidate_highlight_font_color_enabled">true</bool> <bool name="config_swipe_down_dismiss_keyboard_enabled">true</bool> <bool name="config_sliding_key_input_enabled">true</bool> diff --git a/java/res/xml-xlarge/kbd_key_styles.xml b/java/res/xml-xlarge/kbd_key_styles.xml index efbad5bab..26659a2ad 100644 --- a/java/res/xml-xlarge/kbd_key_styles.xml +++ b/java/res/xml-xlarge/kbd_key_styles.xml @@ -66,6 +66,12 @@ latin:popupCharacters="@string/alternates_for_smiley" latin:maxPopupKeyboardColumn="5" /> <key-style + latin:styleName="settingsKeyStyle" + latin:code="@integer/key_settings" + latin:keyIcon="@drawable/sym_keyboard_settings_holo" + latin:iconPreview="@drawable/sym_keyboard_feedback_settings" + latin:parentStyle="functionalKeyStyle" /> + <key-style latin:styleName="micKeyStyle" latin:code="@integer/key_voice" latin:keyIcon="@drawable/sym_keyboard_voice_holo" @@ -114,6 +120,12 @@ latin:popupCharacters="@string/alternates_for_smiley" latin:maxPopupKeyboardColumn="5" /> <key-style + latin:styleName="settingsKeyStyle" + latin:code="@integer/key_settings" + latin:keyIcon="@drawable/sym_bkeyboard_settings" + latin:iconPreview="@drawable/sym_keyboard_feedback_settings" + latin:parentStyle="functionalKeyStyle" /> + <key-style latin:styleName="micKeyStyle" latin:code="@integer/key_voice" latin:keyIcon="@drawable/sym_bkeyboard_mic" diff --git a/java/res/xml-xlarge/kbd_number.xml b/java/res/xml-xlarge/kbd_number.xml index c2cbb31c4..875548ba7 100644 --- a/java/res/xml-xlarge/kbd_number.xml +++ b/java/res/xml-xlarge/kbd_number.xml @@ -120,7 +120,10 @@ <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore the touch event on the area, "space" is intentionally not marked as a left edge key. --> <Spacer - latin:horizontalGap="16.406%p" /> + latin:horizontalGap="8.362%p" /> + <Key + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.042%p" /> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" latin:keyWidth="24.127%p" /> diff --git a/java/res/xml-xlarge/kbd_phone.xml b/java/res/xml-xlarge/kbd_phone.xml index c320ebbbc..b9444ad50 100644 --- a/java/res/xml-xlarge/kbd_phone.xml +++ b/java/res/xml-xlarge/kbd_phone.xml @@ -128,10 +128,13 @@ <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore the touch event on the area, "space" is intentionally not marked as a left edge key. --> <Spacer - latin:horizontalGap="20.427%p" /> + latin:horizontalGap="12.340%p" /> + <Key + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.042%p" /> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" - latin:keyWidth="16.085%p" /> + latin:keyWidth="16.084%p" /> <Spacer latin:horizontalGap="8.479%p" /> <Key diff --git a/java/res/xml-xlarge/kbd_phone_symbols.xml b/java/res/xml-xlarge/kbd_phone_symbols.xml index da15b5ad0..690bcde0c 100644 --- a/java/res/xml-xlarge/kbd_phone_symbols.xml +++ b/java/res/xml-xlarge/kbd_phone_symbols.xml @@ -140,7 +140,10 @@ <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore the touch event on the area, "space" is intentionally not marked as a left edge key. --> <Spacer - latin:horizontalGap="16.406%p" /> + latin:horizontalGap="8.362%p" /> + <Key + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.042%p" /> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" latin:keyWidth="24.127%p" /> diff --git a/java/res/xml-xlarge/kbd_qwerty_row4.xml b/java/res/xml-xlarge/kbd_qwerty_row4.xml index 98acfc162..9d0fd81c7 100644 --- a/java/res/xml-xlarge/kbd_qwerty_row4.xml +++ b/java/res/xml-xlarge/kbd_qwerty_row4.xml @@ -26,7 +26,9 @@ latin:keyWidth="8.042%p" > <Spacer - latin:horizontalGap="16.404%p" /> + latin:horizontalGap="8.362%p" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <switch> <case latin:mode="email" diff --git a/java/res/xml-xlarge/kbd_symbols.xml b/java/res/xml-xlarge/kbd_symbols.xml index d804f7909..e56cc92d2 100644 --- a/java/res/xml-xlarge/kbd_symbols.xml +++ b/java/res/xml-xlarge/kbd_symbols.xml @@ -149,7 +149,9 @@ latin:keyWidth="8.042%p" > <Spacer - latin:horizontalGap="16.404%p" /> + latin:horizontalGap="8.362%p" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <Key latin:keyLabel="/" /> <Key diff --git a/java/res/xml-xlarge/kbd_symbols_shift.xml b/java/res/xml-xlarge/kbd_symbols_shift.xml index db33aaaca..f7cf24a3f 100644 --- a/java/res/xml-xlarge/kbd_symbols_shift.xml +++ b/java/res/xml-xlarge/kbd_symbols_shift.xml @@ -135,7 +135,9 @@ latin:keyWidth="8.042%p" > <Spacer - latin:horizontalGap="32.488%p" /> + latin:horizontalGap="24.446%p" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <Key latin:keyStyle="spaceKeyStyle" latin:keyWidth="37.454%p" /> diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 02ad5bcef..b28976644 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1811,7 +1811,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final int length = mComposing.length(); if (!mHasValidSuggestions && length > 0) { final InputConnection ic = getCurrentInputConnection(); - mHasValidSuggestions = true; mJustReverted = true; final CharSequence punctuation = ic.getTextBeforeCursor(1, 0); if (deleteChar) ic.deleteSurroundingText(1, 0); @@ -1821,14 +1820,19 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen toDelete--; } ic.deleteSurroundingText(toDelete, 0); - if (deleteChar) { + // Re-insert punctuation only when the deleted character was word separator and the + // composing text wasn't equal to the auto-corrected text. + if (deleteChar + && !TextUtils.isEmpty(punctuation) && isWordSeparator(punctuation.charAt(0)) + && !TextUtils.equals(mComposing, toTheLeft)) { ic.commitText(mComposing, 1); TextEntryState.acceptedTyped(mComposing); - if (!TextUtils.isEmpty(punctuation) && isWordSeparator(punctuation.charAt(0))) { - ic.commitText(punctuation, 1); - TextEntryState.typedCharacter(punctuation.charAt(0), true); - } + ic.commitText(punctuation, 1); + TextEntryState.typedCharacter(punctuation.charAt(0), true); + // Clear composing text + mComposing.setLength(0); } else { + mHasValidSuggestions = true; ic.setComposingText(mComposing, 1); TextEntryState.backspace(); } diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java index 064a80fe1..5db63b719 100644 --- a/java/src/com/android/inputmethod/latin/Settings.java +++ b/java/src/com/android/inputmethod/latin/Settings.java @@ -134,6 +134,12 @@ public class Settings extends PreferenceActivity if (!showSubtypeSettings) { getPreferenceScreen().removePreference(findPreference(PREF_SUBTYPES)); } + + final boolean showPopupOption = getResources().getBoolean( + R.bool.config_enable_show_popup_on_keypress_option); + if (!showPopupOption) { + getPreferenceScreen().removePreference(findPreference(PREF_POPUP_ON)); + } } @Override diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java index 2c82a800a..ac3401e44 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java @@ -155,6 +155,7 @@ public class SubtypeSwitcher { && mIsSystemLanguageSameAsInputLanguage); if (foundCurrentSubtypeBecameDisabled) { if (DBG) { + Log.w(TAG, "Current subtype: " + mInputLocaleStr + ", " + mMode); Log.w(TAG, "Last subtype was disabled. Update to the current one."); } updateSubtype(mImm.getCurrentInputMethodSubtype()); |