Generalize Russian to Slavic layout

Adding Belarusian, Kyrgyz, and Ukrainian keyboards will follows.

Bug: 5738545
Change-Id: I05055d519fac8c67f728cee693b133c3dfb29047
diff --git a/java/res/values-ru/donottranslate-more-keys.xml b/java/res/values-ru/donottranslate-more-keys.xml
index f7e006e..7ae9ffb 100644
--- a/java/res/values-ru/donottranslate-more-keys.xml
+++ b/java/res/values-ru/donottranslate-more-keys.xml
@@ -18,7 +18,5 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="more_keys_for_cyrillic_e">5,ё</string>
-    <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
-    <string name="more_keys_for_cyrillic_ha">ъ</string>
+    <string name="more_keys_for_slavic_ye">5,ё</string>
 </resources>
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index 6c77539..ac175df 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -42,9 +42,16 @@
     <string name="keylabel_for_scandinavia_row2_11"></string>
     <string name="more_keys_for_scandinavia_row2_10"></string>
     <string name="more_keys_for_scandinavia_row2_11"></string>
-    <string name="more_keys_for_cyrillic_e"></string>
-    <string name="more_keys_for_cyrillic_soft_sign"></string>
-    <string name="more_keys_for_cyrillic_ha"></string>
+    <string name="keylabel_for_slavic_shcha">щ</string>
+    <string name="keylabel_for_slavic_yery">ы</string>
+    <string name="keylabel_for_slavic_i">и</string>
+    <string name="more_keys_for_slavic_u">3</string>
+    <string name="more_keys_for_slavic_ye">5</string>
+    <string name="more_keys_for_slavic_en">6</string>
+    <string name="more_keys_for_slavic_ha">ъ</string>
+    <string name="more_keys_for_slavic_yery"></string>
+    <string name="more_keys_for_slavic_o"></string>
+    <string name="more_keys_for_slavic_soft_sign">ъ</string>
     <string name="more_keys_for_currency_dollar">¢,£,€,¥,₱</string>
     <string name="more_keys_for_currency_euro">¢,£,$,¥,₱</string>
     <string name="more_keys_for_currency_pound">¢,$,€,¥,₱</string>
diff --git a/java/res/xml-ru/keyboard_set.xml b/java/res/xml-ru/keyboard_set.xml
index eabee5d..0a158d9 100644
--- a/java/res/xml-ru/keyboard_set.xml
+++ b/java/res/xml-ru/keyboard_set.xml
@@ -23,7 +23,7 @@
     latin:keyboardLocale="ru">
     <Element
         latin:elementName="alphabet"
-        latin:elementKeyboard="@xml/kbd_russian" />
+        latin:elementKeyboard="@xml/kbd_slavic" />
     <Element
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
diff --git a/java/res/xml-sw600dp/kbd_rows_russian.xml b/java/res/xml-sw600dp/kbd_rows_slavic.xml
similarity index 85%
rename from java/res/xml-sw600dp/kbd_rows_russian.xml
rename to java/res/xml-sw600dp/kbd_rows_slavic.xml
index 3395065..0a16205 100644
--- a/java/res/xml-sw600dp/kbd_rows_russian.xml
+++ b/java/res/xml-sw600dp/kbd_rows_slavic.xml
@@ -31,20 +31,22 @@
         <Key
             latin:keyLabel="ц" />
         <Key
-            latin:keyLabel="у" />
+            latin:keyLabel="у"
+            latin:moreKeys="@string/more_keys_for_slavic_u" />
         <Key
             latin:keyLabel="к" />
         <Key
             latin:keyLabel="е"
-            latin:moreKeys="@string/more_keys_for_cyrillic_e" />
+            latin:moreKeys="@string/more_keys_for_slavic_ye" />
         <Key
-            latin:keyLabel="н" />
+            latin:keyLabel="н"
+            latin:moreKeys="@string/more_keys_for_slavic_en" />
         <Key
             latin:keyLabel="г" />
         <Key
             latin:keyLabel="ш" />
         <Key
