aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_normal.9.pngbin0 -> 737 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.pngbin0 -> 941 bytes
-rw-r--r--java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.pngbin0 -> 2691 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.pngbin0 -> 1076 bytes
-rw-r--r--java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.pngbin0 -> 2720 bytes
-rw-r--r--java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.pngbin0 -> 2517 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.pngbin0 -> 733 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.pngbin0 -> 964 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.pngbin0 -> 1055 bytes
-rwxr-xr-xjava/res/drawable-land-hdpi/keyboard_suggest_strip_divider.pngbin0 -> 172 bytes
-rw-r--r--java/res/drawable-land-mdpi/hint_popup_holo.9.pngbin0 -> 1180 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_at_holo.9.pngbin1324 -> 1541 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_at_large_holo.9.pngbin719 -> 1647 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_exclamation_holo.9.pngbin1344 -> 1258 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_exclamation_large_holo.9.pngbin2048 -> 1337 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_question_holo.9.pngbin1508 -> 1364 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_question_large_holo.9.pngbin2469 -> 1473 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_quote_holo.9.pngbin1315 -> 1217 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_quote_large_holo.9.pngbin549 -> 1249 bytes
-rw-r--r--java/res/drawable-land-mdpi/key_hint_underline_holo.9.pngbin1163 -> 1128 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.pngbin1297 -> 1297 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin1508 -> 1496 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin1806 -> 1804 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin1437 -> 1396 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin1594 -> 1526 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin1897 -> 1886 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.pngbin1413 -> 1402 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.pngbin252 -> 1004 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.pngbin1493 -> 1487 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.pngbin1018 -> 1035 bytes
-rw-r--r--java/res/drawable-mdpi/cancel_holo.9.pngbin0 -> 2419 bytes
-rw-r--r--java/res/drawable-mdpi/hint_popup_holo.9.pngbin1300 -> 1180 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_at_holo.9.pngbin1538 -> 1541 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_at_large_holo.9.pngbin1644 -> 1647 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_exclamation_holo.9.pngbin1249 -> 1258 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_exclamation_large_holo.9.pngbin1328 -> 1337 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_question_holo.9.pngbin1346 -> 1364 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_question_large_holo.9.pngbin1463 -> 1473 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_quote_holo.9.pngbin1209 -> 1217 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_quote_large_holo.9.pngbin1250 -> 1249 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_underline_holo.9.pngbin1128 -> 1128 bytes
-rw-r--r--java/res/drawable-mdpi/key_hint_underline_large_holo.9.pngbin1155 -> 1155 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_background_holo.9.pngbin1084 -> 1071 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.pngbin4400 -> 4504 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.pngbin4444 -> 4323 bytes
-rw-r--r--java/res/drawable-mdpi/mic_slash_holo.pngbin0 -> 4317 bytes
-rw-r--r--java/res/drawable-mdpi/ok_cancel_holo.9.pngbin0 -> 1331 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level0_holo.pngbin0 -> 3455 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level1_holo.pngbin0 -> 3675 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level2_holo.pngbin0 -> 3668 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level3_holo.pngbin0 -> 4032 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level4_holo.pngbin0 -> 4127 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level5_holo.pngbin0 -> 4141 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level6_holo.pngbin0 -> 3896 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete_holo.pngbin1420 -> 1452 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num0_holo.pngbin1759 -> 1752 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num1_holo.pngbin1325 -> 1324 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num2_holo.pngbin2397 -> 2403 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num3_holo.pngbin2143 -> 2143 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num4_holo.pngbin2060 -> 2063 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num5_holo.pngbin2022 -> 2025 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num6_holo.pngbin2498 -> 2502 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num7_holo.pngbin2540 -> 2540 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num8_holo.pngbin2237 -> 2226 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_num9_holo.pngbin2705 -> 2699 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_numbpound_holo.pngbin1548 -> 1548 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_numbstar_holo.pngbin1414 -> 1414 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return_holo.pngbin1419 -> 1417 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_holo.pngbin1681 -> 1683 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.pngbin1511 -> 1511 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_smiley_holo.pngbin1458 -> 1463 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_holo.pngbin1201 -> 1201 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_cs.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_da.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_de.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_en_gb.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_en_us.pngbin0 -> 2390 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_es.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_es_us.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_fr.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_fr_ca.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_it.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_nb.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_nl.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_ru.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_sr.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_keyboard_sv.pngbin0 -> 2367 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_cs.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_de.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_en_au.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_en_gb.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_en_in.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_en_nz.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_en_us.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_es.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_fr.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_ja.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_ko.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_pl.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_pt.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_ru.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_tr.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_zh_cn.pngbin0 -> 2557 bytes
-rw-r--r--java/res/drawable/ic_subtype_mic_zh_tw.pngbin0 -> 2557 bytes
-rw-r--r--java/res/layout/recognition_status.xml2
-rw-r--r--java/res/values-da/donottranslate-altchars.xml6
-rw-r--r--java/res/values-nb/donottranslate-altchars.xml5
-rw-r--r--java/res/values-sv/donottranslate-altchars.xml6
-rw-r--r--java/res/values-xlarge/bools.xml1
-rw-r--r--java/res/values/bools.xml1
-rw-r--r--java/res/values/donottranslate-altchars.xml8
-rw-r--r--java/res/values/strings.xml16
-rw-r--r--java/res/xml-da/kbd_qwerty.xml147
-rw-r--r--java/res/xml-de-xlarge/kbd_qwerty.xml30
-rw-r--r--java/res/xml-de/kbd_qwerty.xml133
-rw-r--r--java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml30
-rw-r--r--java/res/xml-fr-rCA/kbd_qwerty.xml30
-rw-r--r--java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml30
-rw-r--r--java/res/xml-fr-rCH/kbd_qwerty.xml30
-rw-r--r--java/res/xml-fr-xlarge/kbd_qwerty.xml30
-rw-r--r--java/res/xml-fr/kbd_qwerty.xml133
-rw-r--r--java/res/xml-iw/kbd_qwerty.xml8
-rw-r--r--java/res/xml-nb/kbd_qwerty.xml147
-rw-r--r--java/res/xml-ru/kbd_qwerty.xml17
-rw-r--r--java/res/xml-sr/kbd_qwerty.xml17
-rw-r--r--java/res/xml-sv/kbd_qwerty.xml146
-rw-r--r--java/res/xml-xlarge/kbd_azerty_rows.xml190
-rw-r--r--java/res/xml-xlarge/kbd_key_styles.xml1
-rw-r--r--java/res/xml-xlarge/kbd_qwerty.xml10
-rw-r--r--java/res/xml-xlarge/kbd_qwerty_rows.xml34
-rw-r--r--java/res/xml-xlarge/kbd_qwertz_rows.xml143
-rw-r--r--java/res/xml/kbd_azerty_rows.xml155
-rw-r--r--java/res/xml/kbd_qwerty.xml126
-rw-r--r--java/res/xml/kbd_qwerty_row1.xml81
-rw-r--r--java/res/xml/kbd_qwerty_row2.xml60
-rw-r--r--java/res/xml/kbd_qwerty_row3.xml58
-rw-r--r--java/res/xml/kbd_qwerty_rows.xml34
-rw-r--r--java/res/xml/kbd_qwerty_rows_scandinavia.xml135
-rw-r--r--java/res/xml/kbd_qwertz_rows.xml121
-rw-r--r--java/res/xml/method.xml74
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIMESettings.java39
-rw-r--r--java/src/com/android/inputmethod/voice/VoiceIMEConnector.java104
142 files changed, 1409 insertions, 929 deletions
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png
new file mode 100755
index 000000000..603bf0e15
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png
new file mode 100755
index 000000000..6ddd516e7
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png
new file mode 100644
index 000000000..67a204f85
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png
new file mode 100755
index 000000000..65fdeb353
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png
new file mode 100644
index 000000000..63cbe60a3
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png
new file mode 100644
index 000000000..0dd33b429
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png
new file mode 100755
index 000000000..7ec915fe8
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png
new file mode 100755
index 000000000..439271723
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png
new file mode 100755
index 000000000..c2cc32044
--- /dev/null
+++ b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png
Binary files differ
diff --git a/java/res/drawable-land-hdpi/keyboard_suggest_strip_divider.png b/java/res/drawable-land-hdpi/keyboard_suggest_strip_divider.png
new file mode 100755
index 000000000..1a03c52e6
--- /dev/null
+++ b/java/res/drawable-land-hdpi/keyboard_suggest_strip_divider.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/hint_popup_holo.9.png b/java/res/drawable-land-mdpi/hint_popup_holo.9.png
new file mode 100644
index 000000000..c409cea00
--- /dev/null
+++ b/java/res/drawable-land-mdpi/hint_popup_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_at_holo.9.png b/java/res/drawable-land-mdpi/key_hint_at_holo.9.png
index 011b41b5f..627e7a0ee 100644
--- a/java/res/drawable-land-mdpi/key_hint_at_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_at_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_at_large_holo.9.png b/java/res/drawable-land-mdpi/key_hint_at_large_holo.9.png
index eaad0664c..9569217ae 100644
--- a/java/res/drawable-land-mdpi/key_hint_at_large_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_at_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_exclamation_holo.9.png b/java/res/drawable-land-mdpi/key_hint_exclamation_holo.9.png
index badcfb2ec..89c5aae85 100644
--- a/java/res/drawable-land-mdpi/key_hint_exclamation_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_exclamation_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_exclamation_large_holo.9.png b/java/res/drawable-land-mdpi/key_hint_exclamation_large_holo.9.png
index 6511822ab..932bcb99b 100644
--- a/java/res/drawable-land-mdpi/key_hint_exclamation_large_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_exclamation_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_question_holo.9.png b/java/res/drawable-land-mdpi/key_hint_question_holo.9.png
index 0cfb7120e..8373b69d1 100644
--- a/java/res/drawable-land-mdpi/key_hint_question_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_question_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_question_large_holo.9.png b/java/res/drawable-land-mdpi/key_hint_question_large_holo.9.png
index d205ef83d..a9eaeea33 100644
--- a/java/res/drawable-land-mdpi/key_hint_question_large_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_question_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_quote_holo.9.png b/java/res/drawable-land-mdpi/key_hint_quote_holo.9.png
index fbe2296af..01a3a9a36 100644
--- a/java/res/drawable-land-mdpi/key_hint_quote_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_quote_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_quote_large_holo.9.png b/java/res/drawable-land-mdpi/key_hint_quote_large_holo.9.png
index 074d619c9..7cba264c2 100644
--- a/java/res/drawable-land-mdpi/key_hint_quote_large_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_quote_large_holo.9.png
Binary files differ
diff --git a/java/res/drawable-land-mdpi/key_hint_underline_holo.9.png b/java/res/drawable-land-mdpi/key_hint_underline_holo.9.png
index 21d548732..a95a575e5 100644
--- a/java/res/drawable-land-mdpi/key_hint_underline_holo.9.png
+++ b/java/res/drawable-land-mdpi/key_hint_underline_holo.9.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 0aa920ed9..8002da2c5 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 5088ae416..506feece7 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 d2f0d170c..9c34ccc5c 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 890e9be70..f33e4cb0c 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 e73e7f653..f6882c0bb 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 4c0015ba9..e86eea71b 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 75c2ae946..a8375d432 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_popup_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
index 02d0fcf93..b4a50f282 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.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 c7492bf67..47188652a 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
index 2fadf53dc..dc41d58ce 100644
--- 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
Binary files differ
diff --git a/java/res/drawable-mdpi/cancel_holo.9.png b/java/res/drawable-mdpi/cancel_holo.9.png
new file mode 100644
index 000000000..74f967eb9
--- /dev/null
+++ b/java/res/drawable-mdpi/cancel_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
index 0d861faa7..c409cea00 100644
--- a/java/res/drawable-mdpi/hint_popup_holo.9.png
+++ 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 70917cf28..627e7a0ee 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 df197b044..9569217ae 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 d59c7a6eb..89c5aae85 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 0fb6d28f7..932bcb99b 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 32b382d1a..8373b69d1 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 7a0643bc3..a9eaeea33 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 dc0f74fa8..01a3a9a36 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 59696fac7..7cba264c2 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 5dcf38231..a95a575e5 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 1211844ba..bef74c184 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
index 915fcf053..0ea57c09e 100644
--- a/java/res/drawable-mdpi/keyboard_background_holo.9.png
+++ b/java/res/drawable-mdpi/keyboard_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
index 94cd91ebf..8cfd7cf57 100644
--- 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
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
index b3e04cd50..c5d938dc4 100644
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
+++ b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/mic_slash_holo.png b/java/res/drawable-mdpi/mic_slash_holo.png
new file mode 100644
index 000000000..8108b6e13
--- /dev/null
+++ b/java/res/drawable-mdpi/mic_slash_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ok_cancel_holo.9.png b/java/res/drawable-mdpi/ok_cancel_holo.9.png
new file mode 100644
index 000000000..5eb078c70
--- /dev/null
+++ b/java/res/drawable-mdpi/ok_cancel_holo.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level0_holo.png b/java/res/drawable-mdpi/speak_now_level0_holo.png
new file mode 100644
index 000000000..2a4fbd839
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level0_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level1_holo.png b/java/res/drawable-mdpi/speak_now_level1_holo.png
new file mode 100644
index 000000000..dd35b1826
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level1_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level2_holo.png b/java/res/drawable-mdpi/speak_now_level2_holo.png
new file mode 100644
index 000000000..e3e42c458
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level2_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level3_holo.png b/java/res/drawable-mdpi/speak_now_level3_holo.png
new file mode 100644
index 000000000..7cf104e1f
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level3_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level4_holo.png b/java/res/drawable-mdpi/speak_now_level4_holo.png
new file mode 100644
index 000000000..baad6ca58
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level4_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level5_holo.png b/java/res/drawable-mdpi/speak_now_level5_holo.png
new file mode 100644
index 000000000..34c161eaf
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level5_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level6_holo.png b/java/res/drawable-mdpi/speak_now_level6_holo.png
new file mode 100644
index 000000000..e6b26d139
--- /dev/null
+++ b/java/res/drawable-mdpi/speak_now_level6_holo.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
index 3a76047d5..9f1bfe87f 100644
--- a/java/res/drawable-mdpi/sym_keyboard_delete_holo.png
+++ 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
index 9ded731c3..2bb2a8bb9 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num0_holo.png
+++ 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
index d5796f21e..0e0553723 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num1_holo.png
+++ 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
index 53fe35090..3b2a55004 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num2_holo.png
+++ 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
index 9301d48d7..0d829bfd9 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num3_holo.png
+++ 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
index fce381c7f..d676a1c16 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num4_holo.png
+++ 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
index 4ccb2ca0f..d47f2d5f4 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num5_holo.png
+++ 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
index 1653f64fc..8e9138e9b 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num6_holo.png
+++ 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
index 8a1892e34..7453b6b6c 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num7_holo.png
+++ 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
index 97839dc50..b59885f7e 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num8_holo.png
+++ 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
index cc8acaaab..db465f755 100644
--- a/java/res/drawable-mdpi/sym_keyboard_num9_holo.png
+++ 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
index fe1f07525..32f736c31 100644
--- a/java/res/drawable-mdpi/sym_keyboard_numbpound_holo.png
+++ 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
index 6d3175ac8..4fe9e6ae6 100644
--- a/java/res/drawable-mdpi/sym_keyboard_numbstar_holo.png
+++ 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
index d7c5318f4..695a163c8 100644
--- a/java/res/drawable-mdpi/sym_keyboard_return_holo.png
+++ 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
index 920068a3c..8f5db5da1 100644
--- a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
+++ b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
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
index fee4b9862..0305827ba 100644
--- a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png
+++ 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
index b47be2ddf..302ea0f05 100644
--- a/java/res/drawable-mdpi/sym_keyboard_smiley_holo.png
+++ 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
index 11fa4d826..ec21a4fd8 100644
--- a/java/res/drawable-mdpi/sym_keyboard_space_holo.png
+++ b/java/res/drawable-mdpi/sym_keyboard_space_holo.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_cs.png b/java/res/drawable/ic_subtype_keyboard_cs.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_cs.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_da.png b/java/res/drawable/ic_subtype_keyboard_da.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_da.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_de.png b/java/res/drawable/ic_subtype_keyboard_de.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_de.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_en_gb.png b/java/res/drawable/ic_subtype_keyboard_en_gb.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_en_gb.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_en_us.png b/java/res/drawable/ic_subtype_keyboard_en_us.png
new file mode 100644
index 000000000..8ed6cc8b2
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_en_us.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_es.png b/java/res/drawable/ic_subtype_keyboard_es.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_es.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_es_us.png b/java/res/drawable/ic_subtype_keyboard_es_us.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_es_us.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_fr.png b/java/res/drawable/ic_subtype_keyboard_fr.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_fr.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_fr_ca.png b/java/res/drawable/ic_subtype_keyboard_fr_ca.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_fr_ca.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_it.png b/java/res/drawable/ic_subtype_keyboard_it.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_it.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_nb.png b/java/res/drawable/ic_subtype_keyboard_nb.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_nb.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_nl.png b/java/res/drawable/ic_subtype_keyboard_nl.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_nl.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_ru.png b/java/res/drawable/ic_subtype_keyboard_ru.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_ru.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_sr.png b/java/res/drawable/ic_subtype_keyboard_sr.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_sr.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_keyboard_sv.png b/java/res/drawable/ic_subtype_keyboard_sv.png
new file mode 100644
index 000000000..ef5fe4b3c
--- /dev/null
+++ b/java/res/drawable/ic_subtype_keyboard_sv.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_cs.png b/java/res/drawable/ic_subtype_mic_cs.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_cs.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_de.png b/java/res/drawable/ic_subtype_mic_de.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_de.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_en_au.png b/java/res/drawable/ic_subtype_mic_en_au.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_en_au.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_en_gb.png b/java/res/drawable/ic_subtype_mic_en_gb.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_en_gb.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_en_in.png b/java/res/drawable/ic_subtype_mic_en_in.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_en_in.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_en_nz.png b/java/res/drawable/ic_subtype_mic_en_nz.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_en_nz.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_en_us.png b/java/res/drawable/ic_subtype_mic_en_us.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_en_us.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_es.png b/java/res/drawable/ic_subtype_mic_es.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_es.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_fr.png b/java/res/drawable/ic_subtype_mic_fr.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_fr.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_ja.png b/java/res/drawable/ic_subtype_mic_ja.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_ja.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_ko.png b/java/res/drawable/ic_subtype_mic_ko.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_ko.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_pl.png b/java/res/drawable/ic_subtype_mic_pl.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_pl.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_pt.png b/java/res/drawable/ic_subtype_mic_pt.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_pt.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_ru.png b/java/res/drawable/ic_subtype_mic_ru.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_ru.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_tr.png b/java/res/drawable/ic_subtype_mic_tr.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_tr.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_zh_cn.png b/java/res/drawable/ic_subtype_mic_zh_cn.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_zh_cn.png
Binary files differ
diff --git a/java/res/drawable/ic_subtype_mic_zh_tw.png b/java/res/drawable/ic_subtype_mic_zh_tw.png
new file mode 100644
index 000000000..03c0b6982
--- /dev/null
+++ b/java/res/drawable/ic_subtype_mic_zh_tw.png
Binary files differ
diff --git a/java/res/layout/recognition_status.xml b/java/res/layout/recognition_status.xml
index 49af77360..ea2d9eefe 100644
--- a/java/res/layout/recognition_status.xml
+++ b/java/res/layout/recognition_status.xml
@@ -57,7 +57,7 @@
android:layout_width="wrap_content"
android:layout_marginTop="20dip"
android:layout_gravity="center_horizontal"
- android:src="@drawable/mic_slash"
+ android:src="@drawable/mic_slash_holo"
/>
<ProgressBar android:id="@+id/progress"
diff --git a/java/res/values-da/donottranslate-altchars.xml b/java/res/values-da/donottranslate-altchars.xml
index b1cc8b627..596994ca4 100644
--- a/java/res/values-da/donottranslate-altchars.xml
+++ b/java/res/values-da/donottranslate-altchars.xml
@@ -33,6 +33,8 @@
<string name="alternates_for_z">źžż</string>
<string name="alternates_for_l">ł</string>
<string name="alternates_for_v">w</string>
- <string name="alternates_for_ae">ä</string>
- <string name="alternates_for_oe">öœ</string>
+ <string name="keylabel_for_scandinavia_row2_10">æ</string>
+ <string name="keylabel_for_scandinavia_row2_11">ø</string>
+ <string name="alternates_for_scandinavia_row2_10">ä</string>
+ <string name="alternates_for_scandinavia_row2_11">öœ</string>
</resources>
diff --git a/java/res/values-nb/donottranslate-altchars.xml b/java/res/values-nb/donottranslate-altchars.xml
index 6257dfc31..264402987 100644
--- a/java/res/values-nb/donottranslate-altchars.xml
+++ b/java/res/values-nb/donottranslate-altchars.xml
@@ -33,5 +33,8 @@
<string name="alternates_for_z">źžż</string>
<string name="alternates_for_l">ł</string>
<string name="alternates_for_v">w</string>
- <string name="alternates_for_oe">œ</string>
+ <string name="keylabel_for_scandinavia_row2_10">ø</string>
+ <string name="keylabel_for_scandinavia_row2_11">æ</string>
+ <string name="alternates_for_scandinavia_row2_10">ö</string>
+ <string name="alternates_for_scandinavia_row2_11">ä</string>
</resources>
diff --git a/java/res/values-sv/donottranslate-altchars.xml b/java/res/values-sv/donottranslate-altchars.xml
index 4d26e6c47..902a4c9bb 100644
--- a/java/res/values-sv/donottranslate-altchars.xml
+++ b/java/res/values-sv/donottranslate-altchars.xml
@@ -33,6 +33,8 @@
<string name="alternates_for_z">źžż</string>
<string name="alternates_for_l">ł</string>
<string name="alternates_for_v">w</string>
- <string name="alternates_for_a_umlaut">æ</string>
- <string name="alternates_for_o_umlaut">øœ</string>
+ <string name="keylabel_for_scandinavia_row2_10">ö</string>
+ <string name="keylabel_for_scandinavia_row2_11">ä</string>
+ <string name="alternates_for_scandinavia_row2_10">øœ</string>
+ <string name="alternates_for_scandinavia_row2_11">æ</string>
</resources>
diff --git a/java/res/values-xlarge/bools.xml b/java/res/values-xlarge/bools.xml
index 66cfd9d79..8c68d9dc3 100644
--- a/java/res/values-xlarge/bools.xml
+++ b/java/res/values-xlarge/bools.xml
@@ -21,4 +21,5 @@
<!-- Whether or not Popup on key press is enabled by default -->
<bool name="default_popup_preview">false</bool>
<bool name="config_enable_show_settings_key_option">false</bool>
+ <bool name="config_enable_show_voice_key_option">false</bool>
</resources>
diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml
index 64d05bd17..2be95458e 100644
--- a/java/res/values/bools.xml
+++ b/java/res/values/bools.xml
@@ -31,4 +31,5 @@
<bool name="default_recorrection_enabled">true</bool>
<bool name="config_long_press_comma_for_settings_enabled">true</bool>
<bool name="config_enable_show_settings_key_option">true</bool>
+ <bool name="config_enable_show_voice_key_option">true</bool>
</resources>
diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml
index bba7282c9..41c498ee3 100644
--- a/java/res/values/donottranslate-altchars.xml
+++ b/java/res/values/donottranslate-altchars.xml
@@ -37,10 +37,10 @@
<string name="alternates_for_g"></string>
<string name="alternates_for_p">0</string>
<string name="alternates_for_v"></string>
- <string name="alternates_for_ae"></string>
- <string name="alternates_for_oe"></string>
+ <string name="keylabel_for_scandinavia_row2_10"></string>
+ <string name="keylabel_for_scandinavia_row2_11"></string>
+ <string name="alternates_for_scandinavia_row2_10"></string>
+ <string name="alternates_for_scandinavia_row2_11"></string>
<string name="alternates_for_cyrillic_e"></string>
<string name="alternates_for_cyrillic_soft_sign"></string>
- <string name="alternates_for_a_umlaut"></string>
- <string name="alternates_for_o_umlaut"></string>
</resources>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 5daa98935..63c9f4213 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -248,15 +248,15 @@
<!-- Message of the warning dialog that shows when a user initiates voice input for
the first time, or turns it on in settings. -->
- <string name="voice_warning_may_not_understand">Voice input is an experimental feature using Google\'s networked speech recognition.</string>
+ <string name="voice_warning_may_not_understand">Voice input uses Google\'s speech recognition. <a href="http://m.google.com/privacy">The Mobile Privacy Policy</a> applies.</string>
<!-- An additional part of the warning dialog for voice input that only shows when the user
actually initiates voice input, rather than just turning it on in settings. -->
- <string name="voice_warning_how_to_turn_off">To turn off voice input, go to keyboard settings.</string>
-
- <!-- Message to show when user clicks the swiping hint (which says
- "Swipe across keyboard to speak"). Also shown when enabling settings. -->
- <string name="voice_hint_dialog_message">To use voice input, press the microphone button or slide your finger across the on-screen keyboard.</string>
+ <string name="voice_warning_how_to_turn_off">To turn off voice input, go to input method settings.</string>
+
+ <!-- Message to show when user enables the voice input settings (which says
+ "Press the microphone button"). -->
+ <string name="voice_hint_dialog_message">To use voice input, press the microphone button.</string>
<!-- Short message to tell the user the system is ready for them to speak. -->
<string name="voice_listening">Speak now</string>
@@ -399,9 +399,9 @@
<string name="subtype_mode_en_US_keyboard">English (United States) Keyboard</string>
<string name="subtype_mode_en_GB_keyboard">English (Great Britain) Keyboard</string>
<string name="subtype_mode_es_keyboard">Spanish Keyboard</string>
- <string name="subtype_mode_es_rUS_keyboard">Spanish (United States) Keyboard</string>
+ <string name="subtype_mode_es_US_keyboard">Spanish (United States) Keyboard</string>
<string name="subtype_mode_fr_keyboard">French Keyboard</string>
- <string name="subtype_mode_fr_rCA_keyboard">French (Canada) Keyboard</string>
+ <string name="subtype_mode_fr_CA_keyboard">French (Canada) Keyboard</string>
<string name="subtype_mode_it_keyboard">Italian Keyboard</string>
<string name="subtype_mode_nb_keyboard">Norwegian Keyboard</string>
<string name="subtype_mode_nl_keyboard">Dutch Keyboard</string>
diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml
index f1f9904e3..ac30b00bb 100644
--- a/java/res/xml-da/kbd_qwerty.xml
+++ b/java/res/xml-da/kbd_qwerty.xml
@@ -31,149 +31,6 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="q"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p" />
- <Key
- latin:keyLabel="å"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="a"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l" />
- <Key
- latin:keyLabel="æ"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_ae" />
- <Key
- latin:keyLabel="ø"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_oe"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isSticky="true"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="z"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
- latin:keyEdgeFlags="right" />
- </Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
</Keyboard>
diff --git a/java/res/xml-de-xlarge/kbd_qwerty.xml b/java/res/xml-de-xlarge/kbd_qwerty.xml
new file mode 100644
index 000000000..8e8e692cd
--- /dev/null
+++ b/java/res/xml-de-xlarge/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwertz_rows" />
+</Keyboard>
diff --git a/java/res/xml-de/kbd_qwerty.xml b/java/res/xml-de/kbd_qwerty.xml
index 0832cbc92..8e8e692cd 100644
--- a/java/res/xml-de/kbd_qwerty.xml
+++ b/java/res/xml-de/kbd_qwerty.xml
@@ -25,135 +25,6 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="q"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="z"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Spacer
- latin:horizontalGap="5%p" />
- <Key
- latin:keyLabel="a"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isSticky="true"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="y"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
- latin:keyEdgeFlags="right" />
- </Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwertz_rows" />
</Keyboard>
diff --git a/java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml b/java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml
new file mode 100644
index 000000000..42f151560
--- /dev/null
+++ b/java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows" />
+</Keyboard>
diff --git a/java/res/xml-fr-rCA/kbd_qwerty.xml b/java/res/xml-fr-rCA/kbd_qwerty.xml
new file mode 100644
index 000000000..42f151560
--- /dev/null
+++ b/java/res/xml-fr-rCA/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows" />
+</Keyboard>
diff --git a/java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml b/java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml
new file mode 100644
index 000000000..8e8e692cd
--- /dev/null
+++ b/java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwertz_rows" />
+</Keyboard>
diff --git a/java/res/xml-fr-rCH/kbd_qwerty.xml b/java/res/xml-fr-rCH/kbd_qwerty.xml
new file mode 100644
index 000000000..8e8e692cd
--- /dev/null
+++ b/java/res/xml-fr-rCH/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwertz_rows" />
+</Keyboard>
diff --git a/java/res/xml-fr-xlarge/kbd_qwerty.xml b/java/res/xml-fr-xlarge/kbd_qwerty.xml
new file mode 100644
index 000000000..8d68a554b
--- /dev/null
+++ b/java/res/xml-fr-xlarge/kbd_qwerty.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ latin:keyWidth="10%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:keyHeight="@dimen/key_height"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_azerty_rows" />
+</Keyboard>
diff --git a/java/res/xml-fr/kbd_qwerty.xml b/java/res/xml-fr/kbd_qwerty.xml
index 95c107382..8d68a554b 100644
--- a/java/res/xml-fr/kbd_qwerty.xml
+++ b/java/res/xml-fr/kbd_qwerty.xml
@@ -25,135 +25,6 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="a"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="z"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="q"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l" />
- <Key
- latin:keyLabel="m"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isSticky="true"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="\'" />
- <Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
- latin:keyEdgeFlags="right" />
- </Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_azerty_rows" />
</Keyboard>
diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml
index fd94a1202..514f93572 100644
--- a/java/res/xml-iw/kbd_qwerty.xml
+++ b/java/res/xml-iw/kbd_qwerty.xml
@@ -25,6 +25,8 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:rowEdgeFlags="top"
>
@@ -50,12 +52,8 @@
<Spacer
latin:horizontalGap="1.25%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="13.75%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
diff --git a/java/res/xml-nb/kbd_qwerty.xml b/java/res/xml-nb/kbd_qwerty.xml
index 32512daaa..fe33e5384 100644
--- a/java/res/xml-nb/kbd_qwerty.xml
+++ b/java/res/xml-nb/kbd_qwerty.xml
@@ -31,149 +31,6 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="q"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p" />
- <Key
- latin:keyLabel="å"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="a"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l" />
- <Key
- latin:keyLabel="ø"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_oe" />
- <Key
- latin:keyLabel="æ"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_ae"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isSticky="true"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="z"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
- latin:keyEdgeFlags="right" />
- </Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
</Keyboard>
diff --git a/java/res/xml-ru/kbd_qwerty.xml b/java/res/xml-ru/kbd_qwerty.xml
index 80a9ddd4f..d5744c94e 100644
--- a/java/res/xml-ru/kbd_qwerty.xml
+++ b/java/res/xml-ru/kbd_qwerty.xml
@@ -25,6 +25,8 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:rowEdgeFlags="top"
>
@@ -117,12 +119,8 @@
latin:keyWidth="8.5%p"
>
<Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:keyStyle="shiftKeyStyle"
latin:keyWidth="11.75%p"
- latin:isModifier="true"
- latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="я" />
@@ -145,13 +143,10 @@
<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="11.75%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</Keyboard>
diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml
index c9a4e449c..77e764788 100644
--- a/java/res/xml-sr/kbd_qwerty.xml
+++ b/java/res/xml-sr/kbd_qwerty.xml
@@ -26,6 +26,8 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:rowEdgeFlags="top"
>
@@ -116,12 +118,8 @@
latin:keyWidth="8.5%p"
>
<Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:keyStyle="shiftKeyStyle"
latin:keyWidth="11.75%p"
- latin:isModifier="true"
- latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ж" />
@@ -138,13 +136,10 @@
<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="11.75%p"
- latin:isModifier="true"
- latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</Keyboard>
diff --git a/java/res/xml-sv/kbd_qwerty.xml b/java/res/xml-sv/kbd_qwerty.xml
index ae7002463..464a463a1 100644
--- a/java/res/xml-sv/kbd_qwerty.xml
+++ b/java/res/xml-sv/kbd_qwerty.xml
@@ -33,148 +33,6 @@
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="q"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p" />
- <Key
- latin:keyLabel="å"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="a"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l" />
- <Key
- latin:keyLabel="ö"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_o_umlaut" />
- <Key
- latin:keyLabel="ä"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a_umlaut"
- latin:keyWidth="8.75%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:codes="@integer/key_shift"
- latin:keyIcon="@drawable/sym_keyboard_shift"
- latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
- latin:keyWidth="15%p"
- latin:isModifier="true"
- latin:isSticky="true"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="z"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:codes="@integer/key_delete"
- latin:keyIcon="@drawable/sym_keyboard_delete"
- latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
- latin:keyWidth="15%p"
- latin:isRepeatable="true"
- latin:keyEdgeFlags="right" />
- </Row>
- <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
</Keyboard>
diff --git a/java/res/xml-xlarge/kbd_azerty_rows.xml b/java/res/xml-xlarge/kbd_azerty_rows.xml
new file mode 100644
index 000000000..b68e21481
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_azerty_rows.xml
@@ -0,0 +1,190 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="a"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_a" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.157%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="10.167%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyLabel="m"
+ latin:keyEdgeFlags="right" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="8.593%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="\'"
+ latin:manualTemporaryUpperCaseCode="58"
+ latin:keyHintIcon="@drawable/key_hint_colon_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters=":" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-xlarge/kbd_key_styles.xml b/java/res/xml-xlarge/kbd_key_styles.xml
index 0643bc344..60455a617 100644
--- a/java/res/xml-xlarge/kbd_key_styles.xml
+++ b/java/res/xml-xlarge/kbd_key_styles.xml
@@ -144,6 +144,7 @@
latin:styleName="comKeyStyle"
latin:keyLabel=".com"
latin:keyLabelOption="fontNormal"
+ latin:keyOutputText=".com"
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupKeyboard="@xml/popup_domains" />
</merge>
diff --git a/java/res/xml-xlarge/kbd_qwerty.xml b/java/res/xml-xlarge/kbd_qwerty.xml
index 6f6877b0b..56cfe000e 100644
--- a/java/res/xml-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-xlarge/kbd_qwerty.xml
@@ -25,13 +25,5 @@
latin:keyHeight="@dimen/key_height"
>
<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" />
+ latin:keyboardLayout="@xml/kbd_qwerty_rows" />
</Keyboard>
diff --git a/java/res/xml-xlarge/kbd_qwerty_rows.xml b/java/res/xml-xlarge/kbd_qwerty_rows.xml
new file mode 100644
index 000000000..6237712f6
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_qwerty_rows.xml
@@ -0,0 +1,34 @@
+<?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"
+>
+ <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" />
+</merge>
diff --git a/java/res/xml-xlarge/kbd_qwertz_rows.xml b/java/res/xml-xlarge/kbd_qwertz_rows.xml
new file mode 100644
index 000000000..de15b5fd6
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_qwertz_rows.xml
@@ -0,0 +1,143 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row2" />
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="m" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/kbd_azerty_rows.xml b/java/res/xml/kbd_azerty_rows.xml
new file mode 100644
index 000000000..c06724c49
--- /dev/null
+++ b/java/res/xml/kbd_azerty_rows.xml
@@ -0,0 +1,155 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="10%p"
+ latin:rowEdgeFlags="top"
+ >
+ <Key
+ latin:keyLabel="a"
+ latin:keyHintIcon="@drawable/keyboard_hint_1"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_a"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="z"
+ latin:keyHintIcon="@drawable/keyboard_hint_2"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="e"
+ latin:keyHintIcon="@drawable/keyboard_hint_3"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:keyHintIcon="@drawable/keyboard_hint_4"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:keyHintIcon="@drawable/keyboard_hint_5"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:keyHintIcon="@drawable/keyboard_hint_6"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:keyHintIcon="@drawable/keyboard_hint_7"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:keyHintIcon="@drawable/keyboard_hint_8"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:keyHintIcon="@drawable/keyboard_hint_9"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:keyHintIcon="@drawable/keyboard_hint_0"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Key
+ latin:keyLabel="q"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyLabel="m"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="\'" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml
index b75f53399..42f151560 100644
--- a/java/res/xml/kbd_qwerty.xml
+++ b/java/res/xml/kbd_qwerty.xml
@@ -26,129 +26,5 @@
latin:keyHeight="@dimen/key_height"
>
<include
- latin:keyboardLayout="@xml/kbd_key_styles" />
- <Row
- latin:rowEdgeFlags="top"
- >
- <Key
- latin:keyLabel="q"
- latin:keyHintIcon="@drawable/keyboard_hint_1"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_q"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="w"
- latin:keyHintIcon="@drawable/keyboard_hint_2"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintIcon="@drawable/keyboard_hint_3"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintIcon="@drawable/keyboard_hint_4"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintIcon="@drawable/keyboard_hint_5"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintIcon="@drawable/keyboard_hint_6"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintIcon="@drawable/keyboard_hint_7"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintIcon="@drawable/keyboard_hint_8"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintIcon="@drawable/keyboard_hint_9"
- latin:popupKeyboard="@xml/kbd_popup_narrow_template"
- latin:popupCharacters="@string/alternates_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintIcon="@drawable/keyboard_hint_0"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_p"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Spacer
- latin:horizontalGap="5%p" />
- <Key
- latin:keyLabel="a"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_a"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="s"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_s" />
- <Key
- latin:keyLabel="d"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_g" />
- <Key
- latin:keyLabel="h" />
- <Key
- latin:keyLabel="j" />
- <Key
- latin:keyLabel="k" />
- <Key
- latin:keyLabel="l"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_l"
- latin:keyEdgeFlags="right" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="z"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_z" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_c" />
- <Key
- latin:keyLabel="v"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:popupKeyboard="@xml/kbd_popup_template"
- latin:popupCharacters="@string/alternates_for_n" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
- latin:keyEdgeFlags="right" />
- </Row>
- <include
- latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+ latin:keyboardLayout="@xml/kbd_qwerty_rows" />
</Keyboard>
diff --git a/java/res/xml/kbd_qwerty_row1.xml b/java/res/xml/kbd_qwerty_row1.xml
new file mode 100644
index 000000000..e4356a8ad
--- /dev/null
+++ b/java/res/xml/kbd_qwerty_row1.xml
@@ -0,0 +1,81 @@
+<?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"
+>
+ <Row
+ latin:keyWidth="10%p"
+ latin:rowEdgeFlags="top"
+ >
+ <Key
+ latin:keyLabel="q"
+ latin:keyHintIcon="@drawable/keyboard_hint_1"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:keyHintIcon="@drawable/keyboard_hint_2"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:keyHintIcon="@drawable/keyboard_hint_3"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:keyHintIcon="@drawable/keyboard_hint_4"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:keyHintIcon="@drawable/keyboard_hint_5"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:keyHintIcon="@drawable/keyboard_hint_6"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:keyHintIcon="@drawable/keyboard_hint_7"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:keyHintIcon="@drawable/keyboard_hint_8"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:keyHintIcon="@drawable/keyboard_hint_9"
+ latin:popupKeyboard="@xml/kbd_popup_narrow_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:keyHintIcon="@drawable/keyboard_hint_0"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml/kbd_qwerty_row2.xml b/java/res/xml/kbd_qwerty_row2.xml
new file mode 100644
index 000000000..d5184954f
--- /dev/null
+++ b/java/res/xml/kbd_qwerty_row2.xml
@@ -0,0 +1,60 @@
+<?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"
+>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Spacer
+ latin:horizontalGap="5%p" />
+ <Key
+ latin:keyLabel="a"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_a"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_l"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml/kbd_qwerty_row3.xml b/java/res/xml/kbd_qwerty_row3.xml
new file mode 100644
index 000000000..71a5f9c4a
--- /dev/null
+++ b/java/res/xml/kbd_qwerty_row3.xml
@@ -0,0 +1,58 @@
+<?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"
+>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="m" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml/kbd_qwerty_rows.xml b/java/res/xml/kbd_qwerty_rows.xml
new file mode 100644
index 000000000..6237712f6
--- /dev/null
+++ b/java/res/xml/kbd_qwerty_rows.xml
@@ -0,0 +1,34 @@
+<?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"
+>
+ <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" />
+</merge>
diff --git a/java/res/xml/kbd_qwerty_rows_scandinavia.xml b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
new file mode 100644
index 000000000..4fa2e6eda
--- /dev/null
+++ b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
@@ -0,0 +1,135 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="9.09%p"
+ latin:rowEdgeFlags="top"
+ >
+ <Key
+ latin:keyLabel="q"
+ latin:keyHintIcon="@drawable/keyboard_hint_1"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q"
+ latin:keyWidth="8.75%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:keyHintIcon="@drawable/keyboard_hint_2"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:keyHintIcon="@drawable/keyboard_hint_3"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:keyHintIcon="@drawable/keyboard_hint_4"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:keyHintIcon="@drawable/keyboard_hint_5"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:keyHintIcon="@drawable/keyboard_hint_6"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:keyHintIcon="@drawable/keyboard_hint_7"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:keyHintIcon="@drawable/keyboard_hint_8"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:keyHintIcon="@drawable/keyboard_hint_9"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:keyHintIcon="@drawable/keyboard_hint_0"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyLabel="å"
+ latin:keyWidth="8.75%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="9.09%p"
+ >
+ <Key
+ latin:keyLabel="a"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_a"
+ latin:keyWidth="8.75%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyLabel="@string/keylabel_for_scandinavia_row2_10"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" />
+ <Key
+ latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
+ latin:keyWidth="8.75%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row3" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/kbd_qwertz_rows.xml b/java/res/xml/kbd_qwertz_rows.xml
new file mode 100644
index 000000000..4dbb6412a
--- /dev/null
+++ b/java/res/xml/kbd_qwertz_rows.xml
@@ -0,0 +1,121 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="10%p"
+ latin:rowEdgeFlags="top"
+ >
+ <Key
+ latin:keyLabel="q"
+ latin:keyHintIcon="@drawable/keyboard_hint_1"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_q"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:keyHintIcon="@drawable/keyboard_hint_2"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:keyHintIcon="@drawable/keyboard_hint_3"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:keyHintIcon="@drawable/keyboard_hint_4"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:keyHintIcon="@drawable/keyboard_hint_5"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="z"
+ latin:keyHintIcon="@drawable/keyboard_hint_6"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="u"
+ latin:keyHintIcon="@drawable/keyboard_hint_7"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:keyHintIcon="@drawable/keyboard_hint_8"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:keyHintIcon="@drawable/keyboard_hint_9"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:keyHintIcon="@drawable/keyboard_hint_0"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row2" />
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupKeyboard="@xml/kbd_popup_template"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="m" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="15%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 74cb45fea..1ec301b32 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -20,7 +20,7 @@
<!-- The attributes in this XML file provide configuration information -->
<!-- for the Input Method Manager. -->
-<!-- Keyboard: en_US, cs, da, de, en_GB, es, es_rUS, fr, fr_rCA, it, nb, nl, sr, sv -->
+<!-- Keyboard: en_US, cs, da, de, en_GB, es, es_US, fr, fr_CA, it, nb, nl, sr, sv -->
<!-- Voice: cs, da, de, en_AU, en_GB, en_IN, en_NZ, en_US, es, fr, ko, ja, pl, pt, ru, tr, zh_CN, zh_TW -->
<!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
<!-- TODO: use <lang>_mic icon instead of a common mic icon. -->
@@ -29,162 +29,162 @@
android:isDefault="@bool/im_is_default">
<!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
subtype.-->
- <subtype android:icon="@drawable/ic_subtype_us_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_en_us"
android:label="@string/subtype_mode_en_US_keyboard"
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_cs"
android:label="@string/subtype_mode_cs_keyboard"
android:imeSubtypeLocale="cs"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_da"
android:label="@string/subtype_mode_da_keyboard"
android:imeSubtypeLocale="da"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_de"
android:label="@string/subtype_mode_de_keyboard"
android:imeSubtypeLocale="de"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_en_gb"
android:label="@string/subtype_mode_en_GB_keyboard"
android:imeSubtypeLocale="en_GB"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_es"
android:label="@string/subtype_mode_es_keyboard"
android:imeSubtypeLocale="es"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_mode_es_rUS_keyboard"
- android:imeSubtypeLocale="es_rUS"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_es_us"
+ android:label="@string/subtype_mode_es_US_keyboard"
+ android:imeSubtypeLocale="es_US"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_fr"
android:label="@string/subtype_mode_fr_keyboard"
android:imeSubtypeLocale="fr"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_mode_fr_rCA_keyboard"
- android:imeSubtypeLocale="fr_rCA"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_fr_ca"
+ android:label="@string/subtype_mode_fr_CA_keyboard"
+ android:imeSubtypeLocale="fr_CA"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_it"
android:label="@string/subtype_mode_it_keyboard"
android:imeSubtypeLocale="it"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_nb"
android:label="@string/subtype_mode_nb_keyboard"
android:imeSubtypeLocale="nb"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_nl"
android:label="@string/subtype_mode_nl_keyboard"
android:imeSubtypeLocale="nl"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_ru"
android:label="@string/subtype_mode_ru_keyboard"
android:imeSubtypeLocale="ru"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_sr"
android:label="@string/subtype_mode_sr_keyboard"
android:imeSubtypeLocale="sr"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_keyboard"
+ <subtype android:icon="@drawable/ic_subtype_keyboard_sv"
android:label="@string/subtype_mode_sv_keyboard"
android:imeSubtypeLocale="sv"
android:imeSubtypeMode="keyboard"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_cs"
android:label="@string/subtype_mode_cs_voice"
android:imeSubtypeLocale="cs"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_de"
android:label="@string/subtype_mode_de_voice"
android:imeSubtypeLocale="de"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_en_au"
android:label="@string/subtype_mode_en_AU_voice"
android:imeSubtypeLocale="en_AU"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_en_gb"
android:label="@string/subtype_mode_en_GB_voice"
android:imeSubtypeLocale="en_GB"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_en_in"
android:label="@string/subtype_mode_en_IN_voice"
android:imeSubtypeLocale="en_IN"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_en_nz"
android:label="@string/subtype_mode_en_NZ_voice"
android:imeSubtypeLocale="en_NZ"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_en_us"
android:label="@string/subtype_mode_en_US_voice"
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_es"
android:label="@string/subtype_mode_es_voice"
android:imeSubtypeLocale="es"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_fr"
android:label="@string/subtype_mode_fr_voice"
android:imeSubtypeLocale="fr"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_ko"
android:label="@string/subtype_mode_ko_voice"
android:imeSubtypeLocale="ko"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_ja"
android:label="@string/subtype_mode_ja_voice"
android:imeSubtypeLocale="ja"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_pl"
android:label="@string/subtype_mode_pl_voice"
android:imeSubtypeLocale="pl"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_pt"
android:label="@string/subtype_mode_pt_voice"
android:imeSubtypeLocale="pt"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_ru"
android:label="@string/subtype_mode_ru_voice"
android:imeSubtypeLocale="ru"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_tr"
android:label="@string/subtype_mode_tr_voice"
android:imeSubtypeLocale="tr"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_zh_cn"
android:label="@string/subtype_mode_zh_CN_voice"
android:imeSubtypeLocale="zh_CN"
android:imeSubtypeMode="voice"
/>
- <subtype android:icon="@drawable/ic_subtype_mic"
+ <subtype android:icon="@drawable/ic_subtype_mic_zh_tw"
android:label="@string/subtype_mode_zh_TW_voice"
android:imeSubtypeLocale="zh_TW"
android:imeSubtypeMode="voice"
diff --git a/java/src/com/android/inputmethod/latin/LatinIMESettings.java b/java/src/com/android/inputmethod/latin/LatinIMESettings.java
index 669192f59..ae6646113 100644
--- a/java/src/com/android/inputmethod/latin/LatinIMESettings.java
+++ b/java/src/com/android/inputmethod/latin/LatinIMESettings.java
@@ -32,7 +32,10 @@ import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
import android.speech.SpeechRecognizer;
import android.text.AutoText;
+import android.text.TextUtils;
+import android.text.method.LinkMovementMethod;
import android.util.Log;
+import android.widget.TextView;
import java.util.Locale;
@@ -60,6 +63,8 @@ public class LatinIMESettings extends PreferenceActivity
private CheckBoxPreference mBigramSuggestion;
private boolean mVoiceOn;
+ private AlertDialog mDialog;
+
private VoiceInputLogger mLogger;
private boolean mOkClicked = false;
@@ -91,8 +96,15 @@ public class LatinIMESettings extends PreferenceActivity
final boolean showSettingsKeyOption = getResources().getBoolean(
R.bool.config_enable_show_settings_key_option);
- if (!showSettingsKeyOption)
+ if (!showSettingsKeyOption) {
getPreferenceScreen().removePreference(mSettingsKeyPreference);
+ }
+
+ final boolean showVoiceKeyOption = getResources().getBoolean(
+ R.bool.config_enable_show_voice_key_option);
+ if (!showVoiceKeyOption) {
+ getPreferenceScreen().removePreference(mVoicePreference);
+ }
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
if (vibrator == null || !vibrator.hasVibrator()) {
@@ -149,6 +161,13 @@ public class LatinIMESettings extends PreferenceActivity
private void showVoiceConfirmation() {
mOkClicked = false;
showDialog(VOICE_INPUT_CONFIRM_DIALOG);
+ // Make URL in the dialog message clickable
+ if (mDialog != null) {
+ TextView textView = (TextView) mDialog.findViewById(android.R.id.message);
+ if (textView != null) {
+ textView.setMovementMethod(LinkMovementMethod.getInstance());
+ }
+ }
}
private void updateVoiceModeSummary() {
@@ -184,18 +203,20 @@ public class LatinIMESettings extends PreferenceActivity
boolean localeSupported = SubtypeSwitcher.getInstance().isVoiceSupported(
Locale.getDefault().toString());
+ final CharSequence message;
if (localeSupported) {
- String message = getString(R.string.voice_warning_may_not_understand) + "\n\n" +
- getString(R.string.voice_hint_dialog_message);
- builder.setMessage(message);
+ message = TextUtils.concat(
+ getText(R.string.voice_warning_may_not_understand), "\n\n",
+ getText(R.string.voice_hint_dialog_message));
} else {
- String message = getString(R.string.voice_warning_locale_not_supported) +
- "\n\n" + getString(R.string.voice_warning_may_not_understand) + "\n\n" +
- getString(R.string.voice_hint_dialog_message);
- builder.setMessage(message);
+ message = TextUtils.concat(
+ getText(R.string.voice_warning_locale_not_supported), "\n\n",
+ getText(R.string.voice_warning_may_not_understand), "\n\n",
+ getText(R.string.voice_hint_dialog_message));
}
-
+ builder.setMessage(message);
AlertDialog dialog = builder.create();
+ mDialog = dialog;
dialog.setOnDismissListener(this);
mLogger.settingsWarningDialogShown();
return dialog;
diff --git a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
index fd9559dae..5574a21de 100644
--- a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
+++ b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
@@ -27,11 +27,23 @@ import com.android.inputmethod.latin.SubtypeSwitcher;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.net.Uri;
import android.os.IBinder;
import android.preference.PreferenceManager;
+import android.provider.Browser;
import android.speech.SpeechRecognizer;
+import android.text.Layout;
+import android.text.Selection;
+import android.text.Spannable;
+import android.text.TextUtils;
+import android.text.method.LinkMovementMethod;
+import android.text.method.MovementMethod;
+import android.text.style.ClickableSpan;
+import android.text.style.URLSpan;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
@@ -41,6 +53,7 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
+import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
@@ -173,7 +186,7 @@ public class VoiceIMEConnector implements VoiceInput.UiListener {
switchToLastInputMethod();
}
});
- // When the dialog is dismissed by user's cancellation, swith back to the last input method.
+ // When the dialog is dismissed by user's cancellation, switch back to the last input method
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
@@ -182,16 +195,18 @@ public class VoiceIMEConnector implements VoiceInput.UiListener {
}
});
+ final CharSequence message;
if (mLocaleSupportedForVoiceInput) {
- String message = mContext.getString(R.string.voice_warning_may_not_understand)
- + "\n\n" + mContext.getString(R.string.voice_warning_how_to_turn_off);
- builder.setMessage(message);
+ message = TextUtils.concat(
+ mContext.getText(R.string.voice_warning_may_not_understand), "\n\n",
+ mContext.getText(R.string.voice_warning_how_to_turn_off));
} else {
- String message = mContext.getString(R.string.voice_warning_locale_not_supported)
- + "\n\n" + mContext.getString(R.string.voice_warning_may_not_understand)
- + "\n\n" + mContext.getString(R.string.voice_warning_how_to_turn_off);
- builder.setMessage(message);
+ message = TextUtils.concat(
+ mContext.getText(R.string.voice_warning_locale_not_supported), "\n\n",
+ mContext.getText(R.string.voice_warning_may_not_understand), "\n\n",
+ mContext.getText(R.string.voice_warning_how_to_turn_off));
}
+ builder.setMessage(message);
builder.setTitle(R.string.voice_warning_title);
mVoiceWarningDialog = builder.create();
@@ -203,6 +218,79 @@ public class VoiceIMEConnector implements VoiceInput.UiListener {
window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
mVoiceInput.logKeyboardWarningDialogShown();
mVoiceWarningDialog.show();
+ // Make URL in the dialog message clickable
+ TextView textView = (TextView) mVoiceWarningDialog.findViewById(android.R.id.message);
+ if (textView != null) {
+ final CustomLinkMovementMethod method = CustomLinkMovementMethod.getInstance();
+ method.setVoiceWarningDialog(mVoiceWarningDialog);
+ textView.setMovementMethod(method);
+ }
+ }
+
+ private static class CustomLinkMovementMethod extends LinkMovementMethod {
+ private static CustomLinkMovementMethod sInstance = new CustomLinkMovementMethod();
+ private AlertDialog mAlertDialog;
+
+ public void setVoiceWarningDialog(AlertDialog alertDialog) {
+ mAlertDialog = alertDialog;
+ }
+
+ public static CustomLinkMovementMethod getInstance() {
+ return sInstance;
+ }
+
+ // Almost the same as LinkMovementMethod.onTouchEvent(), but overrides it for
+ // FLAG_ACTIVITY_NEW_TASK and mAlertDialog.cancel().
+ @Override
+ public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
+ int action = event.getAction();
+
+ if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_DOWN) {
+ int x = (int) event.getX();
+ int y = (int) event.getY();
+
+ x -= widget.getTotalPaddingLeft();
+ y -= widget.getTotalPaddingTop();
+
+ x += widget.getScrollX();
+ y += widget.getScrollY();
+
+ Layout layout = widget.getLayout();
+ int line = layout.getLineForVertical(y);
+ int off = layout.getOffsetForHorizontal(line, x);
+
+ ClickableSpan[] link = buffer.getSpans(off, off, ClickableSpan.class);
+
+ if (link.length != 0) {
+ if (action == MotionEvent.ACTION_UP) {
+ if (link[0] instanceof URLSpan) {
+ URLSpan urlSpan = (URLSpan) link[0];
+ Uri uri = Uri.parse(urlSpan.getURL());
+ Context context = widget.getContext();
+ Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
+ if (mAlertDialog != null) {
+ // Go back to the previous IME for now.
+ // TODO: If we can find a way to bring the new activity to front
+ // while keeping the warning dialog, we don't need to cancel here.
+ mAlertDialog.cancel();
+ }
+ context.startActivity(intent);
+ } else {
+ link[0].onClick(widget);
+ }
+ } else if (action == MotionEvent.ACTION_DOWN) {
+ Selection.setSelection(buffer, buffer.getSpanStart(link[0]),
+ buffer.getSpanEnd(link[0]));
+ }
+ return true;
+ } else {
+ Selection.removeSelection(buffer);
+ }
+ }
+ return super.onTouchEvent(widget, buffer, event);
+ }
}
public void showPunctuationHintIfNecessary() {