Add a new preference item to show/hide the settings key.

bug: 2998722

Change-Id: Iac1641c338388fd8f85e0cf47e31afdaeb34c0c0
diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml
index 4456287..311d43a 100644
--- a/java/res/xml/kbd_qwerty.xml
+++ b/java/res/xml/kbd_qwerty.xml
@@ -149,38 +149,30 @@
         <Key
             android:codes="@integer/key_symbol"
             android:keyLabel="@string/label_symbol_key"
-            android:keyWidth="15%p"
+            android:keyWidth="20%p"
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:codes="@integer/key_settings"
-            android:keyIcon="@drawable/sym_keyboard_settings"
-            android:iconPreview="@drawable/sym_keyboard_feedback_settings"
-            android:keyWidth="10%p"
-            android:isModifier="true" />
-        <Key
             android:codes="@integer/key_f1"
             android:keyIcon="@drawable/sym_keyboard_mic"
             android:iconPreview="@drawable/sym_keyboard_feedback_mic"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_keyboard_space"
             android:iconPreview="@drawable/sym_keyboard_feedback_space"
-            android:keyWidth="30%p"
+            android:keyWidth="40%p"
             android:isModifier="true"
             android:isRepeatable="true" />
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_return"
             android:keyIcon="@drawable/sym_keyboard_return"
             android:iconPreview="@drawable/sym_keyboard_feedback_return"
-            android:keyWidth="25%p"
+            android:keyWidth="20%p"
             android:isModifier="true"
             android:keyEdgeFlags="right" />
     </Row>
@@ -191,36 +183,28 @@
         <Key
             android:codes="@integer/key_symbol"
             android:keyLabel="@string/label_symbol_key"
-            android:keyWidth="15%p"
+            android:keyWidth="20%p"
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:codes="@integer/key_settings"
-            android:keyIcon="@drawable/sym_keyboard_settings"
-            android:iconPreview="@drawable/sym_keyboard_feedback_settings"
-            android:keyWidth="10%p"
-            android:isModifier="true" />
-        <Key
             android:keyLabel="/"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_keyboard_space"
             android:iconPreview="@drawable/sym_keyboard_feedback_space"
-            android:keyWidth="30%p"
+            android:keyWidth="40%p"
             android:isModifier="true"
             android:isRepeatable="true" />
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_return"
             android:keyIcon="@drawable/sym_keyboard_return"
             android:iconPreview="@drawable/sym_keyboard_feedback_return"
-            android:keyWidth="25%p"
+            android:keyWidth="20%p"
             android:isModifier="true"
             android:keyEdgeFlags="right" />
     </Row>
@@ -231,6 +215,112 @@
         <Key
             android:codes="@integer/key_symbol"
             android:keyLabel="@string/label_symbol_key"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:keyLabel="\@"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_space"
+            android:keyIcon="@drawable/sym_keyboard_space"
+            android:iconPreview="@drawable/sym_keyboard_feedback_space"
+            android:keyWidth="40%p"
+            android:isModifier="true"
+            android:isRepeatable="true" />
+        <Key
+            android:keyLabel="."
+            android:popupKeyboard="@xml/popup_punctuation"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_return"
+            android:keyIcon="@drawable/sym_keyboard_return"
+            android:iconPreview="@drawable/sym_keyboard_feedback_return"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        android:keyboardMode="@+id/mode_im"
+        android:rowEdgeFlags="bottom"
+    >
+        <Key
+            android:codes="@integer/key_symbol"
+            android:keyLabel="@string/label_symbol_key"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:codes="@integer/key_f1"
+            android:keyIcon="@drawable/sym_keyboard_mic"
+            android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_space"
+            android:keyIcon="@drawable/sym_keyboard_space"
+            android:iconPreview="@drawable/sym_keyboard_feedback_space"
+            android:keyWidth="40%p"
+            android:isModifier="true"
+            android:isRepeatable="true" />
+        <Key
+            android:keyLabel="."
+            android:popupKeyboard="@xml/popup_punctuation"
+            android:isModifier="true" />
+        <Key
+            android:keyLabel=":-)"
+            android:keyOutputText=":-) "
+            android:popupKeyboard="@xml/popup_smileys"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        android:keyboardMode="@+id/mode_webentry"
+        android:rowEdgeFlags="bottom"
+    >
+        <Key
+            android:codes="@integer/key_symbol"
+            android:keyLabel="@string/label_symbol_key"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:codes="@integer/key_f1"
+            android:keyIcon="@drawable/sym_keyboard_mic"
+            android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_space"
+            android:keyIcon="@drawable/sym_keyboard_space"
+            android:iconPreview="@drawable/sym_keyboard_feedback_space"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:isRepeatable="true" />
+        <Key
+            android:codes="@integer/key_tab"
+            android:keyIcon="@drawable/sym_keyboard_tab"
+            android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+            android:keyWidth="20%p"
+            android:isModifier="true" />
+        <Key
+            android:keyLabel="."
+            android:popupKeyboard="@xml/popup_punctuation"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_return"
+            android:keyIcon="@drawable/sym_keyboard_return"
+            android:iconPreview="@drawable/sym_keyboard_feedback_return"
+            android:keyWidth="20%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        android:keyboardMode="@+id/mode_normal_with_settings_key"
+        android:rowEdgeFlags="bottom"
+    >
+        <Key
+            android:codes="@integer/key_symbol"
+            android:keyLabel="@string/label_symbol_key"
             android:keyWidth="15%p"
             android:isModifier="true"
             android:keyEdgeFlags="left" />
