aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-01-24 18:03:50 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-01-25 13:19:53 +0900
commit117c124c13f0e6af737b1858bd5c4d9e6e7eb353 (patch)
tree6eae8bb1c120650053515a12825c632e1f7cda31 /java
parentaf4efd5a3ec32d7f1bf61978286f3a7602ce5609 (diff)
downloadlatinime-117c124c13f0e6af737b1858bd5c4d9e6e7eb353.tar.gz
latinime-117c124c13f0e6af737b1858bd5c4d9e6e7eb353.tar.xz
latinime-117c124c13f0e6af737b1858bd5c4d9e6e7eb353.zip
Add autoGenerateFromAlphabet enum to KeyboardSet.Element.elementKeyboard
This is the first step to support separate Keyboard for elementName. This change is the second attempt of Icef66564. Change-Id: I78ea6cb9ea3d965ff89e0ff5d896a6b11ba5c670
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml25
-rw-r--r--java/res/xml-ar/keyboard_set.xml4
-rw-r--r--java/res/xml-be/keyboard_set.xml4
-rw-r--r--java/res/xml-bg/keyboard_set.xml4
-rw-r--r--java/res/xml-cs/keyboard_set.xml4
-rw-r--r--java/res/xml-da/keyboard_set.xml4
-rw-r--r--java/res/xml-de-rZZ/keyboard_set.xml4
-rw-r--r--java/res/xml-de/keyboard_set.xml4
-rw-r--r--java/res/xml-es/keyboard_set.xml4
-rw-r--r--java/res/xml-et/keyboard_set.xml4
-rw-r--r--java/res/xml-fi/keyboard_set.xml4
-rw-r--r--java/res/xml-fr-rCA/keyboard_set.xml4
-rw-r--r--java/res/xml-fr-rCH/keyboard_set.xml4
-rw-r--r--java/res/xml-fr/keyboard_set.xml4
-rw-r--r--java/res/xml-hr/keyboard_set.xml4
-rw-r--r--java/res/xml-hu/keyboard_set.xml4
-rw-r--r--java/res/xml-iw/keyboard_set.xml4
-rw-r--r--java/res/xml-ky/keyboard_set.xml4
-rw-r--r--java/res/xml-nb/keyboard_set.xml4
-rw-r--r--java/res/xml-pl/keyboard_set.xml4
-rw-r--r--java/res/xml-pt/keyboard_set.xml4
-rw-r--r--java/res/xml-ro/keyboard_set.xml4
-rw-r--r--java/res/xml-ru/keyboard_set.xml4
-rw-r--r--java/res/xml-sk/keyboard_set.xml4
-rw-r--r--java/res/xml-sl/keyboard_set.xml4
-rw-r--r--java/res/xml-sr/keyboard_set.xml4
-rw-r--r--java/res/xml-sv/keyboard_set.xml4
-rw-r--r--java/res/xml-tr/keyboard_set.xml4
-rw-r--r--java/res/xml-uk/keyboard_set.xml4
-rw-r--r--java/res/xml-vi/keyboard_set.xml4
-rw-r--r--java/res/xml/keyboard_set.xml20
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardId.java52
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSet.java89
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java2
34 files changed, 168 insertions, 136 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 57930c675..57aa5ddf5 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -345,20 +345,19 @@
<declare-styleable name="KeyboardSet_Element">
<!-- This should be aligned with KeyboardId.ELEMENT_* -->
<attr name="elementName" format="enum">
- <enum name="alphabet" value="0" />
- <!-- TODO: Implement alphabet variant shift keyboards
- <enum name="alphabetManualTemporaryShift" value="1" />
- <enum name="alphabetAutomaticTemporaryShift" value="2" />
- <enum name="alphabetShiftLock" value="3" />
- <enum name="alphabetShiftLockShift" value="4" />
- -->
- <enum name="symbols" value="5" />
- <enum name="symbolsShift" value="6" />
- <enum name="phone" value="7" />
- <enum name="phoneShift" value="8" />
- <enum name="number" value="9" />
+ <enum name="alphabet" value="0" />
+ <enum name="alphabetManualShifted" value="1" />
+ <enum name="alphabetAutomaticShifted" value="2" />
+ <enum name="alphabetShiftLocked" value="3" />
+ <enum name="alphabetShiftLockShifted" value="4" />
+ <enum name="symbols" value="5" />
+ <enum name="symbolsShifted" value="6" />
+ <enum name="phone" value="7" />
+ <enum name="phoneShifted" value="8" />
+ <enum name="number" value="9" />
</attr>
- <attr name="elementKeyboard" format="reference" />
+ <attr name="elementKeyboard" format="reference"/>
+ <attr name="elementAutoGenerate" format="boolean" />
<!-- TODO: Add setShifted and setShiftLocked attribute. -->
</declare-styleable>
</resources>
diff --git a/java/res/xml-ar/keyboard_set.xml b/java/res/xml-ar/keyboard_set.xml
index 68dc34fe3..a8aac169b 100644
--- a/java/res/xml-ar/keyboard_set.xml
+++ b/java/res/xml-ar/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-be/keyboard_set.xml b/java/res/xml-be/keyboard_set.xml
index e5c6ba35a..c8ee9c162 100644
--- a/java/res/xml-be/keyboard_set.xml
+++ b/java/res/xml-be/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-bg/keyboard_set.xml b/java/res/xml-bg/keyboard_set.xml
index a789de630..5a759648d 100644
--- a/java/res/xml-bg/keyboard_set.xml
+++ b/java/res/xml-bg/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-cs/keyboard_set.xml b/java/res/xml-cs/keyboard_set.xml
index 94076d3e0..6b476df82 100644
--- a/java/res/xml-cs/keyboard_set.xml
+++ b/java/res/xml-cs/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-da/keyboard_set.xml b/java/res/xml-da/keyboard_set.xml
index 84d126dc2..cf930dd05 100644
--- a/java/res/xml-da/keyboard_set.xml
+++ b/java/res/xml-da/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-de-rZZ/keyboard_set.xml b/java/res/xml-de-rZZ/keyboard_set.xml
index 230972998..585dc3d6a 100644
--- a/java/res/xml-de-rZZ/keyboard_set.xml
+++ b/java/res/xml-de-rZZ/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-de/keyboard_set.xml b/java/res/xml-de/keyboard_set.xml
index c17883620..059174ccd 100644
--- a/java/res/xml-de/keyboard_set.xml
+++ b/java/res/xml-de/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-es/keyboard_set.xml b/java/res/xml-es/keyboard_set.xml
index 77f378637..ec40a5a9b 100644
--- a/java/res/xml-es/keyboard_set.xml
+++ b/java/res/xml-es/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-et/keyboard_set.xml b/java/res/xml-et/keyboard_set.xml
index 304328a70..80a9d8fab 100644
--- a/java/res/xml-et/keyboard_set.xml
+++ b/java/res/xml-et/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-fi/keyboard_set.xml b/java/res/xml-fi/keyboard_set.xml
index 0c3a96d36..cf95b5ec9 100644
--- a/java/res/xml-fi/keyboard_set.xml
+++ b/java/res/xml-fi/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-fr-rCA/keyboard_set.xml b/java/res/xml-fr-rCA/keyboard_set.xml
index b3bb4cc12..856363ea7 100644
--- a/java/res/xml-fr-rCA/keyboard_set.xml
+++ b/java/res/xml-fr-rCA/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-fr-rCH/keyboard_set.xml b/java/res/xml-fr-rCH/keyboard_set.xml
index d6dcf7541..778754c6f 100644
--- a/java/res/xml-fr-rCH/keyboard_set.xml
+++ b/java/res/xml-fr-rCH/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-fr/keyboard_set.xml b/java/res/xml-fr/keyboard_set.xml
index b94a3f252..ae911afa0 100644
--- a/java/res/xml-fr/keyboard_set.xml
+++ b/java/res/xml-fr/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-hr/keyboard_set.xml b/java/res/xml-hr/keyboard_set.xml
index 1d8582c0a..4bd81d0e8 100644
--- a/java/res/xml-hr/keyboard_set.xml
+++ b/java/res/xml-hr/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-hu/keyboard_set.xml b/java/res/xml-hu/keyboard_set.xml
index 077111923..9ed1d949a 100644
--- a/java/res/xml-hu/keyboard_set.xml
+++ b/java/res/xml-hu/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-iw/keyboard_set.xml b/java/res/xml-iw/keyboard_set.xml
index ce25aae72..c16a6d79d 100644
--- a/java/res/xml-iw/keyboard_set.xml
+++ b/java/res/xml-iw/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-ky/keyboard_set.xml b/java/res/xml-ky/keyboard_set.xml
index 7cdd0a169..1bb8926df 100644
--- a/java/res/xml-ky/keyboard_set.xml
+++ b/java/res/xml-ky/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-nb/keyboard_set.xml b/java/res/xml-nb/keyboard_set.xml
index eacda8f87..1a36de435 100644
--- a/java/res/xml-nb/keyboard_set.xml
+++ b/java/res/xml-nb/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-pl/keyboard_set.xml b/java/res/xml-pl/keyboard_set.xml
index 89bd72f1a..39ee77771 100644
--- a/java/res/xml-pl/keyboard_set.xml
+++ b/java/res/xml-pl/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-pt/keyboard_set.xml b/java/res/xml-pt/keyboard_set.xml
index de31e0be5..bd19761d3 100644
--- a/java/res/xml-pt/keyboard_set.xml
+++ b/java/res/xml-pt/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-ro/keyboard_set.xml b/java/res/xml-ro/keyboard_set.xml
index 725cb52d2..75ca68272 100644
--- a/java/res/xml-ro/keyboard_set.xml
+++ b/java/res/xml-ro/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-ru/keyboard_set.xml b/java/res/xml-ru/keyboard_set.xml
index 0a158d9cc..8d4d277b2 100644
--- a/java/res/xml-ru/keyboard_set.xml
+++ b/java/res/xml-ru/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-sk/keyboard_set.xml b/java/res/xml-sk/keyboard_set.xml
index 9df01dda6..b73c446ef 100644
--- a/java/res/xml-sk/keyboard_set.xml
+++ b/java/res/xml-sk/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-sl/keyboard_set.xml b/java/res/xml-sl/keyboard_set.xml
index d2ec4c02d..b2378e2c2 100644
--- a/java/res/xml-sl/keyboard_set.xml
+++ b/java/res/xml-sl/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-sr/keyboard_set.xml b/java/res/xml-sr/keyboard_set.xml
index e72a0f23f..729136f3a 100644
--- a/java/res/xml-sr/keyboard_set.xml
+++ b/java/res/xml-sr/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-sv/keyboard_set.xml b/java/res/xml-sv/keyboard_set.xml
index df06aef68..3d366a443 100644
--- a/java/res/xml-sv/keyboard_set.xml
+++ b/java/res/xml-sv/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-tr/keyboard_set.xml b/java/res/xml-tr/keyboard_set.xml
index 854ab8566..3c429585f 100644
--- a/java/res/xml-tr/keyboard_set.xml
+++ b/java/res/xml-tr/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-uk/keyboard_set.xml b/java/res/xml-uk/keyboard_set.xml
index e5ba43b23..300eea226 100644
--- a/java/res/xml-uk/keyboard_set.xml
+++ b/java/res/xml-uk/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml-vi/keyboard_set.xml b/java/res/xml-vi/keyboard_set.xml
index 7f4b25d9d..0b92c94c1 100644
--- a/java/res/xml-vi/keyboard_set.xml
+++ b/java/res/xml-vi/keyboard_set.xml
@@ -28,13 +28,13 @@
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/res/xml/keyboard_set.xml b/java/res/xml/keyboard_set.xml
index 96f352bb2..03eb77897 100644
--- a/java/res/xml/keyboard_set.xml
+++ b/java/res/xml/keyboard_set.xml
@@ -25,16 +25,32 @@
latin:elementName="alphabet"
latin:elementKeyboard="@xml/kbd_qwerty" />
<Element
+ latin:elementName="alphabetManualShifted"
+ latin:elementKeyboard="@xml/kbd_qwerty"
+ latin:elementAutoGenerate="true" />
+ <Element
+ latin:elementName="alphabetAutomaticShifted"
+ latin:elementKeyboard="@xml/kbd_qwerty"
+ latin:elementAutoGenerate="true" />
+ <Element
+ latin:elementName="alphabetShiftLocked"
+ latin:elementKeyboard="@xml/kbd_qwerty"
+ latin:elementAutoGenerate="true" />
+ <Element
+ latin:elementName="alphabetShiftLockShifted"
+ latin:elementKeyboard="@xml/kbd_qwerty"
+ latin:elementAutoGenerate="true" />
+ <Element
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
- latin:elementName="symbolsShift"
+ latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
- latin:elementName="phoneShift"
+ latin:elementName="phoneShifted"
latin:elementKeyboard="@xml/kbd_phone_shift" />
<Element
latin:elementName="number"
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index d95c3b3af..8db8c9460 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -39,16 +39,14 @@ public class KeyboardId {
public static final int MODE_NUMBER = 5;
public static final int ELEMENT_ALPHABET = 0;
- /* TODO: Implement alphabet variant shift keyboard.
- public static final int ELEMENT_ALPHABET_MANUAL_TEMPORARY_SHIFT = 1;
- public static final int ELEMENT_ALPHABET_AUTOMATIC_TEMPORARY_SHIFT = 2;
- public static final int ELEMENT_ALPHABET_SHIFT_LOCK = 3;
- public static final int ELEMENT_ALPHABET_SHIFT_LOCK_SHIFT = 4;
- */
+ public static final int ELEMENT_ALPHABET_MANUAL_SHIFTED = 1;
+ public static final int ELEMENT_ALPHABET_AUTOMATIC_SHIFTED = 2;
+ public static final int ELEMENT_ALPHABET_SHIFT_LOCKED = 3;
+ public static final int ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED = 4;
public static final int ELEMENT_SYMBOLS = 5;
- public static final int ELEMENT_SYMBOLS_SHIFT = 6;
+ public static final int ELEMENT_SYMBOLS_SHIFTED = 6;
public static final int ELEMENT_PHONE = 7;
- public static final int ELEMENT_PHONE_SHIFT = 8;
+ public static final int ELEMENT_PHONE_SHIFTED = 8;
public static final int ELEMENT_NUMBER = 9;
private static final int F2KEY_MODE_NONE = 0;
@@ -60,7 +58,7 @@ public class KeyboardId {
public final int mOrientation;
public final int mWidth;
public final int mMode;
- public final int mElementState;
+ public final int mElementId;
private final int mInputType;
private final int mImeOptions;
private final boolean mSettingsKeyEnabled;
@@ -70,14 +68,14 @@ public class KeyboardId {
private final int mHashCode;
- public KeyboardId(int elementState, Locale locale, int orientation, int width, int mode,
+ public KeyboardId(int elementId, Locale locale, int orientation, int width, int mode,
int inputType, int imeOptions, boolean settingsKeyEnabled, boolean clobberSettingsKey,
boolean shortcutKeyEnabled, boolean hasShortcutKey) {
this.mLocale = locale;
this.mOrientation = orientation;
this.mWidth = width;
this.mMode = mode;
- this.mElementState = elementState;
+ this.mElementId = elementId;
this.mInputType = inputType;
this.mImeOptions = imeOptions;
this.mSettingsKeyEnabled = settingsKeyEnabled;
@@ -91,7 +89,7 @@ public class KeyboardId {
private static int hashCode(KeyboardId id) {
return Arrays.hashCode(new Object[] {
id.mOrientation,
- id.mElementState,
+ id.mElementId,
id.mMode,
id.mWidth,
id.navigateAction(),
@@ -109,7 +107,7 @@ public class KeyboardId {
if (other == this)
return true;
return other.mOrientation == this.mOrientation
- && other.mElementState == this.mElementState
+ && other.mElementId == this.mElementId
&& other.mMode == this.mMode
&& other.mWidth == this.mWidth
&& other.navigateAction() == this.navigateAction()
@@ -123,19 +121,19 @@ public class KeyboardId {
}
public boolean isAlphabetKeyboard() {
- return mElementState < ELEMENT_SYMBOLS;
+ return mElementId < ELEMENT_SYMBOLS;
}
public boolean isSymbolsKeyboard() {
- return mElementState == ELEMENT_SYMBOLS || mElementState == ELEMENT_SYMBOLS_SHIFT;
+ return mElementId == ELEMENT_SYMBOLS || mElementId == ELEMENT_SYMBOLS_SHIFTED;
}
public boolean isPhoneKeyboard() {
- return mElementState == ELEMENT_PHONE || mElementState == ELEMENT_PHONE_SHIFT;
+ return mElementId == ELEMENT_PHONE || mElementId == ELEMENT_PHONE_SHIFTED;
}
public boolean isPhoneShiftKeyboard() {
- return mElementState == ELEMENT_PHONE_SHIFT;
+ return mElementId == ELEMENT_PHONE_SHIFTED;
}
public boolean navigateAction() {
@@ -190,7 +188,7 @@ public class KeyboardId {
@Override
public String toString() {
return String.format("[%s %s %s%d %s %s %s%s%s%s%s%s%s]",
- elementStateToString(mElementState),
+ elementIdToName(mElementId),
mLocale,
(mOrientation == 1 ? "port" : "land"), mWidth,
modeName(mMode),
@@ -213,19 +211,17 @@ public class KeyboardId {
&& TextUtils.equals(a.privateImeOptions, b.privateImeOptions);
}
- public static String elementStateToString(int elementState) {
- switch (elementState) {
+ public static String elementIdToName(int elementId) {
+ switch (elementId) {
case ELEMENT_ALPHABET: return "alphabet";
- /* TODO: Implement alphabet variant shift keyboard.
- case ELEMENT_ALPHABET_MANUAL_TEMPORARY_SHIFT: return "alphabetManualTemporaryShift";
- case ELEMENT_ALPHABET_AUTOMATIC_TEMPORARY_SHIFT: return "alphabetAutomaticTemporaryShift";
- case ELEMENT_ALPHABET_SHIFT_LOCK: return "alphabetShiftLock";
- case ELEMENT_ALPHABET_SHIFT_LOCK_SHIFT: return "alphabetShiftLockShift";
- */
+ case ELEMENT_ALPHABET_MANUAL_SHIFTED: return "alphabetManualShifted";
+ case ELEMENT_ALPHABET_AUTOMATIC_SHIFTED: return "alphabetAutomaticShifted";
+ case ELEMENT_ALPHABET_SHIFT_LOCKED: return "alphabetShiftLocked";
+ case ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED: return "alphabetShiftLockShifted";
case ELEMENT_SYMBOLS: return "symbols";
- case ELEMENT_SYMBOLS_SHIFT: return "symbolsShift";
+ case ELEMENT_SYMBOLS_SHIFTED: return "symbolsShifted";
case ELEMENT_PHONE: return "phone";
- case ELEMENT_PHONE_SHIFT: return "phoneShift";
+ case ELEMENT_PHONE_SHIFTED: return "phoneShifted";
case ELEMENT_NUMBER: return "number";
default: return null;
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
index 285252044..c7f964aaa 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
@@ -40,6 +40,7 @@ import java.io.IOException;
import java.lang.ref.SoftReference;
import java.util.HashMap;
import java.util.Locale;
+import java.util.Map;
/**
* This class represents a set of keyboards. Each of them represents a different keyboard
@@ -57,7 +58,18 @@ public class KeyboardSet {
private final Context mContext;
private final Params mParams;
- private static class Params {
+ static class KeyboardElement {
+ final int mElementId;
+ final int mLayoutId;
+ final boolean mAutoGenerate;
+ KeyboardElement(int elementId, int layoutId, boolean autoGenerate) {
+ mElementId = elementId;
+ mLayoutId = layoutId;
+ mAutoGenerate = autoGenerate;
+ }
+ }
+
+ static class Params {
int mMode;
int mInputType;
int mImeOptions;
@@ -69,7 +81,8 @@ public class KeyboardSet {
Locale mLocale;
int mOrientation;
int mWidth;
- final HashMap<Integer, Integer> mElementKeyboards = new HashMap<Integer, Integer>();
+ final Map<Integer, KeyboardElement> mElementKeyboards =
+ new HashMap<Integer, KeyboardElement>();
Params() {}
}
@@ -104,16 +117,18 @@ public class KeyboardSet {
}
private Keyboard getKeyboard(boolean isSymbols, boolean isShift) {
- final int elementState = Builder.getElementState(mParams.mMode, isSymbols, isShift);
- final int xmlId = mParams.mElementKeyboards.get(elementState);
- final KeyboardId id = Builder.getKeyboardId(elementState, isSymbols, mParams);
- final Keyboard keyboard = getKeyboard(mContext, xmlId, id);
+ final int elementId = KeyboardSet.getElementId(mParams.mMode, isSymbols, isShift);
+ final KeyboardElement keyboardElement = mParams.mElementKeyboards.get(elementId);
+ // TODO: If keyboardElement.mAutoGenerate is true, the keyboard will be auto generated
+ // based on keyboardElement.mKayoutId Keyboard XML definition.
+ final KeyboardId id = KeyboardSet.getKeyboardId(elementId, isSymbols, mParams);
+ final Keyboard keyboard = getKeyboard(mContext, keyboardElement.mLayoutId, id);
return keyboard;
}
public KeyboardId getMainKeyboardId() {
- final int elementState = Builder.getElementState(mParams.mMode, false, false);
- return Builder.getKeyboardId(elementState, false, mParams);
+ final int elementId = KeyboardSet.getElementId(mParams.mMode, false, false);
+ return KeyboardSet.getKeyboardId(elementId, false, mParams);
}
private Keyboard getKeyboard(Context context, int xmlId, KeyboardId id) {
@@ -147,6 +162,30 @@ public class KeyboardSet {
return keyboard;
}
+ private static int getElementId(int mode, boolean isSymbols, boolean isShift) {
+ switch (mode) {
+ case KeyboardId.MODE_PHONE:
+ return (isSymbols && isShift)
+ ? KeyboardId.ELEMENT_PHONE_SHIFTED : KeyboardId.ELEMENT_PHONE;
+ case KeyboardId.MODE_NUMBER:
+ return KeyboardId.ELEMENT_NUMBER;
+ default:
+ if (isSymbols) {
+ return isShift
+ ? KeyboardId.ELEMENT_SYMBOLS_SHIFTED : KeyboardId.ELEMENT_SYMBOLS;
+ }
+ return KeyboardId.ELEMENT_ALPHABET;
+ }
+ }
+
+ private static KeyboardId getKeyboardId(int elementId, boolean isSymbols, Params params) {
+ final boolean hasShortcutKey = params.mVoiceKeyEnabled
+ && (isSymbols != params.mVoiceKeyOnMain);
+ return new KeyboardId(elementId, params.mLocale, params.mOrientation, params.mWidth,
+ params.mMode, params.mInputType, params.mImeOptions, params.mSettingsKeyEnabled,
+ params.mNoSettingsKey, params.mVoiceKeyEnabled, hasShortcutKey);
+ }
+
public static class Builder {
private final Context mContext;
private final String mPackageName;
@@ -211,38 +250,15 @@ public class KeyboardSet {
try {
parseKeyboardSet(mResources, R.xml.keyboard_set);
} catch (Exception e) {
- //
+ throw new RuntimeException(e.getMessage() + " in "
+ + mResources.getResourceName(R.xml.keyboard_set)
+ + " of locale " + mParams.mLocale);
} finally {
LocaleUtils.setSystemLocale(mResources, savedLocale);
}
return new KeyboardSet(mContext, mParams);
}
- // TODO: Move this method to KeyboardSet
- static KeyboardId getKeyboardId(int elementState, boolean isSymbols, Params params) {
- final boolean hasShortcutKey = params.mVoiceKeyEnabled
- && (isSymbols != params.mVoiceKeyOnMain);
- return new KeyboardId(elementState, params.mLocale, params.mOrientation, params.mWidth,
- params.mMode, params.mInputType, params.mImeOptions, params.mSettingsKeyEnabled,
- params.mNoSettingsKey, params.mVoiceKeyEnabled, hasShortcutKey);
- }
-
- // TODO: Move this method to KeyboardSet
- static int getElementState(int mode, boolean isSymbols, boolean isShift) {
- switch (mode) {
- case KeyboardId.MODE_PHONE:
- return (isSymbols && isShift)
- ? KeyboardId.ELEMENT_PHONE_SHIFT : KeyboardId.ELEMENT_PHONE;
- case KeyboardId.MODE_NUMBER:
- return KeyboardId.ELEMENT_NUMBER;
- default:
- if (isSymbols) {
- return isShift ? KeyboardId.ELEMENT_SYMBOLS_SHIFT : KeyboardId.ELEMENT_SYMBOLS;
- }
- return KeyboardId.ELEMENT_ALPHABET;
- }
- }
-
private void parseKeyboardSet(Resources res, int resId) throws XmlPullParserException,
IOException {
final XmlResourceParser parser = res.getXml(resId);
@@ -302,7 +318,10 @@ public class KeyboardSet {
R.styleable.KeyboardSet_Element_elementName, 0);
final int elementKeyboard = a.getResourceId(
R.styleable.KeyboardSet_Element_elementKeyboard, 0);
- mParams.mElementKeyboards.put(elementName, elementKeyboard);
+ final boolean elementAutoGenerate = a.getBoolean(
+ R.styleable.KeyboardSet_Element_elementAutoGenerate, false);
+ mParams.mElementKeyboards.put(elementName, new KeyboardElement(
+ elementName, elementKeyboard, elementAutoGenerate));
} finally {
a.recycle();
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index bc8b7e3f7..38c31adce 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -43,6 +43,8 @@ public class KeyboardState {
public void setAlphabetManualShiftedKeyboard();
public void setAlphabetAutomaticShiftedKeyboard();
public void setAlphabetShiftLockedKeyboard();
+ // TODO: Add this.
+ //public void setAlphabetShiftLockShiftedKeyboard();
public void setSymbolsKeyboard();
public void setSymbolsShiftedKeyboard();