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

bug: 2998722

Change-Id: Iac1641c338388fd8f85e0cf47e31afdaeb34c0c0
diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml
index 21a2222..714c4f5 100644
--- a/java/res/xml-iw/kbd_qwerty.xml
+++ b/java/res/xml-iw/kbd_qwerty.xml
@@ -103,48 +103,184 @@
     </Row>
     <Row
         android:keyboardMode="@+id/mode_normal"
+        android:keyWidth="10%p"
         android:rowEdgeFlags="bottom"
     >
         <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>
     <Row
         android:keyboardMode="@+id/mode_url"
+        android:keyWidth="10%p"
+        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: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_email"
+        android:keyWidth="10%p"
+        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: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:keyWidth="10%p"
+        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:keyWidth="10%p"
+        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:keyWidth="10%p"
         android:rowEdgeFlags="bottom"
     >
         <Key
@@ -157,11 +293,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:keyLabel="/"
-            android:keyWidth="10%p"
+            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"
@@ -173,7 +309,6 @@
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_return"
@@ -184,20 +319,58 @@
             android:keyEdgeFlags="right" />
     </Row>
     <Row
-        android:keyboardMode="@+id/mode_email"
+        android:keyboardMode="@+id/mode_url_with_settings_key"
+        android:keyWidth="10%p"
         android:rowEdgeFlags="bottom"
     >
         <Key
             android:codes="@integer/key_symbol"
             android:keyLabel="@string/label_symbol_key"
             android:keyWidth="15%p"
-            android:keyEdgeFlags="left"
-            android:isModifier="true" />
+            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: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:keyWidth="10%p"
+        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="\@"
@@ -222,7 +395,8 @@
             android:keyEdgeFlags="right" />
     </Row>
     <Row
-        android:keyboardMode="@+id/mode_im"
+        android:keyboardMode="@+id/mode_im_with_settings_key"
+        android:keyWidth="10%p"
         android:rowEdgeFlags="bottom"
     >
         <Key
@@ -235,13 +409,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"
@@ -253,7 +425,6 @@
         <Key
             android:keyLabel="."
             android:popupKeyboard="@xml/popup_punctuation"
-            android:keyWidth="10%p"
             android:isModifier="true" />
         <Key
             android:keyLabel=":-)"
@@ -264,7 +435,8 @@
             android:keyEdgeFlags="right" />
     </Row>
     <Row
-        android:keyboardMode="@+id/mode_webentry"
+        android:keyboardMode="@+id/mode_webentry_with_settings_key"
+        android:keyWidth="10%p"
         android:rowEdgeFlags="bottom"
     >
         <Key
@@ -277,13 +449,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"
@@ -296,12 +466,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"