From 3fbf9f85a296f33a13272547013677942cd9d12f Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Fri, 16 Dec 2011 22:28:51 +0900
Subject: [PATCH] Add Bulgarian keyboard

Bug: 5864001
Bug: 5738545
Change-Id: I3aa8a0e531e091680c0e05c55e72edd05e5ebc77
---
 java/res/xml-bg/keyboard_set.xml            |  42 ++++++
 java/res/xml-sw600dp/kbd_rows_bulgarian.xml | 138 ++++++++++++++++++++
 java/res/xml-sw768dp/kbd_rows_bulgarian.xml | 122 +++++++++++++++++
 java/res/xml/kbd_bulgarian.xml              |  26 ++++
 java/res/xml/kbd_rows_bulgarian.xml         | 128 ++++++++++++++++++
 java/res/xml/method.xml                     |  10 +-
 6 files changed, 464 insertions(+), 2 deletions(-)
 create mode 100644 java/res/xml-bg/keyboard_set.xml
 create mode 100644 java/res/xml-sw600dp/kbd_rows_bulgarian.xml
 create mode 100644 java/res/xml-sw768dp/kbd_rows_bulgarian.xml
 create mode 100644 java/res/xml/kbd_bulgarian.xml
 create mode 100644 java/res/xml/kbd_rows_bulgarian.xml

