Table keyboard should always show return icon on enter key
Bug: 3122750
Change-Id: I75d2b5adff3a349d29d8a56e7b761c26b04683c0
diff --git a/java/res/values-xlarge/bools.xml b/java/res/values-xlarge/bools.xml
index 66cfd9d..3079133 100644
--- a/java/res/values-xlarge/bools.xml
+++ b/java/res/values-xlarge/bools.xml
@@ -21,4 +21,5 @@
<!-- Whether or not Popup on key press is enabled by default -->
<bool name="default_popup_preview">false</bool>
<bool name="config_enable_show_settings_key_option">false</bool>
+ <bool name="config_dynamic_key_top_enter_key">false</bool>
</resources>
diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml
index 64d05bd..5d932a6 100644
--- a/java/res/values/bools.xml
+++ b/java/res/values/bools.xml
@@ -31,4 +31,5 @@
<bool name="default_recorrection_enabled">true</bool>
<bool name="config_long_press_comma_for_settings_enabled">true</bool>
<bool name="config_enable_show_settings_key_option">true</bool>
+ <bool name="config_dynamic_key_top_enter_key">true</bool>
</resources>
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboard.java b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
index fcbada1..8e16feb 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -192,31 +192,35 @@
mMode = mode;
if (mEnterKey == null)
return;
- switch (options & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
- case EditorInfo.IME_ACTION_GO:
- resetKeyAttributes(mEnterKey, res.getText(R.string.label_go_key));
- break;
- case EditorInfo.IME_ACTION_NEXT:
- resetKeyAttributes(mEnterKey, res.getText(R.string.label_next_key));
- break;
- case EditorInfo.IME_ACTION_DONE:
- resetKeyAttributes(mEnterKey, res.getText(R.string.label_done_key));
- break;
- case EditorInfo.IME_ACTION_SEARCH:
- resetKeyAttributes(mEnterKey, null);
- mEnterKey.iconPreview = res.getDrawable(R.drawable.sym_keyboard_feedback_search);
- mEnterKey.icon = res.getDrawable(mIsBlackSym ? R.drawable.sym_bkeyboard_search
- : R.drawable.sym_keyboard_search);
- break;
- case EditorInfo.IME_ACTION_SEND:
- resetKeyAttributes(mEnterKey, res.getText(R.string.label_send_key));
- break;
- default:
- resetKeyAttributes(mEnterKey, mDefaultEnterLabel);
- mEnterKey.text = mDefaultEnterText;
- mEnterKey.icon = mDefaultEnterIcon;
- mEnterKey.iconPreview = mDefaultEnterPreview;
- break;
+ final boolean configDynamicKeyToEnterKey = res.getBoolean(
+ R.bool.config_dynamic_key_top_enter_key);
+ if (configDynamicKeyToEnterKey) {
+ switch (options & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
+ case EditorInfo.IME_ACTION_GO:
+ resetKeyAttributes(mEnterKey, res.getText(R.string.label_go_key));
+ break;
+ case EditorInfo.IME_ACTION_NEXT:
+ resetKeyAttributes(mEnterKey, res.getText(R.string.label_next_key));
+ break;
+ case EditorInfo.IME_ACTION_DONE:
+ resetKeyAttributes(mEnterKey, res.getText(R.string.label_done_key));
+ break;
+ case EditorInfo.IME_ACTION_SEARCH:
+ resetKeyAttributes(mEnterKey, null);
+ mEnterKey.iconPreview = res.getDrawable(R.drawable.sym_keyboard_feedback_search);
+ mEnterKey.icon = res.getDrawable(mIsBlackSym ? R.drawable.sym_bkeyboard_search
+ : R.drawable.sym_keyboard_search);
+ break;
+ case EditorInfo.IME_ACTION_SEND:
+ resetKeyAttributes(mEnterKey, res.getText(R.string.label_send_key));
+ break;
+ default:
+ resetKeyAttributes(mEnterKey, mDefaultEnterLabel);
+ mEnterKey.text = mDefaultEnterText;
+ mEnterKey.icon = mDefaultEnterIcon;
+ mEnterKey.iconPreview = mDefaultEnterPreview;
+ break;
+ }
}
// Set the initial size of the preview icon
setDefaultBounds(mEnterKey.iconPreview);