Use keyboardSet extra value of subtype to specify layout type
Change-Id: Ice1f345a08a8d760e3b847c885c4072e3e142c97
diff --git a/java/proguard.flags b/java/proguard.flags
index 2ee1a26..44f8581 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -40,7 +40,7 @@
void setLogFileManager(...);
}
--keep class com.android.inputmethod.keyboard.KeyboardSet$Builder {
+-keep class com.android.inputmethod.keyboard.KeyboardLayoutSet$Builder {
void setTouchPositionCorrectionEnabled(...);
}
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 86f2abe..39d50e3 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -350,8 +350,8 @@
</declare-styleable>
<declare-styleable name="Keyboard_Case">
- <!-- This should be aligned with KeyboardSet_Element's elementName. -->
- <attr name="keyboardSetElement" format="enum|string">
+ <!-- This should be aligned with KeyboardLayoutSet_Element's elementName. -->
+ <attr name="keyboardLayoutSetElement" format="enum|string">
<enum name="alphabet" value="0" />
<enum name="alphabetManualShifted" value="1" />
<enum name="alphabetAutomaticShifted" value="2" />
@@ -403,7 +403,7 @@
<attr name="parentStyle" format="string" />
</declare-styleable>
- <declare-styleable name="KeyboardSet_Element">
+ <declare-styleable name="KeyboardLayoutSet_Element">
<!-- This should be aligned with KeyboardId.ELEMENT_* -->
<attr name="elementName" format="enum">
<enum name="alphabet" value="0" />
diff --git a/java/res/xml-da/keyboard_set.xml b/java/res/xml-da/keyboard_set.xml
deleted file mode 100644
index 0db9b1f..0000000
--- a/java/res/xml-da/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-de-rQY/keyboard_set.xml b/java/res/xml-de-rQY/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-de-rQY/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-de/keyboard_set.xml b/java/res/xml-de/keyboard_set.xml
deleted file mode 100644
index f9f7451..0000000
--- a/java/res/xml-de/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwertz"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-et/keyboard_set.xml b/java/res/xml-et/keyboard_set.xml
deleted file mode 100644
index 0db9b1f..0000000
--- a/java/res/xml-et/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-fi/keyboard_set.xml b/java/res/xml-fi/keyboard_set.xml
deleted file mode 100644
index 0db9b1f..0000000
--- a/java/res/xml-fi/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-fr-rCA/keyboard_set.xml b/java/res/xml-fr-rCA/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-fr-rCA/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-fr-rCH/keyboard_set.xml b/java/res/xml-fr-rCH/keyboard_set.xml
deleted file mode 100644
index f9f7451..0000000
--- a/java/res/xml-fr-rCH/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwertz"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-hr/keyboard_set.xml b/java/res/xml-hr/keyboard_set.xml
deleted file mode 100644
index f9f7451..0000000
--- a/java/res/xml-hr/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwertz"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-hu/keyboard_set.xml b/java/res/xml-hu/keyboard_set.xml
deleted file mode 100644
index f9f7451..0000000
--- a/java/res/xml-hu/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwertz"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-ky/keyboard_set.xml b/java/res/xml-ky/keyboard_set.xml
deleted file mode 100644
index 959f644..0000000
--- a/java/res/xml-ky/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_east_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-nb/keyboard_set.xml b/java/res/xml-nb/keyboard_set.xml
deleted file mode 100644
index 0db9b1f..0000000
--- a/java/res/xml-nb/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-pl/keyboard_set.xml b/java/res/xml-pl/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-pl/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-pt/keyboard_set.xml b/java/res/xml-pt/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-pt/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-ro/keyboard_set.xml b/java/res/xml-ro/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-ro/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-ru/keyboard_set.xml b/java/res/xml-ru/keyboard_set.xml
deleted file mode 100644
index 959f644..0000000
--- a/java/res/xml-ru/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_east_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-sk/keyboard_set.xml b/java/res/xml-sk/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-sk/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-sl/keyboard_set.xml b/java/res/xml-sl/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-sl/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-sr/keyboard_set.xml b/java/res/xml-sr/keyboard_set.xml
deleted file mode 100644
index 5098134..0000000
--- a/java/res/xml-sr/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_south_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-sv/keyboard_set.xml b/java/res/xml-sv/keyboard_set.xml
deleted file mode 100644
index 0db9b1f..0000000
--- a/java/res/xml-sv/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index 77c0efd..45e22fc 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<key-style
latin:styleName="hasShiftedLetterHintStyle"
@@ -38,7 +38,7 @@
<!-- Functional key styles -->
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetAutomaticShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -48,7 +48,7 @@
latin:backgroundType="stickyOff" />
</case>
<case
- latin:keyboardSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -109,7 +109,7 @@
latin:backgroundType="functional" />
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
latin:navigatePrevious="true"
>
<key-style
diff --git a/java/res/xml-sw600dp/rowkeys_thai1.xml b/java/res/xml-sw600dp/rowkeys_thai1.xml
index e49cb2b..6aec7c2 100644
--- a/java/res/xml-sw600dp/rowkeys_thai1.xml
+++ b/java/res/xml-sw600dp/rowkeys_thai1.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E51: "๑" THAI DIGIT ONE -->
<Key
diff --git a/java/res/xml-sw600dp/rowkeys_thai2.xml b/java/res/xml-sw600dp/rowkeys_thai2.xml
index 86a2198..edb759a 100644
--- a/java/res/xml-sw600dp/rowkeys_thai2.xml
+++ b/java/res/xml-sw600dp/rowkeys_thai2.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E50: "๐" THAI DIGIT ZERO -->
<Key
diff --git a/java/res/xml-sw600dp/rowkeys_thai3.xml b/java/res/xml-sw600dp/rowkeys_thai3.xml
index abd6763..7507dde 100644
--- a/java/res/xml-sw600dp/rowkeys_thai3.xml
+++ b/java/res/xml-sw600dp/rowkeys_thai3.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E24: "ฤ" THAI CHARACTER RU -->
<Key
diff --git a/java/res/xml-sw600dp/rowkeys_thai4.xml b/java/res/xml-sw600dp/rowkeys_thai4.xml
index cec34a6..64549bd 100644
--- a/java/res/xml-sw600dp/rowkeys_thai4.xml
+++ b/java/res/xml-sw600dp/rowkeys_thai4.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<Key
latin:keyLabel="(" />
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index f4a1a4e..e1c2369 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<key-style
latin:styleName="hasShiftedLetterHintStyle"
@@ -37,7 +37,7 @@
</switch>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetAutomaticShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -47,7 +47,7 @@
latin:backgroundType="stickyOff" />
</case>
<case
- latin:keyboardSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -108,7 +108,7 @@
latin:backgroundType="functional" />
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
latin:navigatePrevious="true"
>
<key-style
diff --git a/java/res/xml-tr/keyboard_set.xml b/java/res/xml-tr/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-tr/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-uk/keyboard_set.xml b/java/res/xml-uk/keyboard_set.xml
deleted file mode 100644
index 959f644..0000000
--- a/java/res/xml-uk/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_east_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml-vi/keyboard_set.xml b/java/res/xml-vi/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml-vi/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml/key_azerty_quote.xml b/java/res/xml/key_azerty_quote.xml
index 8c44f78..966ae6f 100644
--- a/java/res/xml/key_azerty_quote.xml
+++ b/java/res/xml/key_azerty_quote.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<Key
latin:keyLabel="\?" />
diff --git a/java/res/xml/key_greek_semicolon.xml b/java/res/xml/key_greek_semicolon.xml
index a28b772..ae73a59 100644
--- a/java/res/xml/key_greek_semicolon.xml
+++ b/java/res/xml/key_greek_semicolon.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<Key
latin:keyLabel=":"
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index d5a9a26..8d01091 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -42,7 +42,7 @@
<!-- Functional key styles -->
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetAutomaticShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -52,7 +52,7 @@
latin:backgroundType="stickyOff" />
</case>
<case
- latin:keyboardSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
>
<key-style
latin:styleName="shiftKeyStyle"
@@ -82,7 +82,7 @@
<!-- Shift + Enter in textMultiLine field. -->
<case
latin:isMultiLine="true"
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<key-style
latin:styleName="enterKeyStyle"
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index a4c9a33..e15a0be 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -108,7 +108,7 @@
<!-- Shift + Enter in textMultiLine field. -->
<case
latin:isMultiLine="true"
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
<key-style
latin:styleName="enterKeyStyle"
diff --git a/java/res/xml-ar/keyboard_set.xml b/java/res/xml/keyboard_layout_set_arabic.xml
similarity index 93%
rename from java/res/xml-ar/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_arabic.xml
index 88d3201..10e95bd 100644
--- a/java/res/xml-ar/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_arabic.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-fr/keyboard_set.xml b/java/res/xml/keyboard_layout_set_azerty.xml
similarity index 93%
rename from java/res/xml-fr/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_azerty.xml
index 2ac25c9..d4df667 100644
--- a/java/res/xml-fr/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_azerty.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-bg/keyboard_set.xml b/java/res/xml/keyboard_layout_set_bulgarian.xml
similarity index 96%
rename from java/res/xml-bg/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_bulgarian.xml
index 593ad97..c6fdff9 100644
--- a/java/res/xml-bg/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_bulgarian.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-be/keyboard_set.xml b/java/res/xml/keyboard_layout_set_east_slavic.xml
similarity index 93%
rename from java/res/xml-be/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_east_slavic.xml
index 959f644..8d66faf 100644
--- a/java/res/xml-be/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_east_slavic.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-fa/keyboard_set.xml b/java/res/xml/keyboard_layout_set_farsi.xml
similarity index 96%
rename from java/res/xml-fa/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_farsi.xml
index f508f8f..b9a91e3 100644
--- a/java/res/xml-fa/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_farsi.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-ka/keyboard_set.xml b/java/res/xml/keyboard_layout_set_georgian.xml
similarity index 97%
rename from java/res/xml-ka/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_georgian.xml
index bc3df1e..36d0916 100644
--- a/java/res/xml-ka/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_georgian.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -55,4 +55,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-el/keyboard_set.xml b/java/res/xml/keyboard_layout_set_greek.xml
similarity index 96%
rename from java/res/xml-el/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_greek.xml
index af74e12..b376e4f 100644
--- a/java/res/xml-el/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_greek.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-iw/keyboard_set.xml b/java/res/xml/keyboard_layout_set_hebrew.xml
similarity index 93%
rename from java/res/xml-iw/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_hebrew.xml
index 6c51fb0..d0f12f3 100644
--- a/java/res/xml-iw/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_hebrew.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-hi/keyboard_set.xml b/java/res/xml/keyboard_layout_set_hindi.xml
similarity index 97%
rename from java/res/xml-hi/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_hindi.xml
index c1fd071..e850c7e 100644
--- a/java/res/xml-hi/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_hindi.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -55,4 +55,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-is/keyboard_set.xml b/java/res/xml/keyboard_layout_set_nordic.xml
similarity index 96%
rename from java/res/xml-is/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_nordic.xml
index 44edbba..1f00f44 100644
--- a/java/res/xml-is/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_nordic.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-zz-rQY/keyboard_set.xml b/java/res/xml/keyboard_layout_set_qwerty.xml
similarity index 96%
rename from java/res/xml-zz-rQY/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_qwerty.xml
index e9eddbf..8215170 100644
--- a/java/res/xml-zz-rQY/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_qwerty.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-cs/keyboard_set.xml b/java/res/xml/keyboard_layout_set_qwertz.xml
similarity index 93%
rename from java/res/xml-cs/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_qwertz.xml
index f9f7451..f9e87a6 100644
--- a/java/res/xml-cs/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_qwertz.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-mk/keyboard_set.xml b/java/res/xml/keyboard_layout_set_south_slavic.xml
similarity index 96%
rename from java/res/xml-mk/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_south_slavic.xml
index 6b8b844..36666b9 100644
--- a/java/res/xml-mk/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_south_slavic.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-es/keyboard_set.xml b/java/res/xml/keyboard_layout_set_spanish.xml
similarity index 93%
rename from java/res/xml-es/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_spanish.xml
index 4ff5b54..0ef712b 100644
--- a/java/res/xml-es/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_spanish.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2011, The Android Open Source Project
+** 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.
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -39,4 +39,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml-th/keyboard_set.xml b/java/res/xml/keyboard_layout_set_thai.xml
similarity index 97%
rename from java/res/xml-th/keyboard_set.xml
rename to java/res/xml/keyboard_layout_set_thai.xml
index 99e81b8..94713e3 100644
--- a/java/res/xml-th/keyboard_set.xml
+++ b/java/res/xml/keyboard_layout_set_thai.xml
@@ -18,7 +18,7 @@
*/
-->
-<KeyboardSet
+<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<Element
latin:elementName="alphabet"
@@ -55,4 +55,4 @@
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
+</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_set.xml b/java/res/xml/keyboard_set.xml
deleted file mode 100644
index 8966ddb..0000000
--- a/java/res/xml/keyboard_set.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardSet>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index e43fb32..ba45343 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. -->
-<!-- Supported locales: name/layout
+<!-- Supported subtypes
+ keyboard_locale: script_name/keyboard_layout_set[:keyboard_locale]
ar: Arabic/arabic
be: Belarusian/east_slavic
bg: Bulgarian/bulgarian
@@ -75,246 +76,259 @@
android:label="@string/subtype_en_US"
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,TrySuppressingImeSwitcher,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_en_GB"
android:imeSubtypeLocale="en_GB"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,TrySuppressingImeSwitcher,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="ar"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=arabic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="be"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="bg"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="cs"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="da"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="de"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic_qwerty"
android:imeSubtypeLocale="de"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,KeyboardLocale=de_QY"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty:de_QY,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="el"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=greek"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="es"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="et"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="fa"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=farsi"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="fi"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="fr"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=azerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="fr_CA"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="fr_CH"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="hi"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="hr"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="hu"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="is"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="it"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<!-- Java uses the deprecated "iw" code instead of the standard "he" code for Hebrew. -->
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="iw"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=hebrew"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="ka"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=georgian"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="ky"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="lt"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="lv"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="mk"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=south_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="nb"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="nl"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="pl"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="pt"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="ro"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="ru"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="sk"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="sl"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="sr"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=south_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="sv"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:imeSubtypeLocale="tr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="th"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue=""
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=thai"
+ />
+ <subtype android:icon="@drawable/ic_subtype_keyboard"
+ android:label="@string/subtype_generic"
+ android:imeSubtypeLocale="tr"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="uk"
android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:imeSubtypeLocale="vi"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_no_language_qwerty"
android:imeSubtypeLocale="zz_QY"
android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,EnabledWhenDefaultIsNotAsciiCapable"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EnabledWhenDefaultIsNotAsciiCapable"
/>
</input-method>
diff --git a/java/res/xml/rowkeys_georgian1.xml b/java/res/xml/rowkeys_georgian1.xml
index 6b24c29..fcdf3fa 100644
--- a/java/res/xml/rowkeys_georgian1.xml
+++ b/java/res/xml/rowkeys_georgian1.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<Key
latin:keyLabel="Q"
diff --git a/java/res/xml/rowkeys_georgian2.xml b/java/res/xml/rowkeys_georgian2.xml
index f50e3d6..5673b90 100644
--- a/java/res/xml/rowkeys_georgian2.xml
+++ b/java/res/xml/rowkeys_georgian2.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<Key
latin:keyLabel="A"
diff --git a/java/res/xml/rowkeys_georgian3.xml b/java/res/xml/rowkeys_georgian3.xml
index f908673..1c0f45b 100644
--- a/java/res/xml/rowkeys_georgian3.xml
+++ b/java/res/xml/rowkeys_georgian3.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+10EB: "ძ" GEORGIAN LETTER JIL -->
<Key
diff --git a/java/res/xml/rowkeys_greek1.xml b/java/res/xml/rowkeys_greek1.xml
index 4df49f8..5777d3b 100644
--- a/java/res/xml/rowkeys_greek1.xml
+++ b/java/res/xml/rowkeys_greek1.xml
@@ -25,7 +25,7 @@
<!--
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
>
U+0385: "΅" GREEK DIALYTIKA TONOS
<Key
diff --git a/java/res/xml/rowkeys_hindi1.xml b/java/res/xml/rowkeys_hindi1.xml
index eb99de9..656ba01 100644
--- a/java/res/xml/rowkeys_hindi1.xml
+++ b/java/res/xml/rowkeys_hindi1.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0914: "औ" DEVANAGARI LETTER AU
U+0912/U+0902: "ऒं" DEVANAGARI LETTER SHORT O//DEVANAGARI SIGN ANUSVARA -->
diff --git a/java/res/xml/rowkeys_hindi2.xml b/java/res/xml/rowkeys_hindi2.xml
index 95f4881..05e3db2 100644
--- a/java/res/xml/rowkeys_hindi2.xml
+++ b/java/res/xml/rowkeys_hindi2.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0913: "ओ" DEVANAGARI LETTER O
U+0913/U+0902: "ओं" DEVANAGARI LETTER O/DEVANAGARI SIGN ANUSVARA
diff --git a/java/res/xml/rowkeys_hindi3.xml b/java/res/xml/rowkeys_hindi3.xml
index c023115..92bcb56 100644
--- a/java/res/xml/rowkeys_hindi3.xml
+++ b/java/res/xml/rowkeys_hindi3.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0911: "ऑ" DEVANAGARI LETTER CANDRA O -->
<Key
diff --git a/java/res/xml/rowkeys_thai1.xml b/java/res/xml/rowkeys_thai1.xml
index 943112a..4b49da1 100644
--- a/java/res/xml/rowkeys_thai1.xml
+++ b/java/res/xml/rowkeys_thai1.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E0E: "ฎ" THAI CHARACTER DO CHADA -->
<Key
diff --git a/java/res/xml/rowkeys_thai2.xml b/java/res/xml/rowkeys_thai2.xml
index 02ea6c5..80e3563 100644
--- a/java/res/xml/rowkeys_thai2.xml
+++ b/java/res/xml/rowkeys_thai2.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E24: "ฤ" THAI CHARACTER RU -->
<Key
diff --git a/java/res/xml/rowkeys_thai3.xml b/java/res/xml/rowkeys_thai3.xml
index 72c0def..b833807 100644
--- a/java/res/xml/rowkeys_thai3.xml
+++ b/java/res/xml/rowkeys_thai3.xml
@@ -23,7 +23,7 @@
>
<switch>
<case
- latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
<!-- U+0E09: "ฉ" THAI CHARACTER CHO CHING -->
<Key
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 67e4e4a..6ada090 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -239,7 +239,7 @@
public final ArrayList<Key> mAltCodeKeysWhileTyping = new ArrayList<Key>();
public final KeyboardIconsSet mIconsSet = new KeyboardIconsSet();
- public KeyboardSet.KeysCache mKeysCache;
+ public KeyboardLayoutSet.KeysCache mKeysCache;
public int mMostCommonKeyHeight = 0;
public int mMostCommonKeyWidth = 0;
@@ -637,7 +637,7 @@
params.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
}
- public void setAutoGenerate(KeyboardSet.KeysCache keysCache) {
+ public void setAutoGenerate(KeyboardLayoutSet.KeysCache keysCache) {
mParams.mKeysCache = keysCache;
}
@@ -1061,8 +1061,8 @@
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard_Case);
try {
- final boolean keyboardSetElementMatched = matchTypedValue(a,
- R.styleable.Keyboard_Case_keyboardSetElement, id.mElementId,
+ final boolean keyboardLayoutSetElementMatched = matchTypedValue(a,
+ R.styleable.Keyboard_Case_keyboardLayoutSetElement, id.mElementId,
KeyboardId.elementIdToName(id.mElementId));
final boolean modeMatched = matchTypedValue(a,
R.styleable.Keyboard_Case_mode, id.mMode, KeyboardId.modeName(id.mMode));
@@ -1091,7 +1091,7 @@
R.styleable.Keyboard_Case_languageCode, id.mLocale.getLanguage());
final boolean countryCodeMatched = matchString(a,
R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry());
- final boolean selected = keyboardSetElementMatched && modeMatched
+ final boolean selected = keyboardLayoutSetElementMatched && modeMatched
&& navigateNextMatched && navigatePreviousMatched && passwordInputMatched
&& clobberSettingsKeyMatched && shortcutKeyEnabledMatched
&& hasShortcutKeyMatched && languageSwitchKeyEnabledMatched
@@ -1100,8 +1100,9 @@
if (DEBUG) {
startTag("<%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>%s", TAG_CASE,
- textAttr(a.getString(R.styleable.Keyboard_Case_keyboardSetElement),
- "keyboardSetElement"),
+ textAttr(a.getString(
+ R.styleable.Keyboard_Case_keyboardLayoutSetElement),
+ "keyboardLayoutSetElement"),
textAttr(a.getString(R.styleable.Keyboard_Case_mode), "mode"),
textAttr(a.getString(R.styleable.Keyboard_Case_imeAction),
"imeAction"),
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
similarity index 68%
rename from java/src/com/android/inputmethod/keyboard/KeyboardSet.java
rename to java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
index f9b6b72..51cd905 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
@@ -28,14 +28,17 @@
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.compat.EditorInfoCompatUtils;
-import com.android.inputmethod.keyboard.KeyboardSet.Params.ElementParams;
+import com.android.inputmethod.keyboard.KeyboardLayoutSet.Params.ElementParams;
+import com.android.inputmethod.keyboard.internal.KeySpecParser;
import com.android.inputmethod.latin.InputTypeUtils;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
+import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.LocaleUtils.RunInLocale;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.StringUtils;
import com.android.inputmethod.latin.SubtypeLocale;
+import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.XmlParseUtils;
import org.xmlpull.v1.XmlPullParser;
@@ -47,18 +50,25 @@
import java.util.Locale;
/**
- * This class represents a set of keyboards. Each of them represents a different keyboard
+ * This class represents a set of keyboard layouts. Each of them represents a different keyboard
* specific to a keyboard state, such as alphabet, symbols, and so on. Layouts in the same
- * {@link KeyboardSet} are related to each other.
- * A {@link KeyboardSet} needs to be created for each {@link android.view.inputmethod.EditorInfo}.
+ * {@link KeyboardLayoutSet} are related to each other.
+ * A {@link KeyboardLayoutSet} needs to be created for each
+ * {@link android.view.inputmethod.EditorInfo}.
*/
-public class KeyboardSet {
- private static final String TAG = KeyboardSet.class.getSimpleName();
+public class KeyboardLayoutSet {
+ private static final String TAG = KeyboardLayoutSet.class.getSimpleName();
private static final boolean DEBUG_CACHE = LatinImeLogger.sDBG;
- private static final String TAG_KEYBOARD_SET = "KeyboardSet";
+ private static final String TAG_KEYBOARD_SET = "KeyboardLayoutSet";
private static final String TAG_ELEMENT = "Element";
+ private static final String DEFAULT_KEYBOARD_LAYOUT_SET = "qwerty";
+ private static final char KEYBOARD_LAYOUT_SET_LOCALE_DELIMITER = ':';
+ private static final String KEYBOARD_LAYOUT_SET_RESOURCE_PREFIX = "xml/keyboard_layout_set_";
+ private static final int DEFAULT_KEYBOARD_LAYOUT_SET_RESOURCE_ID =
+ R.xml.keyboard_layout_set_qwerty;
+
private final Context mContext;
private final Params mParams;
@@ -66,10 +76,10 @@
new HashMap<KeyboardId, SoftReference<Keyboard>>();
private static final KeysCache sKeysCache = new KeysCache();
- public static class KeyboardSetException extends RuntimeException {
+ public static class KeyboardLayoutSetException extends RuntimeException {
public final KeyboardId mKeyboardId;
- public KeyboardSetException(Throwable cause, KeyboardId keyboardId) {
+ public KeyboardLayoutSetException(Throwable cause, KeyboardId keyboardId) {
super(cause);
mKeyboardId = keyboardId;
}
@@ -98,6 +108,7 @@
}
static class Params {
+ String mKeyboardLayoutSetName;
int mMode;
EditorInfo mEditorInfo;
boolean mTouchPositionCorrectionEnabled;
@@ -108,8 +119,8 @@
Locale mLocale;
int mOrientation;
int mWidth;
- // KeyboardSet element id to element's parameters map.
- final HashMap<Integer, ElementParams> mKeyboardSetElementIdToParamsMap =
+ // KeyboardLayoutSet element id to element's parameters map.
+ final HashMap<Integer, ElementParams> mKeyboardLayoutSetElementIdToParamsMap =
new HashMap<Integer, ElementParams>();
static class ElementParams {
@@ -123,43 +134,43 @@
sKeysCache.clear();
}
- private KeyboardSet(Context context, Params params) {
+ private KeyboardLayoutSet(Context context, Params params) {
mContext = context;
mParams = params;
}
- public Keyboard getKeyboard(int baseKeyboardSetElementId) {
- final int keyboardSetElementId;
+ public Keyboard getKeyboard(int baseKeyboardLayoutSetElementId) {
+ final int keyboardLayoutSetElementId;
switch (mParams.mMode) {
case KeyboardId.MODE_PHONE:
- if (baseKeyboardSetElementId == KeyboardId.ELEMENT_SYMBOLS) {
- keyboardSetElementId = KeyboardId.ELEMENT_PHONE_SYMBOLS;
+ if (baseKeyboardLayoutSetElementId == KeyboardId.ELEMENT_SYMBOLS) {
+ keyboardLayoutSetElementId = KeyboardId.ELEMENT_PHONE_SYMBOLS;
} else {
- keyboardSetElementId = KeyboardId.ELEMENT_PHONE;
+ keyboardLayoutSetElementId = KeyboardId.ELEMENT_PHONE;
}
break;
case KeyboardId.MODE_NUMBER:
case KeyboardId.MODE_DATE:
case KeyboardId.MODE_TIME:
case KeyboardId.MODE_DATETIME:
- keyboardSetElementId = KeyboardId.ELEMENT_NUMBER;
+ keyboardLayoutSetElementId = KeyboardId.ELEMENT_NUMBER;
break;
default:
- keyboardSetElementId = baseKeyboardSetElementId;
+ keyboardLayoutSetElementId = baseKeyboardLayoutSetElementId;
break;
}
- ElementParams elementParams = mParams.mKeyboardSetElementIdToParamsMap.get(
- keyboardSetElementId);
+ ElementParams elementParams = mParams.mKeyboardLayoutSetElementIdToParamsMap.get(
+ keyboardLayoutSetElementId);
if (elementParams == null) {
- elementParams = mParams.mKeyboardSetElementIdToParamsMap.get(
+ elementParams = mParams.mKeyboardLayoutSetElementIdToParamsMap.get(
KeyboardId.ELEMENT_ALPHABET);
}
- final KeyboardId id = getKeyboardId(keyboardSetElementId);
+ final KeyboardId id = getKeyboardId(keyboardLayoutSetElementId);
try {
return getKeyboard(mContext, elementParams, id);
} catch (RuntimeException e) {
- throw new KeyboardSetException(e, id);
+ throw new KeyboardLayoutSetException(e, id);
}
}
@@ -199,21 +210,46 @@
return keyboard;
}
- // Note: The keyboard for each locale, shift state, and mode are represented as KeyboardSet
- // element id that is a key in keyboard_set.xml. Also that file specifies which XML layout
- // should be used for each keyboard. The KeyboardId is an internal key for Keyboard object.
- private KeyboardId getKeyboardId(int keyboardSetElementId) {
+ // Note: The keyboard for each locale, shift state, and mode are represented as
+ // KeyboardLayoutSet element id that is a key in keyboard_set.xml. Also that file specifies
+ // which XML layout should be used for each keyboard. The KeyboardId is an internal key for
+ // Keyboard object.
+ private KeyboardId getKeyboardId(int keyboardLayoutSetElementId) {
final Params params = mParams;
- final boolean isSymbols = (keyboardSetElementId == KeyboardId.ELEMENT_SYMBOLS
- || keyboardSetElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED);
+ final boolean isSymbols = (keyboardLayoutSetElementId == KeyboardId.ELEMENT_SYMBOLS
+ || keyboardLayoutSetElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED);
final boolean noLanguage = params.mLocale.getLanguage().equals(SubtypeLocale.NO_LANGUAGE);
final boolean voiceKeyEnabled = params.mVoiceKeyEnabled && !noLanguage;
final boolean hasShortcutKey = voiceKeyEnabled && (isSymbols != params.mVoiceKeyOnMain);
- return new KeyboardId(keyboardSetElementId, params.mLocale, params.mOrientation,
+ return new KeyboardId(keyboardLayoutSetElementId, params.mLocale, params.mOrientation,
params.mWidth, params.mMode, params.mEditorInfo, params.mNoSettingsKey,
voiceKeyEnabled, hasShortcutKey, params.mLanguageSwitchKeyEnabled);
}
+ private static String getKeyboardLayoutSetName(InputMethodSubtype subtype) {
+ final String keyboardLayoutSet = subtype.getExtraValueOf(
+ LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LAYOUT_SET);
+ // TODO: Remove this null check when InputMethodManager.getCurrentInputMethodSubtype is
+ // fixed.
+ if (keyboardLayoutSet == null) return DEFAULT_KEYBOARD_LAYOUT_SET;
+ final int pos = keyboardLayoutSet.indexOf(KEYBOARD_LAYOUT_SET_LOCALE_DELIMITER);
+ return (pos > 0) ? keyboardLayoutSet.substring(0, pos) : keyboardLayoutSet;
+ }
+
+ public static String getKeyboardLayoutSetLocaleString(InputMethodSubtype subtype) {
+ final String keyboardLayoutSet = subtype.getExtraValueOf(
+ LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LAYOUT_SET);
+ // TODO: Remove this null check when InputMethodManager.getCurrentInputMethodSubtype is
+ // fixed.
+ if (keyboardLayoutSet == null) return subtype.getLocale();
+ final int pos = keyboardLayoutSet.indexOf(KEYBOARD_LAYOUT_SET_LOCALE_DELIMITER);
+ return (pos > 0) ? keyboardLayoutSet.substring(pos + 1) : subtype.getLocale();
+ }
+
+ public static Locale getKeyboardLayoutSetLocale(InputMethodSubtype subtype) {
+ return LocaleUtils.constructLocaleFromString(getKeyboardLayoutSetLocaleString(subtype));
+ }
+
public static class Builder {
private final Context mContext;
private final String mPackageName;
@@ -244,7 +280,6 @@
}
public Builder setSubtype(InputMethodSubtype subtype) {
- final Locale inputLocale = SubtypeLocale.getSubtypeLocale(subtype);
final boolean asciiCapable = subtype.containsExtraValueKey(
LatinIME.SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE);
final boolean deprecatedForceAscii = StringUtils.inPrivateImeOptions(
@@ -252,8 +287,12 @@
final boolean forceAscii = EditorInfoCompatUtils.hasFlagForceAscii(
mParams.mEditorInfo.imeOptions)
|| deprecatedForceAscii;
- mParams.mLocale = (forceAscii && !asciiCapable)
- ? SubtypeLocale.LOCALE_NO_LANGUAGE_QWERTY : inputLocale;
+ final InputMethodSubtype keyboardSubtype = (forceAscii && !asciiCapable)
+ ? SubtypeSwitcher.getInstance().getNoLanguageSubtype()
+ : subtype;
+ mParams.mLocale = getKeyboardLayoutSetLocale(keyboardSubtype);
+ mParams.mKeyboardLayoutSetName = KEYBOARD_LAYOUT_SET_RESOURCE_PREFIX
+ + getKeyboardLayoutSetName(keyboardSubtype);
return this;
}
@@ -275,31 +314,31 @@
mParams.mTouchPositionCorrectionEnabled = enabled;
}
- public KeyboardSet build() {
+ public KeyboardLayoutSet build() {
if (mParams.mOrientation == Configuration.ORIENTATION_UNDEFINED)
throw new RuntimeException("Screen geometry is not specified");
if (mParams.mLocale == null)
- throw new RuntimeException("KeyboardSet subtype is not specified");
-
+ throw new RuntimeException("KeyboardLayoutSet subtype is not specified");
+ final String keyboardLayoutSetName = mParams.mKeyboardLayoutSetName;
+ final int xmlId = KeySpecParser.getResourceId(
+ mResources, keyboardLayoutSetName, DEFAULT_KEYBOARD_LAYOUT_SET_RESOURCE_ID);
final RunInLocale<Void> job = new RunInLocale<Void>() {
@Override
protected Void job(Resources res) {
try {
- parseKeyboardSet(res, R.xml.keyboard_set);
+ parseKeyboardLayoutSet(res, xmlId);
} catch (Exception e) {
- throw new RuntimeException(e.getMessage() + " in "
- + res.getResourceName(R.xml.keyboard_set)
- + " of locale " + mParams.mLocale);
+ throw new RuntimeException(e.getMessage() + " in " + keyboardLayoutSetName);
}
return null;
}
};
job.runInLocale(mResources, mParams.mLocale);
- return new KeyboardSet(mContext, mParams);
+ return new KeyboardLayoutSet(mContext, mParams);
}
- private void parseKeyboardSet(Resources res, int resId) throws XmlPullParserException,
- IOException {
+ private void parseKeyboardLayoutSet(Resources res, int resId)
+ throws XmlPullParserException, IOException {
final XmlResourceParser parser = res.getXml(resId);
try {
int event;
@@ -307,7 +346,7 @@
if (event == XmlPullParser.START_TAG) {
final String tag = parser.getName();
if (TAG_KEYBOARD_SET.equals(tag)) {
- parseKeyboardSetContent(parser);
+ parseKeyboardLayoutSetContent(parser);
} else {
throw new XmlParseUtils.IllegalStartTag(parser, TAG_KEYBOARD_SET);
}
@@ -318,14 +357,14 @@
}
}
- private void parseKeyboardSetContent(XmlPullParser parser) throws XmlPullParserException,
- IOException {
+ private void parseKeyboardLayoutSetContent(XmlPullParser parser)
+ throws XmlPullParserException, IOException {
int event;
while ((event = parser.next()) != XmlPullParser.END_DOCUMENT) {
if (event == XmlPullParser.START_TAG) {
final String tag = parser.getName();
if (TAG_ELEMENT.equals(tag)) {
- parseKeyboardSetElement(parser);
+ parseKeyboardLayoutSetElement(parser);
} else {
throw new XmlParseUtils.IllegalStartTag(parser, TAG_KEYBOARD_SET);
}
@@ -340,27 +379,28 @@
}
}
- private void parseKeyboardSetElement(XmlPullParser parser) throws XmlPullParserException,
- IOException {
+ private void parseKeyboardLayoutSetElement(XmlPullParser parser)
+ throws XmlPullParserException, IOException {
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
- R.styleable.KeyboardSet_Element);
+ R.styleable.KeyboardLayoutSet_Element);
try {
XmlParseUtils.checkAttributeExists(a,
- R.styleable.KeyboardSet_Element_elementName, "elementName",
+ R.styleable.KeyboardLayoutSet_Element_elementName, "elementName",
TAG_ELEMENT, parser);
XmlParseUtils.checkAttributeExists(a,
- R.styleable.KeyboardSet_Element_elementKeyboard, "elementKeyboard",
+ R.styleable.KeyboardLayoutSet_Element_elementKeyboard, "elementKeyboard",
TAG_ELEMENT, parser);
XmlParseUtils.checkEndTag(TAG_ELEMENT, parser);
final ElementParams elementParams = new ElementParams();
final int elementName = a.getInt(
- R.styleable.KeyboardSet_Element_elementName, 0);
+ R.styleable.KeyboardLayoutSet_Element_elementName, 0);
elementParams.mKeyboardXmlId = a.getResourceId(
- R.styleable.KeyboardSet_Element_elementKeyboard, 0);
+ R.styleable.KeyboardLayoutSet_Element_elementKeyboard, 0);
elementParams.mProximityCharsCorrectionEnabled = a.getBoolean(
- R.styleable.KeyboardSet_Element_enableProximityCharsCorrection, false);
- mParams.mKeyboardSetElementIdToParamsMap.put(elementName, elementParams);
+ R.styleable.KeyboardLayoutSet_Element_enableProximityCharsCorrection,
+ false);
+ mParams.mKeyboardLayoutSetElementIdToParamsMap.put(elementName, elementParams);
} finally {
a.recycle();
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 3bc63f3..e50d922 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -27,7 +27,7 @@
import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
-import com.android.inputmethod.keyboard.KeyboardSet.KeyboardSetException;
+import com.android.inputmethod.keyboard.KeyboardLayoutSet.KeyboardLayoutSetException;
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
import com.android.inputmethod.keyboard.internal.KeyboardState;
import com.android.inputmethod.latin.DebugSettings;
@@ -76,7 +76,7 @@
private KeyboardState mState;
- private KeyboardSet mKeyboardSet;
+ private KeyboardLayoutSet mKeyboardLayoutSet;
/** mIsAutoCorrectionActive indicates that auto corrected word will be input instead of
* what user actually typed. */
@@ -129,12 +129,13 @@
if (mKeyboardTheme.mThemeId != keyboardTheme.mThemeId) {
mKeyboardTheme = keyboardTheme;
mThemeContext = new ContextThemeWrapper(context, keyboardTheme.mStyleId);
- KeyboardSet.clearKeyboardCache();
+ KeyboardLayoutSet.clearKeyboardCache();
}
}
public void loadKeyboard(EditorInfo editorInfo, SettingsValues settingsValues) {
- final KeyboardSet.Builder builder = new KeyboardSet.Builder(mThemeContext, editorInfo);
+ final KeyboardLayoutSet.Builder builder = new KeyboardLayoutSet.Builder(
+ mThemeContext, editorInfo);
builder.setScreenGeometry(mThemeContext.getResources().getConfiguration().orientation,
mThemeContext.getResources().getDisplayMetrics().widthPixels);
builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype());
@@ -142,10 +143,10 @@
settingsValues.isVoiceKeyEnabled(editorInfo),
settingsValues.isVoiceKeyOnMain(),
settingsValues.isLanguageSwitchKeyEnabled(mThemeContext));
- mKeyboardSet = builder.build();
+ mKeyboardLayoutSet = builder.build();
try {
mState.onLoadKeyboard(mResources.getString(R.string.layout_switch_back_symbols));
- } catch (KeyboardSetException e) {
+ } catch (KeyboardLayoutSetException e) {
Log.w(TAG, "loading keyboard failed: " + e.mKeyboardId, e.getCause());
LatinImeLogger.logOnException(e.mKeyboardId.toString(), e.getCause());
return;
@@ -214,43 +215,43 @@
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setAlphabetKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setAlphabetManualShiftedKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setAlphabetAutomaticShiftedKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setAlphabetShiftLockedKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setAlphabetShiftLockShiftedKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setSymbolsKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS));
}
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setSymbolsShiftedKeyboard() {
- setKeyboard(mKeyboardSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS_SHIFTED));
+ setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS_SHIFTED));
}
// Implements {@link KeyboardState.SwitchActions}.
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 0aba813..4abd887 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -318,7 +318,7 @@
}
}
- private static int getResourceId(Resources res, String name, int packageNameResId) {
+ public static int getResourceId(Resources res, String name, int packageNameResId) {
String packageName = res.getResourcePackageName(packageNameResId);
int resId = res.getIdentifier(name, null, packageName);
if (resId == 0) {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 8a26d2b..f5c0997 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -115,17 +115,16 @@
public static final String IME_OPTION_FORCE_ASCII = "forceAscii";
/**
+ * The subtype extra value used to indicate that the subtype keyboard layout set name.
+ */
+ public static final String SUBTYPE_EXTRA_VALUE_KEYBOARD_LAYOUT_SET = "KeyboardLayoutSet";
+
+ /**
* The subtype extra value used to indicate that the subtype keyboard layout is capable for
* typing ASCII characters.
*/
public static final String SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE = "AsciiCapable";
- /**
- * The subtype extra value used to indicate that the subtype keyboard layout should be loaded
- * from the specified locale.
- */
- public static final String SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE = "KeyboardLocale";
-
private static final int EXTENDED_TOUCHABLE_REGION_HEIGHT = 100;
// How many continuous deletes at which to start deleting at a higher speed.
diff --git a/java/src/com/android/inputmethod/latin/StringUtils.java b/java/src/com/android/inputmethod/latin/StringUtils.java
index 7000e46..42fce53 100644
--- a/java/src/com/android/inputmethod/latin/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/StringUtils.java
@@ -22,6 +22,7 @@
import com.android.inputmethod.keyboard.Keyboard;
import java.util.ArrayList;
+import java.util.Locale;
public class StringUtils {
private StringUtils() {
@@ -149,4 +150,20 @@
i++;
}
}
+
+ public static String toTitleCase(String s, Locale locale) {
+ if (s.length() <= 1) {
+ // TODO: is this really correct? Shouldn't this be s.toUpperCase()?
+ return s;
+ }
+ // TODO: fix the bugs below
+ // - This does not work for Greek, because it returns upper case instead of title case.
+ // - It does not work for Serbian, because it fails to account for the "lj" character,
+ // which should be "Lj" in title case and "LJ" in upper case.
+ // - It does not work for Dutch, because it fails to account for the "ij" digraph, which
+ // are two different characters but both should be capitalized as "IJ" as if they were
+ // a single letter.
+ // - It also does not work with unicode surrogate code points.
+ return s.toUpperCase(locale).charAt(0) + s.substring(1);
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index fac74f0..2bc22a6 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -18,7 +18,7 @@
import android.content.Context;
import android.content.res.Resources;
-import android.view.inputmethod.InputMethodSubtype;
+
import java.util.Locale;
@@ -69,10 +69,10 @@
}
final String value = lookupExceptionalLocale(key);
if (value == null) {
- return toTitleCase(locale.getDisplayName(locale), locale);
+ return StringUtils.toTitleCase(locale.getDisplayName(locale), locale);
}
if (value.indexOf("%s") >= 0) {
- final String languageName = toTitleCase(locale.getDisplayLanguage(locale), locale);
+ final String languageName = StringUtils.toTitleCase(locale.getDisplayLanguage(locale), locale);
return String.format(value, languageName);
}
return value;
@@ -88,7 +88,7 @@
if (NO_LANGUAGE.equals(locale.getLanguage())) {
return lookupExceptionalLocale(locale.getCountry());
} else {
- return toTitleCase(locale.getDisplayLanguage(locale), locale);
+ return StringUtils.toTitleCase(locale.getDisplayLanguage(locale), locale);
}
}
@@ -102,33 +102,7 @@
if (NO_LANGUAGE.equals(locale.getLanguage())) {
return locale.getCountry();
} else {
- return toTitleCase(locale.getLanguage(), locale);
+ return StringUtils.toTitleCase(locale.getLanguage(), locale);
}
}
-
- public static String toTitleCase(String s, Locale locale) {
- if (s.length() <= 1) {
- // TODO: is this really correct? Shouldn't this be s.toUpperCase()?
- return s;
- }
- // TODO: fix the bugs below
- // - This does not work for Greek, because it returns upper case instead of title case.
- // - It does not work for Serbian, because it fails to account for the "lj" character,
- // which should be "Lj" in title case and "LJ" in upper case.
- // - It does not work for Dutch, because it fails to account for the "ij" digraph, which
- // are two different characters but both should be capitalized as "IJ" as if they were
- // a single letter.
- // - It also does not work with unicode surrogate code points.
- return s.toUpperCase(locale).charAt(0) + s.substring(1);
- }
-
- public static String getSubtypeLocaleString(InputMethodSubtype subtype) {
- final String keyboardLocale = subtype.getExtraValueOf(
- LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE);
- return keyboardLocale != null ? keyboardLocale : subtype.getLocale();
- }
-
- public static Locale getSubtypeLocale(InputMethodSubtype subtype) {
- return LocaleUtils.constructLocaleFromString(getSubtypeLocaleString(subtype));
- }
}
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 3ed7f87..dfb01a2 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -33,6 +33,7 @@
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
+import com.android.inputmethod.keyboard.KeyboardLayoutSet;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
import java.util.ArrayList;
@@ -68,6 +69,7 @@
private InputMethodInfo mShortcutInputMethodInfo;
private InputMethodSubtype mShortcutSubtype;
private List<InputMethodSubtype> mAllEnabledSubtypesOfCurrentInputMethod;
+ private InputMethodSubtype mNoLanguageSubtype;
// Note: This variable is always non-null after {@link #initialize(LatinIME)}.
private InputMethodSubtype mCurrentSubtype;
private Locale mSystemLocale;
@@ -104,6 +106,8 @@
mInputLocaleStr = null;
mCurrentSubtype = mImm.getCurrentInputMethodSubtype();
mAllEnabledSubtypesOfCurrentInputMethod = null;
+ mNoLanguageSubtype = SubtypeUtils.findSubtypeByKeyboardLayoutSetLocale(
+ service, SubtypeLocale.LOCALE_NO_LANGUAGE_QWERTY);
final NetworkInfo info = mConnectivityManager.getActiveNetworkInfo();
mIsNetworkConnected = (info != null && info.isConnected());
@@ -133,7 +137,7 @@
mEnabledLanguagesOfCurrentInputMethod.clear();
mEnabledKeyboardSubtypesOfCurrentInputMethod.clear();
for (InputMethodSubtype ims : mAllEnabledSubtypesOfCurrentInputMethod) {
- final String locale = getSubtypeLocale(ims);
+ final String locale = KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(ims);
final String mode = ims.getMode();
mLocaleSplitter.setString(locale);
if (mLocaleSplitter.hasNext()) {
@@ -162,7 +166,8 @@
Log.d(TAG, "Update shortcut IME from : "
+ (mShortcutInputMethodInfo == null
? "<null>" : mShortcutInputMethodInfo.getId()) + ", "
- + (mShortcutSubtype == null ? "<null>" : (getSubtypeLocale(mShortcutSubtype)
+ + (mShortcutSubtype == null ? "<null>" : (
+ KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(mShortcutSubtype)
+ ", " + mShortcutSubtype.getMode())));
}
// TODO: Update an icon for shortcut IME
@@ -184,20 +189,15 @@
Log.d(TAG, "Update shortcut IME to : "
+ (mShortcutInputMethodInfo == null
? "<null>" : mShortcutInputMethodInfo.getId()) + ", "
- + (mShortcutSubtype == null ? "<null>" : (getSubtypeLocale(mShortcutSubtype)
+ + (mShortcutSubtype == null ? "<null>" : (
+ KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(mShortcutSubtype)
+ ", " + mShortcutSubtype.getMode())));
}
}
- private static String getSubtypeLocale(InputMethodSubtype subtype) {
- final String keyboardLocale = subtype.getExtraValueOf(
- LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE);
- return keyboardLocale != null ? keyboardLocale : subtype.getLocale();
- }
-
// Update the current subtype. LatinIME.onCurrentInputMethodSubtypeChanged calls this function.
public void updateSubtype(InputMethodSubtype newSubtype) {
- final String newLocale = getSubtypeLocale(newSubtype);
+ final String newLocale = KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(newSubtype);
final String newMode = newSubtype.getMode();
final String oldMode = getCurrentSubtypeMode();
if (DBG) {
@@ -301,7 +301,8 @@
final String imiPackageName = imi.getPackageName();
if (DBG) {
Log.d(TAG, "Update icons of IME: " + imiPackageName + ","
- + getSubtypeLocale(subtype) + "," + subtype.getMode());
+ + KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(subtype) + ","
+ + subtype.getMode());
}
if (subtype != null) {
return pm.getDrawable(imiPackageName, subtype.getIconResId(),
@@ -438,4 +439,8 @@
public InputMethodSubtype getCurrentSubtype() {
return mCurrentSubtype;
}
+
+ public InputMethodSubtype getNoLanguageSubtype() {
+ return mNoLanguageSubtype;
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/SubtypeUtils.java b/java/src/com/android/inputmethod/latin/SubtypeUtils.java
index 2c5d582..a747c9a 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeUtils.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeUtils.java
@@ -21,9 +21,11 @@
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
+import com.android.inputmethod.keyboard.KeyboardLayoutSet;
import java.util.Collections;
import java.util.List;
+import java.util.Locale;
public class SubtypeUtils {
private SubtypeUtils() {
@@ -129,4 +131,18 @@
}
throw new RuntimeException("Can not find input method id for " + packageName);
}
+
+ public static InputMethodSubtype findSubtypeByKeyboardLayoutSetLocale(
+ Context context, Locale locale) {
+ final String localeString = locale.toString();
+ final InputMethodInfo imi = SubtypeUtils.getInputMethodInfo(context.getPackageName());
+ final int count = imi.getSubtypeCount();
+ for (int i = 0; i < count; i++) {
+ final InputMethodSubtype subtype = imi.getSubtypeAt(i);
+ if (localeString.equals(KeyboardLayoutSet.getKeyboardLayoutSetLocaleString(subtype))) {
+ return subtype;
+ }
+ }
+ throw new RuntimeException("Can not find subtype of locale " + localeString);
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index cd01bb1..1fc945f 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -37,7 +37,6 @@
import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.StringUtils;
-import com.android.inputmethod.latin.SubtypeLocale;
import com.android.inputmethod.latin.SynchronouslyLoadedContactsDictionary;
import com.android.inputmethod.latin.SynchronouslyLoadedUserDictionary;
import com.android.inputmethod.latin.WhitelistDictionary;
@@ -326,7 +325,7 @@
} else if (CAPITALIZE_FIRST == capitalizeType) {
for (int i = 0; i < mSuggestions.size(); ++i) {
// Likewise
- mSuggestions.set(i, SubtypeLocale.toTitleCase(
+ mSuggestions.set(i, StringUtils.toTitleCase(
mSuggestions.get(i).toString(), locale));
}
}