aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.pngbin1327 -> 1297 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin1389 -> 1507 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin1408 -> 1827 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin1321 -> 1435 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin1388 -> 1604 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin1399 -> 1924 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.pngbin1321 -> 1393 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.pngbin1324 -> 1493 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.pngbin0 -> 1018 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_at_holo.9.pngbin1237 -> 1530 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_at_large_holo.9.pngbin362 -> 1639 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_exclamation_holo.9.pngbin1278 -> 1229 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_exclamation_large_holo.9.pngbin1841 -> 1308 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_question_holo.9.pngbin1392 -> 1330 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_question_large_holo.9.pngbin671 -> 1440 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_quote_holo.9.pngbin1257 -> 1180 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_quote_large_holo.9.pngbin1714 -> 1216 bytes
-rw-r--r--java/res/drawable-hdpi/key_hint_underline_holo.9.pngbin1158 -> 1132 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_background_holo.9.pngbin0 -> 1107 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.pngbin0 -> 1004 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.pngbin0 -> 4311 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.pngbin0 -> 1480 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.pngbin1327 -> 1297 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin1389 -> 1507 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin1408 -> 1827 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin1321 -> 1435 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin1388 -> 1604 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin1399 -> 1924 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.pngbin1321 -> 1393 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.pngbin1324 -> 1493 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.pngbin0 -> 1018 bytes
-rw-r--r--java/res/drawable-mdpi/hint_popup_holo.9.pngbin0 -> 1266 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_at_holo.9.pngbin1237 -> 1516 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_at_large_holo.9.pngbin362 -> 1639 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_exclamation_holo.9.pngbin1278 -> 1229 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.pngbin1841 -> 1308 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_question_holo.9.pngbin1392 -> 1330 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_question_large_holo.9.pngbin671 -> 1440 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_quote_holo.9.pngbin1257 -> 1180 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_quote_large_holo.9.pngbin1714 -> 1216 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_underline_holo.9.pngbin1158 -> 1132 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_underline_large_holo.9.pngbin362 -> 1160 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_background_holo.9.pngbin0 -> 1084 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.pngbin0 -> 1004 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.pngbin0 -> 4445 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.pngbin0 -> 4311 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete_holo.pngbin0 -> 1464 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num0_holo.pngbin0 -> 1759 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num1_holo.pngbin0 -> 1268 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num2_holo.pngbin0 -> 2403 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num3_holo.pngbin0 -> 2143 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num4_holo.pngbin0 -> 2063 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num5_holo.pngbin0 -> 2025 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num6_holo.pngbin0 -> 2502 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num7_holo.pngbin0 -> 2527 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num8_holo.pngbin0 -> 2226 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num9_holo.pngbin0 -> 2696 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_numbpound_holo.pngbin0 -> 1548 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_numbstar_holo.pngbin0 -> 1414 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return_holo.pngbin0 -> 1417 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_holo.pngbin0 -> 1681 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_lock.pngbin3188 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.pngbin0 -> 1480 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_smiley_holo.pngbin0 -> 1479 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_holo.pngbin0 -> 1194 bytes
-rw-r--r--java/res/drawable/btn_keyboard_key_honeycomb_popup.xml21
-rw-r--r--java/res/drawable/keyboard_key_feedback_honeycomb.xml21
-rw-r--r--java/res/layout-xlarge/keyboard_popup_honeycomb.xml41
-rw-r--r--java/res/layout/input_honeycomb.xml4
-rw-r--r--java/res/layout/key_preview_honeycomb.xml29
-rw-r--r--java/res/layout/keyboard_popup_honeycomb.xml41
-rw-r--r--java/res/values-xlarge/dimens.xml14
-rw-r--r--java/res/values/attrs.xml2
-rw-r--r--java/res/values/dimens.xml2
-rw-r--r--java/res/xml-xlarge/kbd_key_styles.xml149
-rw-r--r--java/res/xml-xlarge/kbd_number.xml23
-rw-r--r--java/res/xml-xlarge/kbd_numkey_styles.xml150
-rw-r--r--java/res/xml-xlarge/kbd_phone.xml72
-rw-r--r--java/res/xml-xlarge/kbd_phone_symbols.xml72
-rw-r--r--java/res/xml-xlarge/kbd_qwerty.xml14
-rw-r--r--java/res/xml-xlarge/kbd_qwerty_row1.xml12
-rw-r--r--java/res/xml-xlarge/kbd_qwerty_row2.xml11
-rw-r--r--java/res/xml-xlarge/kbd_qwerty_row3.xml14
-rw-r--r--java/res/xml-xlarge/kbd_qwerty_row4.xml22
-rw-r--r--java/res/xml-xlarge/kbd_symbols.xml49
-rw-r--r--java/res/xml-xlarge/kbd_symbols_shift.xml48
-rw-r--r--java/res/xml/kbd_key_styles.xml2
-rw-r--r--java/res/xml/kbd_numkey_styles.xml150
-rw-r--r--java/res/xml/kbd_phone.xml112
-rw-r--r--java/res/xml/kbd_phone_symbols.xml40
-rw-r--r--java/src/com/android/inputmethod/latin/BaseKeyboard.java16
-rw-r--r--java/src/com/android/inputmethod/latin/BaseKeyboardParser.java6
-rw-r--r--java/src/com/android/inputmethod/latin/BaseKeyboardView.java151
-rw-r--r--java/src/com/android/inputmethod/latin/KeyStyles.java3
-rw-r--r--java/src/com/android/inputmethod/latin/KeyboardSwitcher.java2
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboard.java10
96 files changed, 870 insertions, 433 deletions
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
index bc0a03fc1..c89f7385a 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
index 3f2fc0002..1fbb15ea5 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
index 9e77015ea..e4469c6dc 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
index b3ac506ad..f574a38c9 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
index 66138edec..af5253763 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
index 7c80300e9..541cf5c4a 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
index 737de397b..0ad025c90 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
index 3dcd8323d..c0403f0bd 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png
new file mode 100644
index 000000000..4a77ffb97
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_at_holo.9.png b/java/res/drawable-hdpi/key_hint_at_holo.9.png
index 2b8520a92..e7ce4b065 100644
--- a/java/res/drawable-hdpi/key_hint_at_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_at_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_at_large_holo.9.png b/java/res/drawable-hdpi/key_hint_at_large_holo.9.png
index ff56845f8..3e8db989c 100644
--- a/java/res/drawable-hdpi/key_hint_at_large_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_at_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_exclamation_holo.9.png b/java/res/drawable-hdpi/key_hint_exclamation_holo.9.png
index 7230fb92a..0e2d3545e 100644
--- a/java/res/drawable-hdpi/key_hint_exclamation_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_exclamation_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_exclamation_large_holo.9.png b/java/res/drawable-hdpi/key_hint_exclamation_large_holo.9.png
index 0152ce21b..75a450c87 100644
--- a/java/res/drawable-hdpi/key_hint_exclamation_large_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_exclamation_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_question_holo.9.png b/java/res/drawable-hdpi/key_hint_question_holo.9.png
index 088550f5b..84bf78fd4 100644
--- a/java/res/drawable-hdpi/key_hint_question_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_question_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_question_large_holo.9.png b/java/res/drawable-hdpi/key_hint_question_large_holo.9.png
index 8a9dffbe2..d1e9fda06 100644
--- a/java/res/drawable-hdpi/key_hint_question_large_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_question_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_quote_holo.9.png b/java/res/drawable-hdpi/key_hint_quote_holo.9.png
index 51dcfac99..9d5a88bbf 100644
--- a/java/res/drawable-hdpi/key_hint_quote_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_quote_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_quote_large_holo.9.png b/java/res/drawable-hdpi/key_hint_quote_large_holo.9.png
index 6514e0bf7..49154a737 100644
--- a/java/res/drawable-hdpi/key_hint_quote_large_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_quote_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/key_hint_underline_holo.9.png b/java/res/drawable-hdpi/key_hint_underline_holo.9.png
index fef1b6369..8d83cf938 100644
--- a/java/res/drawable-hdpi/key_hint_underline_holo.9.png
+++ b/java/res/drawable-hdpi/key_hint_underline_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_background_holo.9.png b/java/res/drawable-hdpi/keyboard_background_holo.9.png
new file mode 100644
index 000000000..1eeb9e5cc
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png
new file mode 100644
index 000000000..571f3aa37
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
new file mode 100644
index 000000000..c33d66429
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png
new file mode 100644
index 000000000..c432bf4a3
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
index bc0a03fc1..c89f7385a 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
index 3f2fc0002..1fbb15ea5 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
index 9e77015ea..e4469c6dc 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
index b3ac506ad..f574a38c9 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
index 66138edec..af5253763 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
index 7c80300e9..541cf5c4a 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
index 737de397b..0ad025c90 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
index 3dcd8323d..c0403f0bd 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png
new file mode 100644
index 000000000..4a77ffb97
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/hint_popup_holo.9.png b/java/res/drawable-mdpi/hint_popup_holo.9.png
new file mode 100644
index 000000000..f3ab24481
--- /dev/null
+++ b/java/res/drawable-mdpi/hint_popup_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_at_holo.9.png b/java/res/drawable-mdpi/key_hint_at_holo.9.png
index 2b8520a92..54ec524be 100644
--- a/java/res/drawable-mdpi/key_hint_at_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_at_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_at_large_holo.9.png b/java/res/drawable-mdpi/key_hint_at_large_holo.9.png
index ff56845f8..ae7b64543 100644
--- a/java/res/drawable-mdpi/key_hint_at_large_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_at_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_exclamation_holo.9.png b/java/res/drawable-mdpi/key_hint_exclamation_holo.9.png
index 7230fb92a..0e2d3545e 100644
--- a/java/res/drawable-mdpi/key_hint_exclamation_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_exclamation_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.png b/java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.png
index 0152ce21b..75a450c87 100644
--- a/java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_question_holo.9.png b/java/res/drawable-mdpi/key_hint_question_holo.9.png
index 088550f5b..84bf78fd4 100644
--- a/java/res/drawable-mdpi/key_hint_question_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_question_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_question_large_holo.9.png b/java/res/drawable-mdpi/key_hint_question_large_holo.9.png
index 8a9dffbe2..d1e9fda06 100644
--- a/java/res/drawable-mdpi/key_hint_question_large_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_question_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_quote_holo.9.png b/java/res/drawable-mdpi/key_hint_quote_holo.9.png
index 51dcfac99..9d5a88bbf 100644
--- a/java/res/drawable-mdpi/key_hint_quote_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_quote_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_quote_large_holo.9.png b/java/res/drawable-mdpi/key_hint_quote_large_holo.9.png
index 6514e0bf7..49154a737 100644
--- a/java/res/drawable-mdpi/key_hint_quote_large_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_quote_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_underline_holo.9.png b/java/res/drawable-mdpi/key_hint_underline_holo.9.png
index fef1b6369..8d83cf938 100644
--- a/java/res/drawable-mdpi/key_hint_underline_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_underline_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/key_hint_underline_large_holo.9.png b/java/res/drawable-mdpi/key_hint_underline_large_holo.9.png
index d584dad3d..8d83b6277 100644
--- a/java/res/drawable-mdpi/key_hint_underline_large_holo.9.png
+++ b/java/res/drawable-mdpi/key_hint_underline_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_background_holo.9.png b/java/res/drawable-mdpi/keyboard_background_holo.9.png
new file mode 100644
index 000000000..13cb0a071
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png
new file mode 100644
index 000000000..571f3aa37
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png
new file mode 100644
index 000000000..94756b717
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
new file mode 100644
index 000000000..c33d66429
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_delete_holo.png b/java/res/drawable-mdpi/sym_keyboard_delete_holo.png
new file mode 100644
index 000000000..1141ddd83
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_delete_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num0_holo.png b/java/res/drawable-mdpi/sym_keyboard_num0_holo.png
new file mode 100644
index 000000000..39f19a487
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num0_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num1_holo.png b/java/res/drawable-mdpi/sym_keyboard_num1_holo.png
new file mode 100644
index 000000000..40c82a7f4
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num1_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num2_holo.png b/java/res/drawable-mdpi/sym_keyboard_num2_holo.png
new file mode 100644
index 000000000..0f444b76b
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num2_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num3_holo.png b/java/res/drawable-mdpi/sym_keyboard_num3_holo.png
new file mode 100644
index 000000000..e4c5bee3a
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num3_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num4_holo.png b/java/res/drawable-mdpi/sym_keyboard_num4_holo.png
new file mode 100644
index 000000000..68404aa43
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num4_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num5_holo.png b/java/res/drawable-mdpi/sym_keyboard_num5_holo.png
new file mode 100644
index 000000000..dfa3b8925
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num5_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num6_holo.png b/java/res/drawable-mdpi/sym_keyboard_num6_holo.png
new file mode 100644
index 000000000..1827d5409
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num6_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num7_holo.png b/java/res/drawable-mdpi/sym_keyboard_num7_holo.png
new file mode 100644
index 000000000..2488b7f91
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num7_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num8_holo.png b/java/res/drawable-mdpi/sym_keyboard_num8_holo.png
new file mode 100644
index 000000000..3f60df194
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num8_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_num9_holo.png b/java/res/drawable-mdpi/sym_keyboard_num9_holo.png
new file mode 100644
index 000000000..71c5dfc6e
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_num9_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_numbpound_holo.png b/java/res/drawable-mdpi/sym_keyboard_numbpound_holo.png
new file mode 100644
index 000000000..a9866bbac
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_numbpound_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_numbstar_holo.png b/java/res/drawable-mdpi/sym_keyboard_numbstar_holo.png
new file mode 100644
index 000000000..ba4ea88e8
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_numbstar_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_return_holo.png b/java/res/drawable-mdpi/sym_keyboard_return_holo.png
new file mode 100644
index 000000000..f64c73160
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_return_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
new file mode 100644
index 000000000..b7d62136d
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_lock.png b/java/res/drawable-mdpi/sym_keyboard_shift_lock.png
deleted file mode 100644
index 244179c2d..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_shift_lock.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png
new file mode 100644
index 000000000..c432bf4a3
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_smiley_holo.png b/java/res/drawable-mdpi/sym_keyboard_smiley_holo.png
new file mode 100644
index 000000000..a123d4cdf
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_smiley_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_holo.png b/java/res/drawable-mdpi/sym_keyboard_space_holo.png
new file mode 100644
index 000000000..d1ef4414e
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_space_holo.png
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_key_honeycomb_popup.xml b/java/res/drawable/btn_keyboard_key_honeycomb_popup.xml
new file mode 100644
index 000000000..87e952c60
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_honeycomb_popup.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true"
+ android:drawable="@drawable/btn_keyboard_key_popup_selected_holo" />
+ <item android:drawable="@drawable/btn_keyboard_key_light_popup_normal" />
+</selector>
diff --git a/java/res/drawable/keyboard_key_feedback_honeycomb.xml b/java/res/drawable/keyboard_key_feedback_honeycomb.xml
new file mode 100644
index 000000000..dd9b53e46
--- /dev/null
+++ b/java/res/drawable/keyboard_key_feedback_honeycomb.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_long_pressable="true"
+ android:drawable="@drawable/keyboard_key_feedback_more_background" />
+ <item android:drawable="@drawable/keyboard_key_feedback_background_holo" />
+</selector>
diff --git a/java/res/layout-xlarge/keyboard_popup_honeycomb.xml b/java/res/layout-xlarge/keyboard_popup_honeycomb.xml
new file mode 100644
index 000000000..50e91f7ea
--- /dev/null
+++ b/java/res/layout-xlarge/keyboard_popup_honeycomb.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, 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.
+*/
+-->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="@drawable/keyboard_popup_panel_background_holo"
+ android:paddingLeft="44dip"
+ android:paddingRight="32dip"
+ >
+ <com.android.inputmethod.latin.BaseKeyboardView
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ android:id="@+id/BaseKeyboardView"
+ android:layout_alignParentBottom="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/latinkeyboard_transparent"
+
+ latin:keyBackground="@drawable/btn_keyboard_key_honeycomb_popup"
+ latin:keyHysteresisDistance="0dip"
+ latin:verticalCorrection="@dimen/mini_keyboard_vertical_correction"
+ />
+</LinearLayout>
diff --git a/java/res/layout/input_honeycomb.xml b/java/res/layout/input_honeycomb.xml
index 7bc0df427..79eb7be96 100644
--- a/java/res/layout/input_honeycomb.xml
+++ b/java/res/layout/input_honeycomb.xml
@@ -27,9 +27,11 @@
android:layout_height="wrap_content"
android:paddingTop="@dimen/keyboard_top_padding"
android:paddingBottom="@dimen/keyboard_bottom_padding"
- android:background="@drawable/keyboard_dark_background"
+ android:background="@drawable/keyboard_background_holo"
android:textStyle="bold"
latin:keyBackground="@drawable/btn_keyboard_key_honeycomb"
+ latin:keyPreviewLayout="@layout/key_preview_honeycomb"
+ latin:popupLayout="@layout/keyboard_popup_honeycomb"
latin:keyTextStyle="bold"
/>
diff --git a/java/res/layout/key_preview_honeycomb.xml b/java/res/layout/key_preview_honeycomb.xml
new file mode 100644
index 000000000..a90fe5588
--- /dev/null
+++ b/java/res/layout/key_preview_honeycomb.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, 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.
+*/
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="80sp"
+ android:textSize="40sp"
+ android:textColor="@color/latinkeyboard_key_color_white"
+ android:minWidth="24dip"
+ android:gravity="center"
+ android:background="@drawable/keyboard_key_feedback_honeycomb"
+ />
diff --git a/java/res/layout/keyboard_popup_honeycomb.xml b/java/res/layout/keyboard_popup_honeycomb.xml
new file mode 100644
index 000000000..63b535381
--- /dev/null
+++ b/java/res/layout/keyboard_popup_honeycomb.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, 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.
+*/
+-->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="@drawable/keyboard_popup_panel_background_holo"
+ android:paddingLeft="24dip"
+ android:paddingRight="24dip"
+ >
+ <com.android.inputmethod.latin.BaseKeyboardView
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ android:id="@+id/BaseKeyboardView"
+ android:layout_alignParentBottom="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/latinkeyboard_transparent"
+
+ latin:keyBackground="@drawable/btn_keyboard_key_honeycomb_popup"
+ latin:keyHysteresisDistance="0dip"
+ latin:verticalCorrection="@dimen/mini_keyboard_vertical_correction"
+ />
+</LinearLayout>
diff --git a/java/res/values-xlarge/dimens.xml b/java/res/values-xlarge/dimens.xml
index 1162a3172..58fea4edf 100644
--- a/java/res/values-xlarge/dimens.xml
+++ b/java/res/values-xlarge/dimens.xml
@@ -21,22 +21,24 @@
<resources>
<!-- key_height + key_bottom_gap = popup_key_height -->
<dimen name="key_height">13.0mm</dimen>
- <dimen name="key_bottom_gap">2.0mm</dimen>
+ <dimen name="key_bottom_gap">1.5mm</dimen>
<dimen name="key_horizontal_gap">2.0mm</dimen>
<dimen name="popup_key_height">15.0mm</dimen>
<dimen name="keyboard_top_padding">1.0mm</dimen>
<dimen name="keyboard_bottom_padding">1.0mm</dimen>
- <!-- key_height x 1.6 -->
- <dimen name="key_preview_height">20.8mm</dimen>
+ <!-- key_height x 1.0 -->
+ <dimen name="key_preview_height">13.0mm</dimen>
<!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
<!-- popup_key_height x 1.2 -->
<dimen name="mini_keyboard_slide_allowance">15.6mm</dimen>
<!-- popup_key_height x -1.0 -->
<dimen name="mini_keyboard_vertical_correction">-13.0mm</dimen>
- <dimen name="key_text_size">0.175in</dimen>
- <dimen name="key_label_text_size">0.110in</dimen>
- <dimen name="key_preview_text_size_large">0.245in</dimen>
+ <dimen name="key_text_size">24dip</dimen>
+ <dimen name="key_label_text_size">18dip</dimen>
+ <dimen name="key_preview_text_size_large">24dip</dimen>
+ <!-- left or right padding for of label alignment -->
+ <dimen name="key_label_horizontal_alignment_padding">18dip</dimen>
<dimen name="candidate_strip_height">46dip</dimen>
</resources>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 28ea6fccc..ee4ec0517 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -126,6 +126,8 @@
<attr name="manualTemporaryUpperCaseHintIcon" format="reference" />
<!-- The key style to specify a set of key attributes defined by <key_style/> -->
<attr name="keyStyle" format="string" />
+ <!-- Shift key icon for shifted state -->
+ <attr name="shiftedIcon" format="reference" />
</declare-styleable>
<declare-styleable name="BaseKeyboard_Row">
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 0073835fd..f29bc4d11 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -37,6 +37,8 @@
<dimen name="key_text_size">0.13in</dimen>
<dimen name="key_label_text_size">0.083in</dimen>
<dimen name="key_preview_text_size_large">40sp</dimen>
+ <!-- left or right padding for of label alignment -->
+ <dimen name="key_label_horizontal_alignment_padding">0.13in</dimen>
<dimen name="key_preview_offset">0.000in</dimen>
<!-- We use "inch", not "dip" because this value tries dealing with physical distance related
to user's finger. -->
diff --git a/java/res/xml-xlarge/kbd_key_styles.xml b/java/res/xml-xlarge/kbd_key_styles.xml
new file mode 100644
index 000000000..0643bc344
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_key_styles.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <!-- Functional key styles -->
+ <switch>
+ <case
+ latin:colorScheme="white"
+ >
+ <key-style
+ latin:styleName="functionalKeyStyle"
+ latin:isModifier="true" />
+ <key-style
+ latin:styleName="shiftKeyStyle"
+ latin:codes="@integer/key_shift"
+ latin:keyIcon="@drawable/sym_keyboard_shift_holo"
+ latin:shiftedIcon="@drawable/sym_keyboard_shift_locked_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="deleteKeyStyle"
+ latin:codes="@integer/key_delete"
+ latin:keyIcon="@drawable/sym_keyboard_delete_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isRepeatable="true" />
+ <key-style
+ latin:styleName="returnKeyStyle"
+ latin:codes="@integer/key_return"
+ latin:keyIcon="@drawable/sym_keyboard_return_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_return"
+ latin:parentStyle="functionalKeyStyle" />
+ 1
+ <key-style
+ latin:styleName="spaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_keyboard_space_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_keyboard_space_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="smileyKeyStyle"
+ latin:codes="0"
+ latin:keyIcon="@drawable/sym_keyboard_smiley_holo"
+ latin:keyOutputText=";-) "
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupKeyboard="@xml/popup_smileys" />
+ </case>
+ <case
+ latin:colorScheme="black"
+ >
+ <key-style
+ latin:styleName="functionalKeyStyle" />
+ <key-style
+ latin:styleName="shiftKeyStyle"
+ latin:codes="@integer/key_shift"
+ latin:keyIcon="@drawable/sym_bkeyboard_shift"
+ latin:shiftedIcon="@drawable/sym_bkeyboard_shift_locked"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="deleteKeyStyle"
+ latin:codes="@integer/key_delete"
+ latin:keyIcon="@drawable/sym_bkeyboard_delete"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isRepeatable="true" />
+ <key-style
+ latin:styleName="returnKeyStyle"
+ latin:codes="@integer/key_return"
+ latin:keyIcon="@drawable/sym_bkeyboard_return"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_return"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="spaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_bkeyboard_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_bkeyboard_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="smileyKeyStyle"
+ latin:keyLabel=";-)"
+ latin:keyOutputText=";-) "
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupKeyboard="@xml/popup_smileys" />
+ </case>
+ </switch>
+ <key-style
+ latin:styleName="tabKeyStyle"
+ latin:codes="@integer/key_tab"
+ latin:keyLabel="@string/label_tab_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="toSymbolKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyLabel="@string/label_to_symbol_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="toAlphaKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyLabel="@string/label_to_alpha_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="moreKeyStyle"
+ latin:codes="@integer/key_shift"
+ latin:keyLabel="@string/label_more_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="comKeyStyle"
+ latin:keyLabel=".com"
+ latin:keyLabelOption="fontNormal"
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupKeyboard="@xml/popup_domains" />
+</merge>
diff --git a/java/res/xml-xlarge/kbd_number.xml b/java/res/xml-xlarge/kbd_number.xml
index dd251ea9f..f5f4fbc8a 100644
--- a/java/res/xml-xlarge/kbd_number.xml
+++ b/java/res/xml-xlarge/kbd_number.xml
@@ -25,13 +25,13 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
- latin:isModifier="true"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
@@ -55,12 +55,8 @@
<Spacer
latin:horizontalGap="9.360%p" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyLabel="@string/label_backspace_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.804%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -86,11 +82,8 @@
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -125,9 +118,7 @@
<Spacer
latin:horizontalGap="16.406%p" />
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="24.127%p" />
<Spacer
latin:horizontalGap="4.458%p" />
diff --git a/java/res/xml-xlarge/kbd_numkey_styles.xml b/java/res/xml-xlarge/kbd_numkey_styles.xml
new file mode 100644
index 000000000..adf45a861
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_numkey_styles.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:colorScheme="white"
+ >
+ <key-style
+ latin:styleName="num0KeyStyle"
+ latin:codes="48"
+ latin:keyIcon="@drawable/sym_keyboard_num0_holo" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:codes="49"
+ latin:keyIcon="@drawable/sym_keyboard_num1_holo" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:codes="50"
+ latin:keyIcon="@drawable/sym_keyboard_num2_holo" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:codes="51"
+ latin:keyIcon="@drawable/sym_keyboard_num3_holo" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:codes="52"
+ latin:keyIcon="@drawable/sym_keyboard_num4_holo" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:codes="53"
+ latin:keyIcon="@drawable/sym_keyboard_num5_holo" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:codes="54"
+ latin:keyIcon="@drawable/sym_keyboard_num6_holo" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:codes="55"
+ latin:keyIcon="@drawable/sym_keyboard_num7_holo" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:codes="56"
+ latin:keyIcon="@drawable/sym_keyboard_num8_holo" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:codes="57"
+ latin:keyIcon="@drawable/sym_keyboard_num9_holo" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:codes="42"
+ latin:keyIcon="@drawable/sym_keyboard_numbstar_holo" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:codes="35"
+ latin:keyIcon="@drawable/sym_keyboard_numbpound_holo" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_keyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_keyboard_space_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ <case
+ latin:colorScheme="black"
+ >
+ <key-style
+ latin:styleName="num0KeyStyle"
+ latin:codes="48"
+ latin:keyIcon="@drawable/sym_bkeyboard_num0" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:codes="49"
+ latin:keyIcon="@drawable/sym_bkeyboard_num1" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:codes="50"
+ latin:keyIcon="@drawable/sym_bkeyboard_num2" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:codes="51"
+ latin:keyIcon="@drawable/sym_bkeyboard_num3" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:codes="52"
+ latin:keyIcon="@drawable/sym_bkeyboard_num4" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:codes="53"
+ latin:keyIcon="@drawable/sym_bkeyboard_num5" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:codes="54"
+ latin:keyIcon="@drawable/sym_bkeyboard_num6" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:codes="55"
+ latin:keyIcon="@drawable/sym_bkeyboard_num7" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:codes="56"
+ latin:keyIcon="@drawable/sym_bkeyboard_num8" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:codes="57"
+ latin:keyIcon="@drawable/sym_bkeyboard_num9" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:codes="42"
+ latin:keyIcon="@drawable/sym_bkeyboard_numstar" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:codes="35"
+ latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_bkeyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_bkeyboard_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ </switch>
+</merge>
diff --git a/java/res/xml-xlarge/kbd_phone.xml b/java/res/xml-xlarge/kbd_phone.xml
index 842c74bf5..483b022a5 100644
--- a/java/res/xml-xlarge/kbd_phone.xml
+++ b/java/res/xml-xlarge/kbd_phone.xml
@@ -25,13 +25,15 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
- latin:isModifier="true"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "Tab", I placed spaces around the char '-'
and '+'. -->
@@ -48,32 +50,22 @@
<Spacer
latin:horizontalGap="8.479%p" />
<Key
- latin:codes="49"
- latin:keyIcon="@drawable/sym_keyboard_num1" />
+ latin:keyStyle="num1KeyStyle" />
<Key
- latin:codes="50"
- latin:keyIcon="@drawable/sym_keyboard_num2" />
+ latin:keyStyle="num2KeyStyle" />
<Key
- latin:codes="51"
- latin:keyIcon="@drawable/sym_keyboard_num3" />
+ latin:keyStyle="num3KeyStyle" />
<Spacer
- latin:horizontalGap="4.458%p" />
+ latin:horizontalGap="9.360%p" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyLabel="@string/label_backspace_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
- latin:keyWidth="14.706%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
- latin:isModifier="true"
- latin:isSticky="true"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "More", I placed spaces around the char ','
and '.'. -->
@@ -90,22 +82,16 @@
<Spacer
latin:horizontalGap="8.479%p" />
<Key
- latin:codes="52"
- latin:keyIcon="@drawable/sym_keyboard_num4" />
+ latin:keyStyle="num4KeyStyle" />
<Key
- latin:codes="53"
- latin:keyIcon="@drawable/sym_keyboard_num5" />
+ latin:keyStyle="num5KeyStyle" />
<Key
- latin:codes="54"
- latin:keyIcon="@drawable/sym_keyboard_num6" />
+ latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -126,14 +112,11 @@
<Spacer
latin:horizontalGap="8.479%p" />
<Key
- latin:codes="55"
- latin:keyIcon="@drawable/sym_keyboard_num7" />
+ latin:keyStyle="num7KeyStyle" />
<Key
- latin:codes="56"
- latin:keyIcon="@drawable/sym_keyboard_num8" />
+ latin:keyStyle="num8KeyStyle" />
<Key
- latin:codes="57"
- latin:keyIcon="@drawable/sym_keyboard_num9" />
+ latin:keyStyle="num9KeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
@@ -144,21 +127,16 @@
<Spacer
latin:horizontalGap="20.427%p" />
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="16.085%p" />
<Spacer
latin:horizontalGap="8.479%p" />
<Key
- latin:codes="42"
- latin:keyIcon="@drawable/sym_keyboard_numstar" />
+ latin:keyStyle="numStarKeyStyle" />
<Key
- latin:codes="48"
- latin:keyIcon="@drawable/sym_keyboard_num0" />
+ latin:keyStyle="num0KeyStyle" />
<Key
- latin:codes="35"
- latin:keyIcon="@drawable/sym_keyboard_numpound" />
+ latin:keyStyle="numPoundKeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
diff --git a/java/res/xml-xlarge/kbd_phone_symbols.xml b/java/res/xml-xlarge/kbd_phone_symbols.xml
index 9ba60ed85..09eb403c8 100644
--- a/java/res/xml-xlarge/kbd_phone_symbols.xml
+++ b/java/res/xml-xlarge/kbd_phone_symbols.xml
@@ -25,13 +25,15 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
- latin:isModifier="true"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
@@ -52,32 +54,22 @@
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="49"
- latin:keyIcon="@drawable/sym_keyboard_num1" />
+ latin:keyStyle="num1KeyStyle" />
<Key
- latin:codes="50"
- latin:keyIcon="@drawable/sym_keyboard_num2" />
+ latin:keyStyle="num2KeyStyle" />
<Key
- latin:codes="51"
- latin:keyIcon="@drawable/sym_keyboard_num3" />
+ latin:keyStyle="num3KeyStyle" />
<Spacer
- latin:horizontalGap="4.458%p" />
+ latin:horizontalGap="9.360%p" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyLabel="@string/label_backspace_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
- latin:keyWidth="14.706%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
- latin:isModifier="true"
- latin:isSticky="true"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
@@ -98,22 +90,16 @@
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="52"
- latin:keyIcon="@drawable/sym_keyboard_num4" />
+ latin:keyStyle="num4KeyStyle" />
<Key
- latin:codes="53"
- latin:keyIcon="@drawable/sym_keyboard_num5" />
+ latin:keyStyle="num5KeyStyle" />
<Key
- latin:codes="54"
- latin:keyIcon="@drawable/sym_keyboard_num6" />
+ latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -138,14 +124,11 @@
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="55"
- latin:keyIcon="@drawable/sym_keyboard_num7" />
+ latin:keyStyle="num7KeyStyle" />
<Key
- latin:codes="56"
- latin:keyIcon="@drawable/sym_keyboard_num8" />
+ latin:keyStyle="num8KeyStyle" />
<Key
- latin:codes="57"
- latin:keyIcon="@drawable/sym_keyboard_num9" />
+ latin:keyStyle="num9KeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
@@ -156,21 +139,16 @@
<Spacer
latin:horizontalGap="16.406%p" />
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="24.127%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
- latin:codes="42"
- latin:keyIcon="@drawable/sym_keyboard_numstar" />
+ latin:keyStyle="numStarKeyStyle" />
<Key
- latin:codes="48"
- latin:keyIcon="@drawable/sym_keyboard_num0" />
+ latin:keyStyle="num0KeyStyle" />
<Key
- latin:codes="35"
- latin:keyIcon="@drawable/sym_keyboard_numpound" />
+ latin:keyStyle="numPoundKeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
diff --git a/java/res/xml-xlarge/kbd_qwerty.xml b/java/res/xml-xlarge/kbd_qwerty.xml
index b45060497..6f6877b0b 100644
--- a/java/res/xml-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-xlarge/kbd_qwerty.xml
@@ -24,8 +24,14 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row1" />
- <include latin:keyboardLayout="@xml/kbd_qwerty_row2" />
- <include latin:keyboardLayout="@xml/kbd_qwerty_row3" />
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row1" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row2" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row3" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</Keyboard>
diff --git a/java/res/xml-xlarge/kbd_qwerty_row1.xml b/java/res/xml-xlarge/kbd_qwerty_row1.xml
index eca24b6e1..159686792 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row1.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row1.xml
@@ -26,11 +26,9 @@
latin:keyWidth="8.272%p"
>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
@@ -73,12 +71,8 @@
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-xlarge/kbd_qwerty_row2.xml b/java/res/xml-xlarge/kbd_qwerty_row2.xml
index 8dfb48885..2b9be10ab 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row2.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row2.xml
@@ -25,11 +25,9 @@
latin:keyWidth="8.157%p"
>
<Key
- latin:codes="@integer/key_switch_alpha_symbol"
- latin:keyLabel="@string/label_to_symbol_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
@@ -60,11 +58,8 @@
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-xlarge/kbd_qwerty_row3.xml b/java/res/xml-xlarge/kbd_qwerty_row3.xml
index c26dcc410..209ef213d 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row3.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row3.xml
@@ -25,12 +25,8 @@
latin:keyWidth="8.042%p"
>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_shift_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p"
- latin:isModifier="true"
- latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
@@ -81,12 +77,8 @@
</default>
</switch>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_shift_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
- latin:keyWidth="12.430%p"
- latin:isModifier="true"
- latin:isSticky="true"
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-xlarge/kbd_qwerty_row4.xml b/java/res/xml-xlarge/kbd_qwerty_row4.xml
index 8b31ec6fa..7b9049a8e 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row4.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row4.xml
@@ -32,10 +32,7 @@
latin:mode="email"
>
<Key
- latin:keyLabel=".com"
- latin:keyOutputText=".com"
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupKeyboard="@xml/popup_domains" />
+ latin:keyStyle="comKeyStyle" />
<Key
latin:keyLabel="\@" />
</case>
@@ -44,18 +41,12 @@
latin:mode="url"
>
<Key
- latin:keyLabel=".com"
- latin:keyOutputText=".com"
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupKeyboard="@xml/popup_domains"
+ latin:keyStyle="comKeyStyle"
latin:keyWidth="16.084%p" />
</case>
<default>
<Key
- latin:keyLabel=":-)"
- latin:keyOutputText=":-)"
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupKeyboard="@xml/popup_smileys" />
+ latin:keyStyle="smileyKeyStyle" />
<Key
latin:keyLabel="/"
latin:manualTemporaryUpperCaseCode="64"
@@ -66,11 +57,8 @@
</default>
</switch>
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
- latin:keyWidth="37.454%p"
- latin:isModifier="true" />
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
<switch>
<case
latin:mode="email"
diff --git a/java/res/xml-xlarge/kbd_symbols.xml b/java/res/xml-xlarge/kbd_symbols.xml
index 317c32b81..7197115d6 100644
--- a/java/res/xml-xlarge/kbd_symbols.xml
+++ b/java/res/xml-xlarge/kbd_symbols.xml
@@ -24,16 +24,16 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="8.272%p"
>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="1"
@@ -70,23 +70,17 @@
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="ⁿ∅" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.157%p"
>
<Key
- latin:codes="@integer/key_switch_alpha_symbol"
- latin:keyLabel="@string/label_to_alpha_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="#" />
@@ -121,23 +115,17 @@
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="]}&gt;" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.042%p"
>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="15.192%p"
- latin:isModifier="true"
- latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="&lt;"
@@ -166,13 +154,9 @@
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="¿" />
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="12.430%p"
- latin:isModifier="true"
- latin:isSticky="true"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignRight"
+ latin:keyWidth="12.530%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
@@ -186,11 +170,8 @@
<Key
latin:keyLabel="\@" />
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
- latin:keyWidth="37.454%p"
- latin:isModifier="true" />
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
<Key
latin:keyLabel="&quot;"
latin:popupKeyboard="@xml/kbd_popup_template"
diff --git a/java/res/xml-xlarge/kbd_symbols_shift.xml b/java/res/xml-xlarge/kbd_symbols_shift.xml
index 603b36b4e..474296732 100644
--- a/java/res/xml-xlarge/kbd_symbols_shift.xml
+++ b/java/res/xml-xlarge/kbd_symbols_shift.xml
@@ -24,16 +24,16 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="8.272%p"
>
<Key
- latin:codes="@integer/key_tab"
- latin:keyLabel="@string/label_tab_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="~" />
@@ -60,23 +60,17 @@
<Key
latin:keyLabel="}" />
<Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.157%p"
>
<Key
- latin:codes="@integer/key_switch_alpha_symbol"
- latin:keyLabel="@string/label_to_alpha_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
- latin:isModifier="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="£" />
@@ -101,23 +95,17 @@
<Key
latin:keyLabel="]" />
<Key
- latin:codes="@integer/key_return"
- latin:keyLabel="@string/label_return_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+ latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
- latin:isModifier="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.042%p"
>
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignLeft"
latin:keyWidth="15.192%p"
- latin:isModifier="true"
- latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="©" />
@@ -142,12 +130,9 @@
<Key
latin:keyLabel="¿" />
<Key
- latin:codes="@integer/key_shift"
- latin:keyLabel="@string/label_more_key"
- latin:keyLabelOption="fontNormal|alignRight|alignBottom"
- latin:keyWidth="12.430%p"
- latin:isModifier="true"
- latin:isSticky="true"
+ latin:keyStyle="moreKeyStyle"
+ latin:keyLabelOption="alignRight"
+ latin:keyWidth="12.530%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
@@ -157,10 +142,7 @@
<Spacer
latin:horizontalGap="32.488%p" />
<Key
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
- latin:keyWidth="37.454%p"
- latin:isModifier="true" />
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml
index b80bb9ff4..9dd166a41 100644
--- a/java/res/xml/kbd_key_styles.xml
+++ b/java/res/xml/kbd_key_styles.xml
@@ -33,6 +33,7 @@
latin:styleName="shiftKeyStyle"
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_keyboard_shift"
+ latin:shiftedIcon="@drawable/sym_keyboard_shift_locked"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
@@ -109,6 +110,7 @@
latin:styleName="shiftKeyStyle"
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
+ latin:shiftedIcon="@drawable/sym_bkeyboard_shift_locked"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
diff --git a/java/res/xml/kbd_numkey_styles.xml b/java/res/xml/kbd_numkey_styles.xml
new file mode 100644
index 000000000..006476db2
--- /dev/null
+++ b/java/res/xml/kbd_numkey_styles.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:colorScheme="white"
+ >
+ <key-style
+ latin:styleName="num0KeyStyle"
+ latin:codes="48"
+ latin:keyIcon="@drawable/sym_keyboard_num0" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:codes="49"
+ latin:keyIcon="@drawable/sym_keyboard_num1" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:codes="50"
+ latin:keyIcon="@drawable/sym_keyboard_num2" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:codes="51"
+ latin:keyIcon="@drawable/sym_keyboard_num3" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:codes="52"
+ latin:keyIcon="@drawable/sym_keyboard_num4" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:codes="53"
+ latin:keyIcon="@drawable/sym_keyboard_num5" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:codes="54"
+ latin:keyIcon="@drawable/sym_keyboard_num6" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:codes="55"
+ latin:keyIcon="@drawable/sym_keyboard_num7" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:codes="56"
+ latin:keyIcon="@drawable/sym_keyboard_num8" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:codes="57"
+ latin:keyIcon="@drawable/sym_keyboard_num9" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:codes="42"
+ latin:keyIcon="@drawable/sym_keyboard_numstar" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:codes="35"
+ latin:keyIcon="@drawable/sym_keyboard_numpound" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_keyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_keyboard_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ <case
+ latin:colorScheme="black"
+ >
+ <key-style
+ latin:styleName="num0KeyStyle"
+ latin:codes="48"
+ latin:keyIcon="@drawable/sym_bkeyboard_num0" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:codes="49"
+ latin:keyIcon="@drawable/sym_bkeyboard_num1" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:codes="50"
+ latin:keyIcon="@drawable/sym_bkeyboard_num2" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:codes="51"
+ latin:keyIcon="@drawable/sym_bkeyboard_num3" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:codes="52"
+ latin:keyIcon="@drawable/sym_bkeyboard_num4" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:codes="53"
+ latin:keyIcon="@drawable/sym_bkeyboard_num5" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:codes="54"
+ latin:keyIcon="@drawable/sym_bkeyboard_num6" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:codes="55"
+ latin:keyIcon="@drawable/sym_bkeyboard_num7" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:codes="56"
+ latin:keyIcon="@drawable/sym_bkeyboard_num8" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:codes="57"
+ latin:keyIcon="@drawable/sym_bkeyboard_num9" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:codes="42"
+ latin:keyIcon="@drawable/sym_bkeyboard_numstar" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:codes="35"
+ latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:codes="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_bkeyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:codes="@integer/key_space"
+ latin:keyIcon="@drawable/sym_bkeyboard_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ </switch>
+</merge>
diff --git a/java/res/xml/kbd_phone.xml b/java/res/xml/kbd_phone.xml
index c9b1ad631..7e146ed69 100644
--- a/java/res/xml/kbd_phone.xml
+++ b/java/res/xml/kbd_phone.xml
@@ -27,116 +27,8 @@
>
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
- <switch>
- <case
- latin:colorScheme="white"
- >
- <key-style
- latin:styleName="num0KeyStyle"
- latin:codes="48"
- latin:keyIcon="@drawable/sym_keyboard_num0" />
- <key-style
- latin:styleName="num1KeyStyle"
- latin:codes="49"
- latin:keyIcon="@drawable/sym_keyboard_num1" />
- <key-style
- latin:styleName="num2KeyStyle"
- latin:codes="50"
- latin:keyIcon="@drawable/sym_keyboard_num2" />
- <key-style
- latin:styleName="num3KeyStyle"
- latin:codes="51"
- latin:keyIcon="@drawable/sym_keyboard_num3" />
- <key-style
- latin:styleName="num4KeyStyle"
- latin:codes="52"
- latin:keyIcon="@drawable/sym_keyboard_num4" />
- <key-style
- latin:styleName="num5KeyStyle"
- latin:codes="53"
- latin:keyIcon="@drawable/sym_keyboard_num5" />
- <key-style
- latin:styleName="num6KeyStyle"
- latin:codes="54"
- latin:keyIcon="@drawable/sym_keyboard_num6" />
- <key-style
- latin:styleName="num7KeyStyle"
- latin:codes="55"
- latin:keyIcon="@drawable/sym_keyboard_num7" />
- <key-style
- latin:styleName="num8KeyStyle"
- latin:codes="56"
- latin:keyIcon="@drawable/sym_keyboard_num8" />
- <key-style
- latin:styleName="num9KeyStyle"
- latin:codes="57"
- latin:keyIcon="@drawable/sym_keyboard_num9" />
- <key-style
- latin:styleName="numAltKeyStyle"
- latin:codes="@integer/key_switch_alpha_symbol"
- latin:keyIcon="@drawable/sym_keyboard_numalt"
- latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
- <key-style
- latin:styleName="numSpaceKeyStyle"
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
- </case>
- <case
- latin:colorScheme="black"
- >
- <key-style
- latin:styleName="num0KeyStyle"
- latin:codes="48"
- latin:keyIcon="@drawable/sym_bkeyboard_num0" />
- <key-style
- latin:styleName="num1KeyStyle"
- latin:codes="49"
- latin:keyIcon="@drawable/sym_bkeyboard_num1" />
- <key-style
- latin:styleName="num2KeyStyle"
- latin:codes="50"
- latin:keyIcon="@drawable/sym_bkeyboard_num2" />
- <key-style
- latin:styleName="num3KeyStyle"
- latin:codes="51"
- latin:keyIcon="@drawable/sym_bkeyboard_num3" />
- <key-style
- latin:styleName="num4KeyStyle"
- latin:codes="52"
- latin:keyIcon="@drawable/sym_bkeyboard_num4" />
- <key-style
- latin:styleName="num5KeyStyle"
- latin:codes="53"
- latin:keyIcon="@drawable/sym_bkeyboard_num5" />
- <key-style
- latin:styleName="num6KeyStyle"
- latin:codes="54"
- latin:keyIcon="@drawable/sym_bkeyboard_num6" />
- <key-style
- latin:styleName="num7KeyStyle"
- latin:codes="55"
- latin:keyIcon="@drawable/sym_bkeyboard_num7" />
- <key-style
- latin:styleName="num8KeyStyle"
- latin:codes="56"
- latin:keyIcon="@drawable/sym_bkeyboard_num8" />
- <key-style
- latin:styleName="num9KeyStyle"
- latin:codes="57"
- latin:keyIcon="@drawable/sym_bkeyboard_num9" />
- <key-style
- latin:styleName="numAltKeyStyle"
- latin:codes="@integer/key_switch_alpha_symbol"
- latin:keyIcon="@drawable/sym_bkeyboard_numalt"
- latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
- <key-style
- latin:styleName="numSpaceKeyStyle"
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_bkeyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
- </case>
- </switch>
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
<Row
latin:rowEdgeFlags="top"
>
diff --git a/java/res/xml/kbd_phone_symbols.xml b/java/res/xml/kbd_phone_symbols.xml
index 0d6d0e407..1bb4bac74 100644
--- a/java/res/xml/kbd_phone_symbols.xml
+++ b/java/res/xml/kbd_phone_symbols.xml
@@ -27,44 +27,8 @@
>
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
- <switch>
- <case
- latin:colorScheme="white"
- >
- <key-style
- latin:styleName="numStarKeyStyle"
- latin:codes="42"
- latin:keyIcon="@drawable/sym_keyboard_numstar"
- latin:keyEdgeFlags="left" />
- <key-style
- latin:styleName="numPoundKeyStyle"
- latin:codes="35"
- latin:keyIcon="@drawable/sym_keyboard_numpound" />
- <key-style
- latin:styleName="numSpaceKeyStyle"
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
- </case>
- <case
- latin:colorScheme="black"
- >
- <key-style
- latin:styleName="numStarKeyStyle"
- latin:codes="42"
- latin:keyIcon="@drawable/sym_bkeyboard_numstar"
- latin:keyEdgeFlags="left" />
- <key-style
- latin:styleName="numPoundKeyStyle"
- latin:codes="35"
- latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
- <key-style
- latin:styleName="numSpaceKeyStyle"
- latin:codes="@integer/key_space"
- latin:keyIcon="@drawable/sym_bkeyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
- </case>
- </switch>
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
<Row
latin:rowEdgeFlags="top"
>
diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboard.java b/java/src/com/android/inputmethod/latin/BaseKeyboard.java
index 485cc3153..00ed453c4 100644
--- a/java/src/com/android/inputmethod/latin/BaseKeyboard.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboard.java
@@ -28,11 +28,14 @@ import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
+import android.util.Log;
import android.util.Xml;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* Loads an XML description of a keyboard and stores the attributes of the keys. A keyboard
@@ -86,6 +89,9 @@ public class BaseKeyboard {
/** List of shift keys in this keyboard */
private final List<Key> mShiftKeys = new ArrayList<Key>();
+ /** List of shift keys and its shifted state icon */
+ private final HashMap<Key, Drawable> mShiftedIcons = new HashMap<Key, Drawable>();
+
/** Total height of the keyboard, including the padding and keys */
private int mTotalHeight;
@@ -340,6 +346,10 @@ public class BaseKeyboard {
manualTemporaryUpperCaseCode = style.getInt(a,
R.styleable.BaseKeyboard_Key_manualTemporaryUpperCaseCode, 0);
text = style.getText(a, R.styleable.BaseKeyboard_Key_keyOutputText);
+ final Drawable shiftedIcon = style.getDrawable(a,
+ R.styleable.BaseKeyboard_Key_shiftedIcon);
+ if (shiftedIcon != null)
+ keyboard.getShiftedIcons().put(this, shiftedIcon);
if (codes == null && !TextUtils.isEmpty(label)) {
codes = new int[] { label.charAt(0) };
@@ -622,6 +632,10 @@ public class BaseKeyboard {
return mShiftKeys;
}
+ public Map<Key, Drawable> getShiftedIcons() {
+ return mShiftedIcons;
+ }
+
private void computeNearestNeighbors() {
// Round-up so we don't have any pixels outside the grid
mCellWidth = (getMinWidth() + GRID_WIDTH - 1) / GRID_WIDTH;
@@ -686,8 +700,10 @@ public class BaseKeyboard {
mTotalWidth = parser.getMaxRowWidth();
mTotalHeight = parser.getTotalHeight();
} catch (XmlPullParserException e) {
+ Log.w(TAG, "keyboard XML parse error: " + e);
throw new IllegalArgumentException(e);
} catch (IOException e) {
+ Log.w(TAG, "keyboard XML parse error: " + e);
throw new RuntimeException(e);
}
}
diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboardParser.java b/java/src/com/android/inputmethod/latin/BaseKeyboardParser.java
index 621e875bf..38b2a1b57 100644
--- a/java/src/com/android/inputmethod/latin/BaseKeyboardParser.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboardParser.java
@@ -174,6 +174,7 @@ public class BaseKeyboardParser {
keyboard.setVerticalGap(getDimensionOrFraction(a,
R.styleable.BaseKeyboard_verticalGap, height, 0));
a.recycle();
+ if (DEBUG_TAG) Log.d(TAG, "id=" + keyboard.mId);
}
private void parseKeyboardContent(XmlResourceParser parser, List<Key> keys)
@@ -310,6 +311,7 @@ public class BaseKeyboardParser {
checkEndTag(TAG_INCLUDE, parser);
if (keyboardLayout == 0)
throw new ParseException("No keyboardLayout attribute in <include/>", parser);
+ if (DEBUG_TAG) Log.d(TAG, String.format(" keyboardLayout=0x%08x", keyboardLayout));
parseMerge(mResources.getLayout(keyboardLayout), row, keys);
}
}
@@ -560,10 +562,10 @@ public class BaseKeyboardParser {
}
private static String debugInteger(TypedArray a, int index, String name) {
- return a.hasValue(index) ? name + "=" + a.getInt(index, 0) : "";
+ return a.hasValue(index) ? " " + name + "=" + a.getInt(index, 0) : "";
}
private static String debugBoolean(TypedArray a, int index, String name) {
- return a.hasValue(index) ? name + "=" + a.getBoolean(index, false) : "";
+ return a.hasValue(index) ? " " + name + "=" + a.getBoolean(index, false) : "";
}
}
diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
index 129ff81a1..954f264bd 100644
--- a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
@@ -71,6 +71,7 @@ import java.util.WeakHashMap;
public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
private static final String TAG = "BaseKeyboardView";
private static final boolean DEBUG = false;
+ private static final boolean DEBUG_SHOW_ALIGN = false;
private static final boolean DEBUG_KEYBOARD_GRID = false;
public static final int COLOR_SCHEME_WHITE = 0;
@@ -252,17 +253,15 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
private final Rect mClipRegion = new Rect(0, 0, 0, 0);
// This map caches key label text height in pixel as value and key label text size as map key.
private final HashMap<Integer, Integer> mTextHeightCache = new HashMap<Integer, Integer>();
- // This map caches key label text width in pixel as value and key label text size as map key.
- private final HashMap<Integer, Integer> mTextWidthCache = new HashMap<Integer, Integer>();
// Distance from horizontal center of the key, proportional to key label text height and width.
private final float KEY_LABEL_VERTICAL_ADJUSTMENT_FACTOR_CENTER = 0.55f;
private final float KEY_LABEL_VERTICAL_PADDING_FACTOR = 1.60f;
- private final float KEY_LABEL_HORIZONTAL_PADDING_FACTOR = 0.80f;
private final String KEY_LABEL_REFERENCE_CHAR = "H";
private final int KEY_LABEL_OPTION_ALIGN_LEFT = 1;
private final int KEY_LABEL_OPTION_ALIGN_RIGHT = 2;
private final int KEY_LABEL_OPTION_ALIGN_BOTTOM = 8;
private final int KEY_LABEL_OPTION_FONT_NORMAL = 16;
+ private final int mKeyLabelHorizontalPadding;
private final UIHandler mHandler = new UIHandler();
@@ -514,6 +513,8 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
mPreviewPopup.setAnimationStyle(R.style.KeyPreviewAnimation);
mDelayBeforePreview = res.getInteger(R.integer.config_delay_before_preview);
mDelayAfterPreview = res.getInteger(R.integer.config_delay_after_preview);
+ mKeyLabelHorizontalPadding = (int)res.getDimension(
+ R.dimen.key_label_horizontal_alignment_padding);
mMiniKeyboardParent = this;
mMiniKeyboardPopup = new PopupWindow(context);
@@ -818,44 +819,22 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
canvas.translate(key.x + kbdPaddingLeft, key.y + kbdPaddingTop);
keyBackground.draw(canvas);
+ final int rowHeight = padding.top + key.height;
boolean drawHintIcon = true;
// Draw key label
if (label != null) {
// For characters, use large font. For labels like "Done", use small font.
- final int labelSize;
- if (label.length() > 1 && key.codes.length < 2) {
- labelSize = mLabelTextSize;
- if ((key.labelOption & KEY_LABEL_OPTION_FONT_NORMAL) != 0) {
- paint.setTypeface(Typeface.DEFAULT);
- } else {
- paint.setTypeface(Typeface.DEFAULT_BOLD);
- }
- } else {
- labelSize = mKeyTextSize;
- paint.setTypeface(mKeyTextStyle);
- }
- paint.setTextSize(labelSize);
-
- Integer labelHeightValue = mTextHeightCache.get(labelSize);
- final int labelCharHeight;
- final int labelCharWidth;
- if (labelHeightValue != null) {
- labelCharHeight = labelHeightValue;
- labelCharWidth = mTextWidthCache.get(labelSize);
- } else {
- Rect textBounds = new Rect();
- paint.getTextBounds(KEY_LABEL_REFERENCE_CHAR, 0, 1, textBounds);
- labelCharHeight = textBounds.height();
- labelCharWidth = textBounds.width();
- mTextHeightCache.put(labelSize, labelCharHeight);
- mTextWidthCache.put(labelSize, labelCharWidth);
- }
+ final int labelSize = getLabelSizeAndSetPaint(label, key, paint);
+ final int labelCharHeight = getLabelCharHeight(labelSize, paint);
// Vertical label text alignment.
final float baseline;
if ((key.labelOption & KEY_LABEL_OPTION_ALIGN_BOTTOM) != 0) {
baseline = key.height -
+ labelCharHeight * KEY_LABEL_VERTICAL_PADDING_FACTOR;
+ if (DEBUG_SHOW_ALIGN)
+ drawHorizontalLine(canvas, (int)baseline, key.width, 0xc0008000,
+ new Paint());
} else { // Align center
final float centerY = (key.height + padding.top - padding.bottom) / 2;
baseline = centerY
@@ -864,16 +843,20 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
// Horizontal label text alignment
final int positionX;
if ((key.labelOption & KEY_LABEL_OPTION_ALIGN_LEFT) != 0) {
- positionX = (int)(
- labelCharWidth * KEY_LABEL_HORIZONTAL_PADDING_FACTOR + padding.left);
+ positionX = mKeyLabelHorizontalPadding + padding.left;
paint.setTextAlign(Align.LEFT);
+ if (DEBUG_SHOW_ALIGN)
+ drawVerticalLine(canvas, positionX, rowHeight, 0xc0800080, new Paint());
} else if ((key.labelOption & KEY_LABEL_OPTION_ALIGN_RIGHT) != 0) {
- positionX = (int)(key.width
- - labelCharWidth * KEY_LABEL_HORIZONTAL_PADDING_FACTOR - padding.right);
+ positionX = key.width - mKeyLabelHorizontalPadding - padding.right;
paint.setTextAlign(Align.RIGHT);
+ if (DEBUG_SHOW_ALIGN)
+ drawVerticalLine(canvas, positionX, rowHeight, 0xc0808000, new Paint());
} else {
positionX = (key.width + padding.left - padding.right) / 2;
paint.setTextAlign(Align.CENTER);
+ if (DEBUG_SHOW_ALIGN && label.length() > 1)
+ drawVerticalLine(canvas, positionX, rowHeight, 0xc0008080, new Paint());
}
// Set a drop shadow for the text
paint.setShadowLayer(mShadowRadius, 0, 0, mShadowColor);
@@ -883,21 +866,44 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
}
// Draw key icon
if (key.label == null && key.icon != null) {
- int drawableWidth = key.icon.getIntrinsicWidth();
- int drawableHeight = key.icon.getIntrinsicHeight();
- int drawableX = (key.width + padding.left - padding.right - drawableWidth) / 2;
- int drawableY = (key.height + padding.top - padding.bottom - drawableHeight) / 2;
+ final int drawableWidth = key.icon.getIntrinsicWidth();
+ final int drawableHeight = key.icon.getIntrinsicHeight();
+ final int drawableX;
+ final int drawableY = (
+ key.height + padding.top - padding.bottom - drawableHeight) / 2;
+ if ((key.labelOption & KEY_LABEL_OPTION_ALIGN_LEFT) != 0) {
+ drawableX = padding.left + mKeyLabelHorizontalPadding;
+ if (DEBUG_SHOW_ALIGN)
+ drawVerticalLine(canvas, drawableX, rowHeight, 0xc0800080, new Paint());
+ } else if ((key.labelOption & KEY_LABEL_OPTION_ALIGN_RIGHT) != 0) {
+ drawableX = key.width - padding.right - mKeyLabelHorizontalPadding
+ - drawableWidth;
+ if (DEBUG_SHOW_ALIGN)
+ drawVerticalLine(canvas, drawableX + drawableWidth, rowHeight,
+ 0xc0808000, new Paint());
+ } else { // Align center
+ drawableX = (key.width + padding.left - padding.right - drawableWidth) / 2;
+ if (DEBUG_SHOW_ALIGN)
+ drawVerticalLine(canvas, drawableX + drawableWidth / 2, rowHeight,
+ 0xc0008080, new Paint());
+ }
drawIcon(canvas, key.icon, drawableX, drawableY, drawableWidth, drawableHeight);
+ if (DEBUG_SHOW_ALIGN)
+ drawRectangle(canvas, drawableX, drawableY, drawableWidth, drawableHeight,
+ 0x80c00000, new Paint());
}
if (key.hintIcon != null && drawHintIcon) {
- int drawableWidth = key.width;
- int drawableHeight = key.height;
- int drawableX = 0;
- int drawableY = HINT_ICON_VERTICAL_ADJUSTMENT_PIXEL;
+ final int drawableWidth = key.width;
+ final int drawableHeight = key.height;
+ final int drawableX = 0;
+ final int drawableY = HINT_ICON_VERTICAL_ADJUSTMENT_PIXEL;
Drawable icon = (isManualTemporaryUpperCase
&& key.manualTemporaryUpperCaseHintIcon != null)
? key.manualTemporaryUpperCaseHintIcon : key.hintIcon;
drawIcon(canvas, icon, drawableX, drawableY, drawableWidth, drawableHeight);
+ if (DEBUG_SHOW_ALIGN)
+ drawRectangle(canvas, drawableX, drawableY, drawableWidth, drawableHeight,
+ 0x80c0c000, new Paint());
}
canvas.translate(-key.x - kbdPaddingLeft, -key.y - kbdPaddingTop);
}
@@ -945,13 +951,70 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
mDirtyRect.setEmpty();
}
- private void drawIcon(Canvas canvas, Drawable icon, int x, int y, int width, int height) {
+ private int getLabelSizeAndSetPaint(CharSequence label, Key key, Paint paint) {
+ // For characters, use large font. For labels like "Done", use small font.
+ final int labelSize;
+ if (label.length() > 1 && key.codes.length < 2) {
+ labelSize = mLabelTextSize;
+ if ((key.labelOption & KEY_LABEL_OPTION_FONT_NORMAL) != 0) {
+ paint.setTypeface(Typeface.DEFAULT);
+ } else {
+ paint.setTypeface(Typeface.DEFAULT_BOLD);
+ }
+ } else {
+ labelSize = mKeyTextSize;
+ paint.setTypeface(mKeyTextStyle);
+ }
+ paint.setTextSize(labelSize);
+ return labelSize;
+ }
+
+ private int getLabelCharHeight(int labelSize, Paint paint) {
+ Integer labelHeightValue = mTextHeightCache.get(labelSize);
+ final int labelCharHeight;
+ if (labelHeightValue != null) {
+ labelCharHeight = labelHeightValue;
+ } else {
+ Rect textBounds = new Rect();
+ paint.getTextBounds(KEY_LABEL_REFERENCE_CHAR, 0, 1, textBounds);
+ labelCharHeight = textBounds.height();
+ mTextHeightCache.put(labelSize, labelCharHeight);
+ }
+ return labelCharHeight;
+ }
+
+ private static void drawIcon(Canvas canvas, Drawable icon, int x, int y, int width,
+ int height) {
canvas.translate(x, y);
icon.setBounds(0, 0, width, height);
icon.draw(canvas);
canvas.translate(-x, -y);
}
+ private static void drawHorizontalLine(Canvas canvas, int y, int w, int color, Paint paint) {
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setStrokeWidth(1.0f);
+ paint.setColor(color);
+ canvas.drawLine(0, y, w, y, paint);
+ }
+
+ private static void drawVerticalLine(Canvas canvas, int x, int h, int color, Paint paint) {
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setStrokeWidth(1.0f);
+ paint.setColor(color);
+ canvas.drawLine(x, 0, x, h, paint);
+ }
+
+ private static void drawRectangle(Canvas canvas, int x, int y, int w, int h, int color,
+ Paint paint) {
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setStrokeWidth(1.0f);
+ paint.setColor(color);
+ canvas.translate(x, y);
+ canvas.drawRect(0, 0, w, h, paint);
+ canvas.translate(-x, -y);
+ }
+
public void setForeground(boolean foreground) {
mInForeground = foreground;
}
diff --git a/java/src/com/android/inputmethod/latin/KeyStyles.java b/java/src/com/android/inputmethod/latin/KeyStyles.java
index e53e351a3..fceede7c3 100644
--- a/java/src/com/android/inputmethod/latin/KeyStyles.java
+++ b/java/src/com/android/inputmethod/latin/KeyStyles.java
@@ -104,7 +104,7 @@ public class KeyStyles {
try {
values[count++] = Integer.parseInt(st.nextToken());
} catch (NumberFormatException nfe) {
- Log.e(TAG, "Error parsing integer CSV " + value);
+ Log.w(TAG, "Error parsing integer CSV " + value);
}
}
return values;
@@ -163,6 +163,7 @@ public class KeyStyles {
readDrawable(a, R.styleable.BaseKeyboard_Key_keyIcon);
readDrawable(a, R.styleable.BaseKeyboard_Key_iconPreview);
readDrawable(a, R.styleable.BaseKeyboard_Key_keyHintIcon);
+ readDrawable(a, R.styleable.BaseKeyboard_Key_shiftedIcon);
readResourceId(a, R.styleable.BaseKeyboard_Key_popupKeyboard);
readBoolean(a, R.styleable.BaseKeyboard_Key_isModifier);
readBoolean(a, R.styleable.BaseKeyboard_Key_isSticky);
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index 58958b610..b08b97a81 100644
--- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -691,9 +691,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
).inflate(THEMES[newLayout], null);
tryGC = false;
} catch (OutOfMemoryError e) {
+ Log.w(TAG, "load keyboard failed: " + e);
tryGC = LatinIMEUtil.GCUtils.getInstance().tryGCOrWait(
mLayoutId + "," + newLayout, e);
} catch (InflateException e) {
+ Log.w(TAG, "load keyboard failed: " + e);
tryGC = LatinIMEUtil.GCUtils.getInstance().tryGCOrWait(
mLayoutId + "," + newLayout, e);
}
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboard.java b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
index c6e911680..cae0b10b3 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -37,6 +37,7 @@ import android.view.ViewConfiguration;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
+import java.util.Map;
public class LatinKeyboard extends BaseKeyboard {
@@ -45,7 +46,6 @@ public class LatinKeyboard extends BaseKeyboard {
private static final int OPACITY_FULLY_OPAQUE = 255;
private static final int SPACE_LED_LENGTH_PERCENT = 80;
- private final Drawable mShiftedIcon;
private Drawable mShiftLockPreviewIcon;
private final HashMap<Key, Drawable> mNormalShiftIcons = new HashMap<Key, Drawable>();
private Drawable mSpaceIcon;
@@ -89,11 +89,9 @@ public class LatinKeyboard extends BaseKeyboard {
mContext = context;
mRes = res;
if (id.mColorScheme == BaseKeyboardView.COLOR_SCHEME_BLACK) {
- mShiftedIcon = res.getDrawable(R.drawable.sym_bkeyboard_shift_locked);
mSpaceBarTextShadowColor = res.getColor(
R.color.latinkeyboard_bar_language_shadow_black);
} else { // default color scheme is BaseKeyboardView.COLOR_SCHEME_WHITE
- mShiftedIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
mSpaceBarTextShadowColor = res.getColor(
R.color.latinkeyboard_bar_language_shadow_white);
}
@@ -132,9 +130,10 @@ public class LatinKeyboard extends BaseKeyboard {
}
public boolean setShiftLocked(boolean newShiftLockState) {
+ final Map<Key, Drawable> shiftedIcons = getShiftedIcons();
for (final Key key : getShiftKeys()) {
key.on = newShiftLockState;
- key.icon = newShiftLockState ? mShiftedIcon : mNormalShiftIcons.get(key);
+ key.icon = newShiftLockState ? shiftedIcons.get(key) : mNormalShiftIcons.get(key);
}
mShiftState.setShiftLocked(newShiftLockState);
return true;
@@ -149,11 +148,12 @@ public class LatinKeyboard extends BaseKeyboard {
if (getShiftKeys().size() == 0)
return super.setShifted(newShiftState);
+ final Map<Key, Drawable> shiftedIcons = getShiftedIcons();
for (final Key key : getShiftKeys()) {
if (!newShiftState && !mShiftState.isShiftLocked()) {
key.icon = mNormalShiftIcons.get(key);
} else if (newShiftState && !mShiftState.isShiftedOrShiftLocked()) {
- key.icon = mShiftedIcon;
+ key.icon = shiftedIcons.get(key);
}
}
return mShiftState.setShifted(newShiftState);