diff --git a/java/res/xml-bg/keyboard_set.xml b/java/res/xml-bg/keyboard_set.xml
new file mode 100644
index 0000000000..a789de630e
--- /dev/null
+++ b/java/res/xml-bg/keyboard_set.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<KeyboardSet
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+    latin:keyboardLocale="bg">
+    <Element
+        latin:elementName="alphabet"
+        latin:elementKeyboard="@xml/kbd_bulgarian" />
+    <Element
+        latin:elementName="symbols"
+        latin:elementKeyboard="@xml/kbd_symbols" />
+    <Element
+        latin:elementName="symbolsShift"
+        latin:elementKeyboard="@xml/kbd_symbols_shift" />
+    <Element
+        latin:elementName="phone"
+        latin:elementKeyboard="@xml/kbd_phone" />
+    <Element
+        latin:elementName="phoneShift"
+        latin:elementKeyboard="@xml/kbd_phone_shift" />
+    <Element
+        latin:elementName="number"
+        latin:elementKeyboard="@xml/kbd_number" />
+</KeyboardSet>
diff --git a/java/res/xml-sw600dp/kbd_rows_bulgarian.xml b/java/res/xml-sw600dp/kbd_rows_bulgarian.xml
new file mode 100644
index 0000000000..746398d495
--- /dev/null
+++ b/java/res/xml-sw600dp/kbd_rows_bulgarian.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
+    <Row
+        latin:keyWidth="7.692%p"
+    >
+        <Key
+            latin:keyLabel="ч" />
+        <Key
+            latin:keyLabel="ш" />
+        <Key
+            latin:keyLabel="е" />
+        <Key
+            latin:keyLabel="Ñ€" />
+        <Key
+            latin:keyLabel="Ñ‚" />
+        <Key
+            latin:keyLabel="ÑŠ" />
+        <Key
+            latin:keyLabel="у" />
+        <Key
+            latin:keyLabel="и"
+            latin:moreKeys="ѝ" />
+        <Key
+            latin:keyLabel="о" />
+        <Key
+            latin:keyLabel="п" />
+        <Key
+            latin:keyLabel="я" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <Row
+        latin:keyWidth="7.692%p"
+    >
+        <Key
+            latin:keyLabel="а"
+            latin:keyXPos="4.000%p" />
+        <Key
+            latin:keyLabel="с" />
+        <Key
+            latin:keyLabel="д" />
+        <Key
+            latin:keyLabel="Ñ„" />
+        <Key
+            latin:keyLabel="г" />
+        <Key
+            latin:keyLabel="Ñ…" />
+        <Key
+            latin:keyLabel="й" />
+        <Key
+            latin:keyLabel="к" />
+        <Key
+            latin:keyLabel="л" />
+        <Key
+            latin:keyLabel="щ" />
+        <Key
+            latin:keyLabel="ь" />
+        <Key
+            latin:keyStyle="returnKeyStyle"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <Row
+        latin:keyWidth="7.692%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="10.000%p" />
+        <Key
+            latin:keyLabel="з" />
+        <Key
+            latin:keyLabel="ж" />
+        <Key
+            latin:keyLabel="ц" />
+        <Key
+            latin:keyLabel="в" />
+        <Key
+            latin:keyLabel="б" />
+        <Key
+            latin:keyLabel="н" />
+        <Key
+            latin:keyLabel="м" />
+        <Key
+            latin:keyLabel="ÑŽ" />
+        <switch>
+            <case
+                latin:mode="email"
+            >
+                <Key
+                    latin:keyLabel="," />
+                <Key
+                    latin:keyLabel="." />
+            </case>
+            <default>
+                <Key
+                    latin:keyLabel=","
+                    latin:keyLabelFlags="hasUppercaseLetter"
+                    latin:keyHintLabel="!"
+                    latin:moreKeys="!" />
+                <Key
+                    latin:keyLabel="."
+                    latin:keyLabelFlags="hasUppercaseLetter"
+                    latin:keyHintLabel="\?"
+                    latin:moreKeys="\?" />
+            </default>
+        </switch>
+        <Spacer
+            latin:keyXPos="-10.000%p"
+            latin:keyWidth="0%p" />
+        <include
+            latin:keyboardLayout="@xml/kbd_row3_smiley" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-sw768dp/kbd_rows_bulgarian.xml b/java/res/xml-sw768dp/kbd_rows_bulgarian.xml
new file mode 100644
index 0000000000..42b3da5259
--- /dev/null
+++ b/java/res/xml-sw768dp/kbd_rows_bulgarian.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
+    <Row
+        latin:keyWidth="7.333%p"
+    >
+        <Key
+            latin:keyStyle="tabKeyStyle"
+            latin:keyLabelFlags="alignLeft" />
+        <Key
+            latin:keyLabel="ч" />
+        <Key
+            latin:keyLabel="ш" />
+        <Key
+            latin:keyLabel="е" />
+        <Key
+            latin:keyLabel="Ñ€" />
+        <Key
+            latin:keyLabel="Ñ‚" />
+        <Key
+            latin:keyLabel="ÑŠ" />
+        <Key
+            latin:keyLabel="у" />
+        <Key
+            latin:keyLabel="и"
+            latin:moreKeys="ѝ" />
+        <Key
+            latin:keyLabel="о" />
+        <Key
+            latin:keyLabel="п" />
+        <Key
+            latin:keyLabel="я" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <Row
+        latin:keyWidth="7.194%p"
+    >
+        <Key
+            latin:keyStyle="toSymbolKeyStyle"
+            latin:keyLabelFlags="alignLeft"
+            latin:keyWidth="9.375%p" />
+        <Key
+            latin:keyLabel="а" />
+        <Key
+            latin:keyLabel="с" />
+        <Key
+            latin:keyLabel="д" />
+        <Key
+            latin:keyLabel="Ñ„" />
+        <Key
+            latin:keyLabel="г" />
+        <Key
+            latin:keyLabel="Ñ…" />
+        <Key
+            latin:keyLabel="й" />
+        <Key
+            latin:keyLabel="к" />
+        <Key
+            latin:keyLabel="л" />
+        <Key
+            latin:keyLabel="щ" />
+        <Key
+            latin:keyLabel="ь" />
+        <Key
+            latin:keyStyle="returnKeyStyle"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <Row
+        latin:keyWidth="7.125%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="14.375%p" />
+        <Key
+            latin:keyLabel="з" />
+        <Key
+            latin:keyLabel="ж" />
+        <Key
+            latin:keyLabel="ц" />
+        <Key
+            latin:keyLabel="в" />
+        <Key
+            latin:keyLabel="б" />
+        <Key
+            latin:keyLabel="н" />
+        <Key
+            latin:keyLabel="м" />
+        <Key
+            latin:keyLabel="ÑŽ" />
+        <include
+            latin:keyboardLayout="@xml/kbd_row3_comma_period" />
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/kbd_bulgarian.xml b/java/res/xml/kbd_bulgarian.xml
new file mode 100644
index 0000000000..f114383229
--- /dev/null
+++ b/java/res/xml/kbd_bulgarian.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"):
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_rows_bulgarian" />
+</Keyboard>
diff --git a/java/res/xml/kbd_rows_bulgarian.xml b/java/res/xml/kbd_rows_bulgarian.xml
new file mode 100644
index 0000000000..7b18361a91
--- /dev/null
+++ b/java/res/xml/kbd_rows_bulgarian.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
+    <Row
+        latin:keyWidth="9.091%p"
+    >
+        <Key
+            latin:keyLabel="ч"
+            latin:keyHintLabel="1"
+            latin:moreKeys="1" />
+        <Key
+            latin:keyLabel="ш"
+            latin:keyHintLabel="2"
+            latin:moreKeys="2" />
+        <Key
+            latin:keyLabel="е"
+            latin:keyHintLabel="3"
+            latin:moreKeys="3" />
+        <Key
+            latin:keyLabel="Ñ€"
+            latin:keyHintLabel="4"
+            latin:moreKeys="4" />
+        <Key
+            latin:keyLabel="Ñ‚"
+            latin:keyHintLabel="5"
+            latin:moreKeys="5" />
+        <Key
+            latin:keyLabel="ÑŠ"
+            latin:keyHintLabel="6"
+            latin:moreKeys="6" />
+        <Key
+            latin:keyLabel="у"
+            latin:keyHintLabel="7"
+            latin:moreKeys="7" />
+        <Key
+            latin:keyLabel="и"
+            latin:keyHintLabel="8"
+            latin:moreKeys="8,ѝ" />
+        <Key
+            latin:keyLabel="о"
+            latin:keyHintLabel="9"
+            latin:moreKeys="9" />
+        <Key
+            latin:keyLabel="п"
+            latin:keyHintLabel="0"
+            latin:moreKeys="0" />
+        <Key
+            latin:keyLabel="я"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+            latin:keyWidth="9.091%p"
+    >
+        <Key
+            latin:keyLabel="а" />
+        <Key
+            latin:keyLabel="с" />
+        <Key
+            latin:keyLabel="д" />
+        <Key
+            latin:keyLabel="Ñ„" />
+        <Key
+            latin:keyLabel="г" />
+        <Key
+            latin:keyLabel="Ñ…" />
+        <Key
+            latin:keyLabel="й" />
+        <Key
+            latin:keyLabel="к" />
+        <Key
+            latin:keyLabel="л" />
+        <Key
+            latin:keyLabel="щ" />
+        <Key
+            latin:keyLabel="ь"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+        latin:keyWidth="9.091%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="13.636%p" />
+        <Key
+            latin:keyLabel="з" />
+        <Key
+            latin:keyLabel="ж" />
+        <Key
+            latin:keyLabel="ц" />
+        <Key
+            latin:keyLabel="в" />
+        <Key
+            latin:keyLabel="б" />
+        <Key
+            latin:keyLabel="н" />
+        <Key
+            latin:keyLabel="м" />
+        <Key
+            latin:keyLabel="ÑŽ" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 6c827363cb..650f91b9bb 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -20,8 +20,8 @@
 <!-- The attributes in this XML file provide configuration information -->
 <!-- for the Input Method Manager. -->
 
-<!-- Keyboard: en_US, en_GB, ar, be, cs, da, de, de(QWERTY), es, es_US, et, fi, fr, fr_CA, fr_CH,
-     hr, hu, it, iw, ky, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sr, sv, tr, uk, vi -->
+<!-- Keyboard: en_US, en_GB, ar, be, bg, cs, da, de, de(QWERTY), es, es_US, et, fi, fr, fr_CA,
+     fr_CH, hr, hu, it, iw, ky, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sr, sv, tr, uk, vi -->
 <!-- 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.-->
@@ -52,6 +52,12 @@
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
     />
+    <subtype android:icon="@drawable/ic_subtype_keyboard"
+            android:label="@string/subtype_generic"
+            android:imeSubtypeLocale="bg"
+            android:imeSubtypeMode="keyboard"
+            android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
+    />
     <subtype android:icon="@drawable/ic_subtype_keyboard"
             android:label="@string/subtype_generic"
             android:imeSubtypeLocale="cs"
-- 
GitLab