Add Key preserveCase enum to keyLabelOptions attribute
To support auto generate key depending keyboard element id, the
KeysCache class is introduced to hold whole keys and reuse.
Change-Id: Icb81b5f1c1b3aaa31968dcdb93aa0a856e737f78
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 5824d17..70fc7f8 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -242,6 +242,9 @@
<flag name="withIconLeft" value="0x1000" />
<flag name="withIconRight" value="0x2000" />
<flag name="autoXScale" value="0x4000" />
+ <!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
+ or keyHintLabel will never be subject to change. -->
+ <flag name="preserveCase" value="0x8000" />
</attr>
<!-- The icon to display on the key instead of the label. -->
<attr name="keyIcon" format="enum">
diff --git a/java/res/xml/keyboard_set.xml b/java/res/xml/keyboard_set.xml
index 03eb778..27ef316 100644
--- a/java/res/xml/keyboard_set.xml
+++ b/java/res/xml/keyboard_set.xml
@@ -23,7 +23,8 @@
latin:keyboardLocale="en_GB,en_US">
<Element
latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty" />
+ latin:elementKeyboard="@xml/kbd_qwerty"
+ latin:elementAutoGenerate="true" />
<Element
latin:elementName="alphabetManualShifted"
latin:elementKeyboard="@xml/kbd_qwerty"