-            latin:keyLabel="щ" />
+            latin:keyLabel="@string/keylabel_for_slavic_shcha" />
         <Key
             latin:keyLabel="з" />
         <Key
@@ -63,7 +65,8 @@
             latin:keyLabel="ф"
             latin:keyXPos="2.25%p" />
         <Key
-            latin:keyLabel="ы" />
+            latin:keyLabel="@string/keylabel_for_slavic_yery"
+            latin:moreKeys="@string/more_keys_for_slavic_yery" />
         <Key
             latin:keyLabel="в" />
         <Key
@@ -73,7 +76,8 @@
         <Key
             latin:keyLabel="р" />
         <Key
-            latin:keyLabel="о" />
+            latin:keyLabel="о"
+            latin:moreKeys="@string/more_keys_for_slavic_o" />
         <Key
             latin:keyLabel="л" />
         <Key
@@ -101,7 +105,7 @@
         <Key
             latin:keyLabel="м" />
         <Key
-            latin:keyLabel="и" />
+            latin:keyLabel="@string/keylabel_for_slavic_i" />
         <Key
             latin:keyLabel="т" />
         <Key
diff --git a/java/res/xml-sw768dp/kbd_rows_russian.xml b/java/res/xml-sw768dp/kbd_rows_slavic.xml
similarity index 83%
rename from java/res/xml-sw768dp/kbd_rows_russian.xml
rename to java/res/xml-sw768dp/kbd_rows_slavic.xml
index eb0baf9..4c9128d 100644
--- a/java/res/xml-sw768dp/kbd_rows_russian.xml
+++ b/java/res/xml-sw768dp/kbd_rows_slavic.xml
@@ -34,20 +34,22 @@
         <Key
             latin:keyLabel="ц" />
         <Key
-            latin:keyLabel="у" />
+            latin:keyLabel="у"
+            latin:moreKeys="@string/more_keys_for_slavic_u" />
         <Key
             latin:keyLabel="к" />
         <Key
             latin:keyLabel="е"
-            latin:moreKeys="@string/more_keys_for_cyrillic_e" />
+            latin:moreKeys="@string/more_keys_for_slavic_ye" />
         <Key
-            latin:keyLabel="н" />
+            latin:keyLabel="н"
+            latin:moreKeys="@string/more_keys_for_slavic_en" />
         <Key
             latin:keyLabel="г" />
         <Key
             latin:keyLabel="ш" />
         <Key
-            latin:keyLabel="щ" />
+            latin:keyLabel="@string/keylabel_for_slavic_shcha" />
         <Key
             latin:keyLabel="з" />
         <Key
@@ -68,7 +70,8 @@
         <Key
             latin:keyLabel="ф" />
         <Key
-            latin:keyLabel="ы" />
+            latin:keyLabel="@string/keylabel_for_slavic_yery"
+            latin:moreKeys="@string/more_keys_for_slavic_yery" />
         <Key
             latin:keyLabel="в" />
         <Key
@@ -78,7 +81,8 @@
         <Key
             latin:keyLabel="р" />
         <Key
-            latin:keyLabel="о" />
+            latin:keyLabel="о"
+            latin:moreKeys="@string/more_keys_for_slavic_o" />
         <Key
             latin:keyLabel="л" />
         <Key
@@ -107,7 +111,7 @@
         <Key
             latin:keyLabel="м" />
         <Key
-            latin:keyLabel="и" />
+            latin:keyLabel="@string/keylabel_for_slavic_i" />
         <Key
             latin:keyLabel="т" />
         <Key
diff --git a/java/res/xml/kbd_rows_russian.xml b/java/res/xml/kbd_rows_slavic.xml
similarity index 82%
rename from java/res/xml/kbd_rows_russian.xml
rename to java/res/xml/kbd_rows_slavic.xml
index f1794e7..6536eae 100644
--- a/java/res/xml/kbd_rows_russian.xml
+++ b/java/res/xml/kbd_rows_slavic.xml
@@ -37,7 +37,7 @@
         <Key
             latin:keyLabel="у"
             latin:keyHintLabel="3"