@@ -238,7 +328,82 @@
             android:codes="@integer/key_settings"
             android:keyIcon="@drawable/sym_keyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
-            android:keyWidth="10%p"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_f1"
+            android:keyIcon="@drawable/sym_keyboard_mic"
+            android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_space"
+            android:keyIcon="@drawable/sym_keyboard_space"
+            android:iconPreview="@drawable/sym_keyboard_feedback_space"
+            android:keyWidth="30%p"
+            android:isModifier="true"
+            android:isRepeatable="true" />
+        <Key
+            android:keyLabel="."
+            android:popupKeyboard="@xml/popup_punctuation"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_return"
+            android:keyIcon="@drawable/sym_keyboard_return"
+            android:iconPreview="@drawable/sym_keyboard_feedback_return"
+            android:keyWidth="25%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        android:keyboardMode="@+id/mode_url_with_settings_key"
+        android:rowEdgeFlags="bottom"
+    >
+        <Key
+            android:codes="@integer/key_symbol"
+            android:keyLabel="@string/label_symbol_key"
+            android:keyWidth="15%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:codes="@integer/key_settings"
+            android:keyIcon="@drawable/sym_keyboard_settings"
+            android:iconPreview="@drawable/sym_keyboard_feedback_settings"
+            android:isModifier="true" />
+        <Key
+            android:keyLabel="/"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_space"
+            android:keyIcon="@drawable/sym_keyboard_space"
+            android:iconPreview="@drawable/sym_keyboard_feedback_space"
+            android:keyWidth="30%p"
+            android:isModifier="true"
+            android:isRepeatable="true" />
+        <Key
+            android:keyLabel="."
+            android:popupKeyboard="@xml/popup_punctuation"
+            android:isModifier="true" />
+        <Key
+            android:codes="@integer/key_return"
+            android:keyIcon="@drawable/sym_keyboard_return"
+            android:iconPreview="@drawable/sym_keyboard_feedback_return"
+            android:keyWidth="25%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        android:keyboardMode="@+id/mode_email_with_settings_key"
+        android:rowEdgeFlags="bottom"
+    >
+        <Key
+            android:codes="@integer/key_symbol"
+            android:keyLabel="@string/label_symbol_key"
+            android:keyWidth="15%p"
+            android:isModifier="true"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:codes="@integer/key_settings"
+            android:keyIcon="@drawable/sym_keyboard_settings"
+            android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
             android:keyLabel="\@"
@@ -263,7 +428,7 @@
             android:keyEdgeFlags="right" />
     </Row>
     <Row
-        android:keyboardMode="@+id/mode_im"
+        android:keyboardMode="@+id/mode_im_with_settings_key"
         android:rowEdgeFlags="bottom"
     >
         <Key
@@ -276,13 +441,11 @@
             android:codes="@integer/key_settings"
             android:keyIcon="@drawable/sym_keyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_f1"
             android:keyIcon="@drawable/sym_keyboard_mic"
             android:iconPreview="@drawable/sym_keyboard_feedback_mic"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -294,7 +457,6 @@
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:keyLabel=":-)"
@@ -305,7 +467,7 @@
             android:keyEdgeFlags="right" />
     </Row>
     <Row
-        android:keyboardMode="@+id/mode_webentry"
+        android:keyboardMode="@+id/mode_webentry_with_settings_key"
         android:rowEdgeFlags="bottom"
     >
         <Key
@@ -318,13 +480,11 @@
             android:codes="@integer/key_settings"
             android:keyIcon="@drawable/sym_keyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_f1"
             android:keyIcon="@drawable/sym_keyboard_mic"
             android:iconPreview="@drawable/sym_keyboard_feedback_mic"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -337,12 +497,10 @@
             android:codes="@integer/key_tab"
             android:keyIcon="@drawable/sym_keyboard_tab"
             android:iconPreview="@drawable/sym_keyboard_feedback_tab"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_return"