-            latin:moreKeys="3" />
+            latin:moreKeys="@string/more_keys_for_slavic_u" />
         <Key
             latin:keyLabel="к"
             latin:keyHintLabel="4"
@@ -45,11 +45,11 @@
         <Key
             latin:keyLabel="е"
             latin:keyHintLabel="5"
-            latin:moreKeys="@string/more_keys_for_cyrillic_e" />
+            latin:moreKeys="@string/more_keys_for_slavic_ye" />
         <Key
             latin:keyLabel="н"
             latin:keyHintLabel="6"
-            latin:moreKeys="6" />
+            latin:moreKeys="@string/more_keys_for_slavic_en" />
         <Key
             latin:keyLabel="г"
             latin:keyHintLabel="7"
@@ -59,7 +59,7 @@
             latin:keyHintLabel="8"
             latin:moreKeys="8" />
         <Key
-            latin:keyLabel="щ"
+            latin:keyLabel="@string/keylabel_for_slavic_shcha"
             latin:keyHintLabel="9"
             latin:moreKeys="9" />
         <Key
@@ -68,7 +68,7 @@
             latin:moreKeys="0" />
         <Key
             latin:keyLabel="х"
-            latin:moreKeys="@string/more_keys_for_cyrillic_ha"
+            latin:moreKeys="@string/more_keys_for_slavic_ha"
             latin:keyWidth="fillRight" />
     </Row>
     <Row
@@ -78,7 +78,8 @@
             latin:keyLabel="ф"
             latin:keyWidth="8.75%p" />
         <Key
-            latin:keyLabel="ы" />
+            latin:keyLabel="@string/keylabel_for_slavic_yery"
+            latin:moreKeys="@string/more_keys_for_slavic_yery" />
         <Key
             latin:keyLabel="в" />
         <Key
@@ -88,7 +89,8 @@
         <Key
             latin:keyLabel="р" />
         <Key
-            latin:keyLabel="о" />
+            latin:keyLabel="о"
+            latin:moreKeys="@string/more_keys_for_slavic_o" />
         <Key
             latin:keyLabel="л" />
         <Key
@@ -114,12 +116,12 @@
         <Key
             latin:keyLabel="м" />
         <Key
-            latin:keyLabel="и" />
+            latin:keyLabel="@string/keylabel_for_slavic_i" />
         <Key
             latin:keyLabel="т" />
         <Key
             latin:keyLabel="ь"
-            latin:moreKeys="@string/more_keys_for_cyrillic_soft_sign" />
+            latin:moreKeys="@string/more_keys_for_slavic_soft_sign" />
         <Key
             latin:keyLabel="б" />
         <Key
diff --git a/java/res/xml/kbd_russian.xml b/java/res/xml/kbd_slavic.xml
similarity index 93%
rename from java/res/xml/kbd_russian.xml
rename to java/res/xml/kbd_slavic.xml
index 071bfd5..6207d29 100644
--- a/java/res/xml/kbd_russian.xml
+++ b/java/res/xml/kbd_slavic.xml
@@ -22,5 +22,5 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <include
-        latin:keyboardLayout="@xml/kbd_rows_russian" />
+        latin:keyboardLayout="@xml/kbd_rows_slavic" />
 </Keyboard>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 2b2c00c..69bef52 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -20,7 +20,8 @@
 <!-- The attributes in this XML file provide configuration information -->
 <!-- for the Input Method Manager. -->
 
-<!-- Keyboard: en_US, en_GB, ar, cs, da, de, de(QWERTY), es, es_US, et, fi, fr, fr_CA, fr_CH, hr, hu, it, iw, lt, lv, nb, nl, pl, pt, ru, sr, sv, tr -->
+<!-- Keyboard: en_US, en_GB, ar, cs, da, de, de(QWERTY), es, es_US, et, fi, fr, fr_CA, fr_CH,
+     hr, hu, it, iw, lt, lv, nb, nl, pl, pt, ru, sr, sv, tr -->
 <!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
 <!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
      subtype.-->