aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/color/emoji_tab_label_color_lxx_dark.xml (renamed from java/res/color/emoji_tab_label_color_lxx.xml)8
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_active_ics_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png)bin462 -> 462 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_active_klp_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_active_klp.9.png)bin463 -> 463 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.pngbin657 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.pngbin1048 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.pngbin1082 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_holo_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png)bin463 -> 463 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_holo_light.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png)bin474 -> 474 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_off_holo_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png)bin578 -> 578 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_off_lxx_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_lxx.9.png)bin135 -> 135 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_on_ics_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png)bin587 -> 587 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_on_klp_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_klp.9.png)bin639 -> 639 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_on_lxx_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_lxx.9.png)bin130 -> 130 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx.9.png)bin272 -> 272 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png)bin553 -> 553 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_light.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png)bin547 -> 547 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_klp.9.png)bin537 -> 537 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_light.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_light_pressed_klp.9.png)bin517 -> 517 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_off_ics_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png)bin668 -> 668 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_off_klp_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_klp.9.png)bin655 -> 655 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png)bin138 -> 138 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_on_ics_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png)bin707 -> 707 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_on_klp_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_klp.9.png)bin670 -> 670 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png (renamed from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png)bin130 -> 130 bytes
-rw-r--r--java/res/drawable-hdpi/emoji_category_tab_selected_holo_dark.9.png (renamed from java/res/drawable-hdpi/tab_selected.9.png)bin145 -> 145 bytes
-rw-r--r--java/res/drawable-hdpi/emoji_category_tab_unselected_holo_dark.9.png (renamed from java/res/drawable-hdpi/tab_unselected.9.png)bin150 -> 150 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_nature_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_nature_light_activated.png)bin1850 -> 1850 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_nature_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_nature_light_normal.png)bin1800 -> 1800 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_objects_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_objects_light_activated.png)bin1744 -> 1744 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_objects_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_objects_light_normal.png)bin1581 -> 1581 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_people_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_people_light_activated.png)bin1767 -> 1767 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_people_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_people_light_normal.png)bin1820 -> 1820 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_places_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_places_light_activated.png)bin1418 -> 1418 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_places_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_places_light_normal.png)bin1341 -> 1341 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_recent_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_recent_light_activated.png)bin1667 -> 1667 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_recent_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_recent_light_normal.png)bin1703 -> 1703 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_symbols_activated_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_symbols_light_activated.png)bin1087 -> 1087 bytes
-rw-r--r--java/res/drawable-hdpi/ic_emoji_symbols_normal_holo_dark.png (renamed from java/res/drawable-hdpi/ic_emoji_symbols_light_normal.png)bin1053 -> 1053 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_background_lxx.9.pngbin2147 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_background_lxx_dark.9.pngbin0 -> 1651 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx.9.pngbin2105 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx_dark.9.pngbin0 -> 1651 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx.9.pngbin2164 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.pngbin0 -> 1745 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx.9.pngbin2225 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx_dark.9.pngbin0 -> 1738 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx.9.pngbin2061 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx_dark.9.pngbin0 -> 1637 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx.9.pngbin2133 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.pngbin0 -> 1734 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background_lxx_dark.9.png (renamed from java/res/drawable-hdpi/keyboard_popup_panel_background_lxx.9.png)bin871 -> 871 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.pngbin0 -> 1952 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.pngbin322 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_spacebar_lxx_dark.9.pngbin0 -> 199 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_active_ics_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png)bin345 -> 345 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_active_klp_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_active_klp.9.png)bin355 -> 355 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.pngbin588 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.pngbin960 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.pngbin957 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_holo_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png)bin355 -> 355 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_holo_light.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png)bin339 -> 339 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_off_holo_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png)bin428 -> 428 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_off_lxx_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_lxx.9.png)bin120 -> 120 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_on_ics_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png)bin411 -> 411 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_on_klp_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_klp.9.png)bin453 -> 453 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_on_lxx_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_lxx.9.png)bin114 -> 114 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx.9.png)bin222 -> 222 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png)bin394 -> 394 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_light.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png)bin381 -> 381 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_klp.9.png)bin380 -> 380 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_light.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_light_pressed_klp.9.png)bin368 -> 368 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_off_ics_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png)bin505 -> 505 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_off_klp_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_klp.9.png)bin468 -> 468 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png)bin124 -> 124 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_on_ics_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png)bin489 -> 489 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_on_klp_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_klp.9.png)bin458 -> 458 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png (renamed from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png)bin114 -> 114 bytes
-rw-r--r--java/res/drawable-mdpi/emoji_category_tab_selected_holo_dark.9.png (renamed from java/res/drawable-mdpi/tab_selected.9.png)bin140 -> 140 bytes
-rw-r--r--java/res/drawable-mdpi/emoji_category_tab_unselected_holo_dark.9.png (renamed from java/res/drawable-mdpi/tab_unselected.9.png)bin138 -> 138 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_nature_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_nature_light_activated.png)bin1213 -> 1213 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_nature_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_nature_light_normal.png)bin1130 -> 1130 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_objects_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_objects_light_activated.png)bin1193 -> 1193 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_objects_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_objects_light_normal.png)bin1092 -> 1092 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_people_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_people_light_activated.png)bin1170 -> 1170 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_people_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_people_light_normal.png)bin1132 -> 1132 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_places_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_places_light_activated.png)bin1032 -> 1032 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_places_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_places_light_normal.png)bin963 -> 963 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_recent_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_recent_light_activated.png)bin1105 -> 1105 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_recent_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_recent_light_normal.png)bin1106 -> 1106 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_symbols_activated_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_symbols_light_activated.png)bin805 -> 805 bytes
-rw-r--r--java/res/drawable-mdpi/ic_emoji_symbols_normal_holo_dark.png (renamed from java/res/drawable-mdpi/ic_emoji_symbols_light_normal.png)bin775 -> 775 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background_lxx.9.pngbin1353 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background_lxx_dark.9.pngbin0 -> 1023 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx.9.pngbin1305 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx_dark.9.pngbin0 -> 1000 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx.9.pngbin1425 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.pngbin0 -> 1085 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx.9.pngbin1454 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx_dark.9.pngbin0 -> 1106 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx.9.pngbin1314 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx_dark.9.pngbin0 -> 1023 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx.9.pngbin1427 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.pngbin0 -> 1111 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_lxx_dark.9.png (renamed from java/res/drawable-mdpi/keyboard_popup_panel_background_lxx.9.png)bin589 -> 589 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.pngbin0 -> 1337 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.pngbin201 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_spacebar_lxx_dark.9.pngbin0 -> 185 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_active_ics_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png)bin601 -> 601 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_active_klp_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_active_klp.9.png)bin589 -> 589 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.pngbin727 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.pngbin1110 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.pngbin1128 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png)bin589 -> 589 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_light.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png)bin594 -> 594 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_off_holo_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png)bin732 -> 732 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png)bin153 -> 153 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_on_ics_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png)bin745 -> 745 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_on_klp_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_klp.9.png)bin787 -> 787 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png)bin149 -> 149 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx.9.png)bin323 -> 323 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png)bin737 -> 737 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_light.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png)bin668 -> 668 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_klp.9.png)bin657 -> 657 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_light.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_klp.9.png)bin634 -> 634 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png)bin953 -> 953 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png)bin848 -> 848 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png)bin159 -> 159 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png)bin945 -> 945 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png)bin867 -> 867 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png)bin149 -> 149 bytes
-rw-r--r--java/res/drawable-xhdpi/emoji_category_tab_selected_holo_dark.9.png (renamed from java/res/drawable-xhdpi/tab_selected.9.png)bin148 -> 148 bytes
-rw-r--r--java/res/drawable-xhdpi/emoji_category_tab_unselected_holo_dark.9.png (renamed from java/res/drawable-xhdpi/tab_unselected.9.png)bin155 -> 155 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_nature_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_nature_light_activated.png)bin2437 -> 2437 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_nature_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_nature_light_normal.png)bin2371 -> 2371 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_objects_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_objects_light_activated.png)bin2319 -> 2319 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_objects_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_objects_light_normal.png)bin2074 -> 2074 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_people_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_people_light_activated.png)bin2519 -> 2519 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_people_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_people_light_normal.png)bin2526 -> 2526 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_places_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_places_light_activated.png)bin1828 -> 1828 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_places_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_places_light_normal.png)bin1667 -> 1667 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_recent_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_recent_light_activated.png)bin2459 -> 2459 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_recent_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_recent_light_normal.png)bin2346 -> 2346 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_symbols_activated_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_symbols_light_activated.png)bin1457 -> 1457 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_emoji_symbols_normal_holo_dark.png (renamed from java/res/drawable-xhdpi/ic_emoji_symbols_light_normal.png)bin1267 -> 1267 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx.9.pngbin3316 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx_dark.9.pngbin0 -> 2148 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx.9.pngbin3169 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx_dark.9.pngbin0 -> 2120 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx.9.pngbin3374 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.pngbin0 -> 2194 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx.9.pngbin3525 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx_dark.9.pngbin0 -> 2219 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx.9.pngbin3218 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx_dark.9.pngbin0 -> 2102 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx.9.pngbin3424 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.pngbin0 -> 2182 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx_dark.9.png (renamed from java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx.9.png)bin1246 -> 1246 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.pngbin0 -> 2606 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.pngbin381 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_spacebar_lxx_dark.9.pngbin0 -> 246 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_active_ics_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png)bin1805 -> 1805 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_active_klp_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_klp.9.png)bin1718 -> 1718 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_holo.9.png)bin1718 -> 1718 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_light.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_light_normal_holo.9.png)bin1787 -> 1787 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_holo_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_holo.9.png)bin1905 -> 1905 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png)bin180 -> 180 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_ics_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png)bin2039 -> 2039 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_klp_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_klp.9.png)bin1998 -> 1998 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png)bin182 -> 182 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx.9.png)bin1261 -> 1261 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png)bin1863 -> 1863 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_light.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png)bin1840 -> 1840 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_klp.9.png)bin1861 -> 1861 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_light.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_klp.9.png)bin1799 -> 1799 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png)bin2196 -> 2196 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png)bin2073 -> 2073 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png)bin186 -> 186 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png)bin2210 -> 2210 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png)bin2091 -> 2091 bytes
-rw-r--r--java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png)bin182 -> 182 bytes
-rw-r--r--java/res/drawable-xxhdpi/emoji_category_tab_selected_holo_dark.9.png (renamed from java/res/drawable-xxhdpi/tab_selected.9.png)bin1030 -> 1030 bytes
-rw-r--r--java/res/drawable-xxhdpi/emoji_category_tab_unselected_holo_dark.9.png (renamed from java/res/drawable-xxhdpi/tab_unselected.9.png)bin1048 -> 1048 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_nature_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_nature_light_activated.png)bin3150 -> 3150 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_nature_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_nature_light_normal.png)bin2999 -> 2999 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_objects_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_objects_light_activated.png)bin2831 -> 2831 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_objects_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_objects_light_normal.png)bin2656 -> 2656 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_people_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_people_light_activated.png)bin3118 -> 3118 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_people_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_people_light_normal.png)bin3097 -> 3097 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_places_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_places_light_activated.png)bin2256 -> 2256 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_places_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_places_light_normal.png)bin2169 -> 2169 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_recent_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_recent_light_activated.png)bin3152 -> 3152 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_recent_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_recent_light_normal.png)bin2943 -> 2943 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_symbols_activated_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_symbols_light_activated.png)bin1939 -> 1939 bytes
-rw-r--r--java/res/drawable-xxhdpi/ic_emoji_symbols_normal_holo_dark.png (renamed from java/res/drawable-xxhdpi/ic_emoji_symbols_light_normal.png)bin1784 -> 1784 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx.9.pngbin5251 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx_dark.9.pngbin0 -> 3744 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx.9.pngbin5862 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx_dark.9.pngbin0 -> 3757 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx.9.pngbin5920 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.pngbin0 -> 3842 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx.9.pngbin5450 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx_dark.9.pngbin0 -> 3833 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx.9.pngbin5981 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx_dark.9.pngbin0 -> 3677 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx.9.pngbin6060 -> 0 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.pngbin0 -> 3767 bytes
-rw-r--r--java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx_dark.9.png (renamed from java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx.9.png)bin2732 -> 2732 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.pngbin0 -> 4213 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_spacebar_lxx_dark.9.pngbin0 -> 180 bytes
-rw-r--r--java/res/drawable/btn_keyboard_key_functional_ics.xml4
-rw-r--r--java/res/drawable/btn_keyboard_key_functional_klp.xml4
-rw-r--r--java/res/drawable/btn_keyboard_key_functional_lxx_dark.xml (renamed from java/res/drawable/btn_keyboard_key_functional_lxx.xml)4
-rw-r--r--java/res/drawable/btn_keyboard_key_ics.xml16
-rw-r--r--java/res/drawable/btn_keyboard_key_klp.xml16
-rw-r--r--java/res/drawable/btn_keyboard_key_lxx_dark.xml (renamed from java/res/drawable/btn_keyboard_key_lxx.xml)18
-rw-r--r--java/res/drawable/btn_keyboard_key_popup_lxx_dark.xml (renamed from java/res/drawable/btn_keyboard_key_popup_lxx.xml)2
-rw-r--r--java/res/drawable/btn_keyboard_spacebar_ics.xml4
-rw-r--r--java/res/drawable/btn_keyboard_spacebar_klp.xml4
-rw-r--r--java/res/drawable/btn_keyboard_spacebar_lxx_dark.xml (renamed from java/res/drawable/btn_keyboard_spacebar_lxx.xml)4
-rw-r--r--java/res/drawable/btn_suggestion_lxx_dark.xml (renamed from java/res/drawable/btn_suggestion_lxx.xml)2
-rw-r--r--java/res/drawable/ic_emoji_nature_holo_dark.xml (renamed from java/res/drawable/ic_emoji_nature_light.xml)8
-rw-r--r--java/res/drawable/ic_emoji_objects_holo_dark.xml32
-rw-r--r--java/res/drawable/ic_emoji_people_holo_dark.xml (renamed from java/res/drawable/ic_emoji_places_light.xml)8
-rw-r--r--java/res/drawable/ic_emoji_places_holo_dark.xml (renamed from java/res/drawable/ic_emoji_people_light.xml)8
-rw-r--r--java/res/drawable/ic_emoji_recent_holo_dark.xml (renamed from java/res/drawable/ic_emoji_objects_light.xml)8
-rw-r--r--java/res/drawable/ic_emoji_recent_light.xml32
-rw-r--r--java/res/drawable/ic_emoji_symbols_holo_dark.xml32
-rw-r--r--java/res/drawable/ic_emoji_symbols_light.xml32
-rw-r--r--java/res/drawable/keyboard_key_feedback_lxx_dark.xml (renamed from java/res/drawable/keyboard_key_feedback_lxx.xml)12
-rw-r--r--java/res/layout/emoji_palettes_view.xml9
-rw-r--r--java/res/values-af/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-am/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ar/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-az-rAZ/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-bg/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-ca/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-cs/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-da/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-de/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-el/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-en-rGB/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-en-rIN/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-es-rUS/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-es/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-et-rEE/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-fa/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-fi/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-fr-rCA/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-fr/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-hi/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-hr/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-hu/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-hy-rAM/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-in/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-it/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-iw/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ja/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ka-rGE/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-km-rKH/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ko/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-lo-rLA/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-lt/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-lv/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-mn-rMN/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ms-rMY/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-nb/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-ne-rNP/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-nl/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-pl/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-pt-rPT/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-pt/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-ro/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-ru/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-sk/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-sl/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-sr/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-sv/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-sw/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-th/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-tl/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-tr/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-uk/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-vi/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-zh-rCN/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-zh-rHK/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-zh-rTW/strings-talkback-descriptions.xml13
-rw-r--r--java/res/values-zu/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values/attrs.xml4
-rw-r--r--java/res/values/colors.xml32
-rw-r--r--java/res/values/keyboard-icons-lxx-dark.xml (renamed from java/res/values/keyboard-icons-lxx.xml)6
-rw-r--r--java/res/values/themes-ics.xml2
-rw-r--r--java/res/values/themes-klp.xml2
-rw-r--r--java/res/values/themes-lxx-dark.xml (renamed from java/res/values/themes-lxx.xml)109
-rw-r--r--java/res/xml-sw600dp/key_styles_common.xml1
-rw-r--r--java/res/xml/key_styles_common.xml1
-rw-r--r--java/res/xml/key_styles_number.xml1
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java5
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java19
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardTheme.java63
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java18
-rw-r--r--java/src/com/android/inputmethod/keyboard/MainKeyboardView.java89
-rw-r--r--java/src/com/android/inputmethod/keyboard/emoji/EmojiCategory.java12
-rw-r--r--java/src/com/android/inputmethod/keyboard/emoji/EmojiCategoryPageIndicatorView.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java7
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java23
-rw-r--r--java/src/com/android/inputmethod/latin/Dictionary.java23
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryCollection.java12
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java4
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java19
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java22
-rw-r--r--java/src/com/android/inputmethod/latin/PrevWordsInfo.java29
-rw-r--r--java/src/com/android/inputmethod/latin/ReadOnlyBinaryDictionary.java16
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java18
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java40
-rw-r--r--java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java10
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java8
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java31
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java5
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedContactsBinaryDictionary.java9
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedUserBinaryDictionary.java9
-rw-r--r--java/src/com/android/inputmethod/latin/utils/DistracterFilter.java57
-rw-r--r--java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java7
-rw-r--r--java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java29
-rw-r--r--java/src/com/android/inputmethod/latin/utils/StringUtils.java9
324 files changed, 881 insertions, 685 deletions
diff --git a/java/res/color/emoji_tab_label_color_lxx.xml b/java/res/color/emoji_tab_label_color_lxx_dark.xml
index c2710d365..090f83e6a 100644
--- a/java/res/color/emoji_tab_label_color_lxx.xml
+++ b/java/res/color/emoji_tab_label_color_lxx_dark.xml
@@ -21,13 +21,13 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
- android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_color_lxx_dark" />
<item
android:state_pressed="true"
- android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_color_lxx_dark" />
<item
android:state_selected="true"
- android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_color_lxx_dark" />
<item
- android:color="@color/key_text_inactive_color_lxx" />
+ android:color="@color/key_text_inactive_color_lxx_dark" />
</selector>
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_ics_dark.9.png
index 9aa8db60e..9aa8db60e 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_klp_dark.9.png
index fa2cb8542..fa2cb8542 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 43099899c..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index 2d1acf22f..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 3e25a9817..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_holo_dark.9.png
index fa2cb8542..fa2cb8542 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_holo_light.9.png
index 6da273b09..6da273b09 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_holo_light.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_off_holo_dark.9.png
index b1af23b6c..b1af23b6c 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_off_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_lxx.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
index 44308bfd8..44308bfd8 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_lxx.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_ics_dark.9.png
index 9f4587b4a..9f4587b4a 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_klp_dark.9.png
index 814e40235..814e40235 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_lxx.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
index 674783d7d..674783d7d 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_lxx.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
index 10f8e97e4..10f8e97e4 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_dark.9.png
index 7ec33dd20..7ec33dd20 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_light.9.png
index 5612c51a1..5612c51a1 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_ics_light.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_dark.9.png
index 90abe3940..90abe3940 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_light.9.png
index 6768241a7..6768241a7 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_klp_light.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
index 655bc01b1..655bc01b1 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
index 48eeb3f54..48eeb3f54 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
index 96b625bd6..96b625bd6 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
index 138e915d9..138e915d9 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_klp.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
index 71e0683cd..71e0683cd 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
index 20e53c2e5..20e53c2e5 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/tab_selected.9.png b/java/res/drawable-hdpi/emoji_category_tab_selected_holo_dark.9.png
index 84e63df17..84e63df17 100644
--- a/java/res/drawable-hdpi/tab_selected.9.png
+++ b/java/res/drawable-hdpi/emoji_category_tab_selected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/tab_unselected.9.png b/java/res/drawable-hdpi/emoji_category_tab_unselected_holo_dark.9.png
index bbcfb2c64..bbcfb2c64 100644
--- a/java/res/drawable-hdpi/tab_unselected.9.png
+++ b/java/res/drawable-hdpi/emoji_category_tab_unselected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_nature_light_activated.png b/java/res/drawable-hdpi/ic_emoji_nature_activated_holo_dark.png
index 5525df2f7..5525df2f7 100644
--- a/java/res/drawable-hdpi/ic_emoji_nature_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_nature_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_nature_light_normal.png b/java/res/drawable-hdpi/ic_emoji_nature_normal_holo_dark.png
index 34e16b9de..34e16b9de 100644
--- a/java/res/drawable-hdpi/ic_emoji_nature_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_nature_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_objects_light_activated.png b/java/res/drawable-hdpi/ic_emoji_objects_activated_holo_dark.png
index c3c7ec1b8..c3c7ec1b8 100644
--- a/java/res/drawable-hdpi/ic_emoji_objects_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_objects_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_objects_light_normal.png b/java/res/drawable-hdpi/ic_emoji_objects_normal_holo_dark.png
index f012d7707..f012d7707 100644
--- a/java/res/drawable-hdpi/ic_emoji_objects_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_objects_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_people_light_activated.png b/java/res/drawable-hdpi/ic_emoji_people_activated_holo_dark.png
index cfacbc2e7..cfacbc2e7 100644
--- a/java/res/drawable-hdpi/ic_emoji_people_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_people_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_people_light_normal.png b/java/res/drawable-hdpi/ic_emoji_people_normal_holo_dark.png
index c54dbc1f5..c54dbc1f5 100644
--- a/java/res/drawable-hdpi/ic_emoji_people_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_people_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_places_light_activated.png b/java/res/drawable-hdpi/ic_emoji_places_activated_holo_dark.png
index 959dfdfd5..959dfdfd5 100644
--- a/java/res/drawable-hdpi/ic_emoji_places_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_places_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_places_light_normal.png b/java/res/drawable-hdpi/ic_emoji_places_normal_holo_dark.png
index fc0d9711d..fc0d9711d 100644
--- a/java/res/drawable-hdpi/ic_emoji_places_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_places_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_recent_light_activated.png b/java/res/drawable-hdpi/ic_emoji_recent_activated_holo_dark.png
index de570a185..de570a185 100644
--- a/java/res/drawable-hdpi/ic_emoji_recent_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_recent_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_recent_light_normal.png b/java/res/drawable-hdpi/ic_emoji_recent_normal_holo_dark.png
index b2562088d..b2562088d 100644
--- a/java/res/drawable-hdpi/ic_emoji_recent_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_recent_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_symbols_light_activated.png b/java/res/drawable-hdpi/ic_emoji_symbols_activated_holo_dark.png
index af1fd27ec..af1fd27ec 100644
--- a/java/res/drawable-hdpi/ic_emoji_symbols_light_activated.png
+++ b/java/res/drawable-hdpi/ic_emoji_symbols_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_emoji_symbols_light_normal.png b/java/res/drawable-hdpi/ic_emoji_symbols_normal_holo_dark.png
index 02b84d51b..02b84d51b 100644
--- a/java/res/drawable-hdpi/ic_emoji_symbols_light_normal.png
+++ b/java/res/drawable-hdpi/ic_emoji_symbols_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx.9.png
deleted file mode 100644
index be394151a..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx_dark.9.png
new file mode 100644
index 000000000..6a76ce66e
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx.9.png
deleted file mode 100644
index 9fa6d0003..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
new file mode 100644
index 000000000..752c7581f
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx.9.png
deleted file mode 100644
index c73269b7e..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..a24519fef
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx.9.png
deleted file mode 100644
index fffd4021e..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..f3c2f6ba0
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx.9.png
deleted file mode 100644
index 61c23c19b..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
new file mode 100644
index 000000000..0a9e46734
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx.9.png
deleted file mode 100644
index 827d74363..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..6a58ed302
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_lxx.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_lxx_dark.9.png
index f9dd3b8b1..f9dd3b8b1 100644
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background_lxx.9.png
+++ b/java/res/drawable-hdpi/keyboard_popup_panel_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png
new file mode 100644
index 000000000..f6c3c0d97
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_return_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index 34a1ebde2..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_spacebar_lxx_dark.9.png b/java/res/drawable-hdpi/sym_keyboard_spacebar_lxx_dark.9.png
new file mode 100644
index 000000000..e70f0c1e8
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_spacebar_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_ics_dark.9.png
index e810c7789..e810c7789 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_klp_dark.9.png
index 8e9a34957..8e9a34957 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 46e9db092..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index ee60e4864..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 1f8f318d1..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
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_normal_holo_dark.9.png
index 8e9a34957..8e9a34957 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_holo_dark.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_normal_holo_light.9.png
index 2915588bf..2915588bf 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_holo_light.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_normal_off_holo_dark.9.png
index 58a316fba..58a316fba 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_off_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_lxx.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
index 837df83ce..837df83ce 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_lxx.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_ics_dark.9.png
index f3fc64114..f3fc64114 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_klp_dark.9.png
index b7b2dca43..b7b2dca43 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_lxx.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
index 977265214..977265214 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_lxx.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
index ee0aae28b..ee0aae28b 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_dark.9.png
index 8f340d355..8f340d355 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_light.9.png
index c39dd4a94..c39dd4a94 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_ics_light.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_dark.9.png
index 4a92b80dd..4a92b80dd 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_light.9.png
index 049385984..049385984 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_klp_light.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
index 53ea5f894..53ea5f894 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
index 72125a065..72125a065 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
index d21363316..d21363316 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
index 69c84e7ec..69c84e7ec 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_klp.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
index 82413d4cc..82413d4cc 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
index 6d20c540b..6d20c540b 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/tab_selected.9.png b/java/res/drawable-mdpi/emoji_category_tab_selected_holo_dark.9.png
index 4b00f350a..4b00f350a 100644
--- a/java/res/drawable-mdpi/tab_selected.9.png
+++ b/java/res/drawable-mdpi/emoji_category_tab_selected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/tab_unselected.9.png b/java/res/drawable-mdpi/emoji_category_tab_unselected_holo_dark.9.png
index bb45ab960..bb45ab960 100644
--- a/java/res/drawable-mdpi/tab_unselected.9.png
+++ b/java/res/drawable-mdpi/emoji_category_tab_unselected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_nature_light_activated.png b/java/res/drawable-mdpi/ic_emoji_nature_activated_holo_dark.png
index d4c8d8da8..d4c8d8da8 100644
--- a/java/res/drawable-mdpi/ic_emoji_nature_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_nature_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_nature_light_normal.png b/java/res/drawable-mdpi/ic_emoji_nature_normal_holo_dark.png
index 1555aa7a9..1555aa7a9 100644
--- a/java/res/drawable-mdpi/ic_emoji_nature_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_nature_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_objects_light_activated.png b/java/res/drawable-mdpi/ic_emoji_objects_activated_holo_dark.png
index 081dc66c2..081dc66c2 100644
--- a/java/res/drawable-mdpi/ic_emoji_objects_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_objects_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_objects_light_normal.png b/java/res/drawable-mdpi/ic_emoji_objects_normal_holo_dark.png
index 58e6f6e75..58e6f6e75 100644
--- a/java/res/drawable-mdpi/ic_emoji_objects_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_objects_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_people_light_activated.png b/java/res/drawable-mdpi/ic_emoji_people_activated_holo_dark.png
index 067ad5496..067ad5496 100644
--- a/java/res/drawable-mdpi/ic_emoji_people_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_people_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_people_light_normal.png b/java/res/drawable-mdpi/ic_emoji_people_normal_holo_dark.png
index d835d4ec7..d835d4ec7 100644
--- a/java/res/drawable-mdpi/ic_emoji_people_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_people_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_places_light_activated.png b/java/res/drawable-mdpi/ic_emoji_places_activated_holo_dark.png
index 1aecec598..1aecec598 100644
--- a/java/res/drawable-mdpi/ic_emoji_places_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_places_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_places_light_normal.png b/java/res/drawable-mdpi/ic_emoji_places_normal_holo_dark.png
index c70e484e1..c70e484e1 100644
--- a/java/res/drawable-mdpi/ic_emoji_places_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_places_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_recent_light_activated.png b/java/res/drawable-mdpi/ic_emoji_recent_activated_holo_dark.png
index 8009e932f..8009e932f 100644
--- a/java/res/drawable-mdpi/ic_emoji_recent_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_recent_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_recent_light_normal.png b/java/res/drawable-mdpi/ic_emoji_recent_normal_holo_dark.png
index c2e598dfb..c2e598dfb 100644
--- a/java/res/drawable-mdpi/ic_emoji_recent_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_recent_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_symbols_light_activated.png b/java/res/drawable-mdpi/ic_emoji_symbols_activated_holo_dark.png
index caea87191..caea87191 100644
--- a/java/res/drawable-mdpi/ic_emoji_symbols_light_activated.png
+++ b/java/res/drawable-mdpi/ic_emoji_symbols_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_emoji_symbols_light_normal.png b/java/res/drawable-mdpi/ic_emoji_symbols_normal_holo_dark.png
index 0edada626..0edada626 100644
--- a/java/res/drawable-mdpi/ic_emoji_symbols_light_normal.png
+++ b/java/res/drawable-mdpi/ic_emoji_symbols_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx.9.png
deleted file mode 100644
index 625490b1f..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx_dark.9.png
new file mode 100644
index 000000000..0173d096f
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx.9.png
deleted file mode 100644
index 427c87061..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
new file mode 100644
index 000000000..6d8954961
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx.9.png
deleted file mode 100644
index ea757296d..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..a459d42ac
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx.9.png
deleted file mode 100644
index 1911c429f..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..5c00e7e52
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx.9.png
deleted file mode 100644
index cdef116d2..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
new file mode 100644
index 000000000..f85dd03cc
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx.9.png
deleted file mode 100644
index dea5d076c..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..83d72a27b
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_lxx.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_lxx_dark.9.png
index 896505518..896505518 100644
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_lxx.9.png
+++ b/java/res/drawable-mdpi/keyboard_popup_panel_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png
new file mode 100644
index 000000000..8903e02eb
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_return_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index abd8b742e..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_spacebar_lxx_dark.9.png b/java/res/drawable-mdpi/sym_keyboard_spacebar_lxx_dark.9.png
new file mode 100644
index 000000000..86e816d5b
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_spacebar_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_ics_dark.9.png
index d990c0258..d990c0258 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_klp_dark.9.png
index a2f6ac0e2..a2f6ac0e2 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 2baf7d90c..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index 6812f9e8f..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 16416f000..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_dark.9.png
index a2f6ac0e2..a2f6ac0e2 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_light.9.png
index 0ef4a4b5f..0ef4a4b5f 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_holo_light.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_holo_dark.9.png
index 2f00fc623..2f00fc623 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
index eeb447cc3..eeb447cc3 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_ics_dark.9.png
index ab8fb2e86..ab8fb2e86 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_klp_dark.9.png
index 20251a000..20251a000 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
index 624ba8c27..624ba8c27 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
index 891d00024..891d00024 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_dark.9.png
index 3871689ef..3871689ef 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_light.9.png
index c23a4b225..c23a4b225 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_ics_light.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_dark.9.png
index 84d173967..84d173967 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_light.9.png
index f770962c3..f770962c3 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_klp_light.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
index 912506368..912506368 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
index ee4490eac..ee4490eac 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
index 2bc16cfeb..2bc16cfeb 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
index 35ce67fdc..35ce67fdc 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
index e8124776c..e8124776c 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
index 80dedd228..80dedd228 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/tab_selected.9.png b/java/res/drawable-xhdpi/emoji_category_tab_selected_holo_dark.9.png
index 95e5f4341..95e5f4341 100644
--- a/java/res/drawable-xhdpi/tab_selected.9.png
+++ b/java/res/drawable-xhdpi/emoji_category_tab_selected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/tab_unselected.9.png b/java/res/drawable-xhdpi/emoji_category_tab_unselected_holo_dark.9.png
index 8cede8d5e..8cede8d5e 100644
--- a/java/res/drawable-xhdpi/tab_unselected.9.png
+++ b/java/res/drawable-xhdpi/emoji_category_tab_unselected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_nature_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_nature_activated_holo_dark.png
index 3e6744343..3e6744343 100644
--- a/java/res/drawable-xhdpi/ic_emoji_nature_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_nature_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_nature_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_nature_normal_holo_dark.png
index 5344a9ee9..5344a9ee9 100644
--- a/java/res/drawable-xhdpi/ic_emoji_nature_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_nature_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_objects_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_objects_activated_holo_dark.png
index 75695d43d..75695d43d 100644
--- a/java/res/drawable-xhdpi/ic_emoji_objects_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_objects_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_objects_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_objects_normal_holo_dark.png
index 2adb186e6..2adb186e6 100644
--- a/java/res/drawable-xhdpi/ic_emoji_objects_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_objects_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_people_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_people_activated_holo_dark.png
index e6baa2e59..e6baa2e59 100644
--- a/java/res/drawable-xhdpi/ic_emoji_people_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_people_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_people_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_people_normal_holo_dark.png
index c26aa4efb..c26aa4efb 100644
--- a/java/res/drawable-xhdpi/ic_emoji_people_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_people_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_places_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_places_activated_holo_dark.png
index eaa3b86cf..eaa3b86cf 100644
--- a/java/res/drawable-xhdpi/ic_emoji_places_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_places_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_places_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_places_normal_holo_dark.png
index d6e1eaa35..d6e1eaa35 100644
--- a/java/res/drawable-xhdpi/ic_emoji_places_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_places_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_recent_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_recent_activated_holo_dark.png
index 06003b82d..06003b82d 100644
--- a/java/res/drawable-xhdpi/ic_emoji_recent_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_recent_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_recent_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_recent_normal_holo_dark.png
index da2effedb..da2effedb 100644
--- a/java/res/drawable-xhdpi/ic_emoji_recent_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_recent_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_symbols_light_activated.png b/java/res/drawable-xhdpi/ic_emoji_symbols_activated_holo_dark.png
index 438fde2b4..438fde2b4 100644
--- a/java/res/drawable-xhdpi/ic_emoji_symbols_light_activated.png
+++ b/java/res/drawable-xhdpi/ic_emoji_symbols_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_emoji_symbols_light_normal.png b/java/res/drawable-xhdpi/ic_emoji_symbols_normal_holo_dark.png
index 757863233..757863233 100644
--- a/java/res/drawable-xhdpi/ic_emoji_symbols_light_normal.png
+++ b/java/res/drawable-xhdpi/ic_emoji_symbols_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx.9.png
deleted file mode 100644
index c211d89c8..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx_dark.9.png
new file mode 100644
index 000000000..fed1da764
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx.9.png
deleted file mode 100644
index 543bc763e..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
new file mode 100644
index 000000000..ca90d52fd
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx.9.png
deleted file mode 100644
index ec42aadb6..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..ad277d6ab
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx.9.png
deleted file mode 100644
index 319e9d7cf..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..3c5f89f33
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx.9.png
deleted file mode 100644
index 052032be7..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
new file mode 100644
index 000000000..6c4982476
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx.9.png
deleted file mode 100644
index c7e9d1c9e..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..2cd7b02fa
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx_dark.9.png
index 36df715b6..36df715b6 100644
--- a/java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx.9.png
+++ b/java/res/drawable-xhdpi/keyboard_popup_panel_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png
new file mode 100644
index 000000000..351f73bcb
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_return_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index ba4e9ec49..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_spacebar_lxx_dark.9.png b/java/res/drawable-xhdpi/sym_keyboard_spacebar_lxx_dark.9.png
new file mode 100644
index 000000000..cb660545e
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_spacebar_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_ics_dark.9.png
index 680421eaf..680421eaf 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_klp_dark.9.png
index 17f0a7a58..17f0a7a58 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_dark.9.png
index 17f0a7a58..17f0a7a58 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_light.9.png
index 4ddfdcb6c..4ddfdcb6c 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_light_normal_holo.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_holo_light.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_holo_dark.9.png
index b0e815eb2..b0e815eb2 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
index 97b049eb0..97b049eb0 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_off_lxx.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_ics_dark.9.png
index 40f5011c0..40f5011c0 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_klp_dark.9.png
index 97f96258e..97f96258e 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
index 2e8149709..2e8149709 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_lxx.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_normal_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
index 0cbb2ec84..0cbb2ec84 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_dark.9.png
index 6ff6319d3..6ff6319d3 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_light.9.png
index 3c17c5eec..3c17c5eec 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_ics_light.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_dark.9.png
index dfb16a76b..dfb16a76b 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_light.9.png
index 17144b673..17144b673 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_klp_light.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
index 818ea70fd..818ea70fd 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
index bf1d34686..bf1d34686 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
index d844b1713..d844b1713 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_lxx.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_off_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
index a476d2a9e..a476d2a9e 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_ics_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
index 962277165..962277165 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_klp_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
index 9661f4a6e..9661f4a6e 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_lxx.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_pressed_on_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/tab_selected.9.png b/java/res/drawable-xxhdpi/emoji_category_tab_selected_holo_dark.9.png
index e5efc5828..e5efc5828 100644
--- a/java/res/drawable-xxhdpi/tab_selected.9.png
+++ b/java/res/drawable-xxhdpi/emoji_category_tab_selected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/tab_unselected.9.png b/java/res/drawable-xxhdpi/emoji_category_tab_unselected_holo_dark.9.png
index 389188695..389188695 100644
--- a/java/res/drawable-xxhdpi/tab_unselected.9.png
+++ b/java/res/drawable-xxhdpi/emoji_category_tab_unselected_holo_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_nature_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_nature_activated_holo_dark.png
index 470fd695c..470fd695c 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_nature_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_nature_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_nature_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_nature_normal_holo_dark.png
index a7fde0ec5..a7fde0ec5 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_nature_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_nature_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_objects_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_objects_activated_holo_dark.png
index c582b704a..c582b704a 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_objects_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_objects_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_objects_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_objects_normal_holo_dark.png
index acc95d725..acc95d725 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_objects_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_objects_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_people_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_people_activated_holo_dark.png
index 5973ac355..5973ac355 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_people_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_people_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_people_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_people_normal_holo_dark.png
index 22e06f808..22e06f808 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_people_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_people_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_places_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_places_activated_holo_dark.png
index 690e95fd5..690e95fd5 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_places_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_places_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_places_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_places_normal_holo_dark.png
index ced4b08cf..ced4b08cf 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_places_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_places_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_recent_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_recent_activated_holo_dark.png
index 25e847ef3..25e847ef3 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_recent_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_recent_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_recent_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_recent_normal_holo_dark.png
index c86368d73..c86368d73 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_recent_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_recent_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_symbols_light_activated.png b/java/res/drawable-xxhdpi/ic_emoji_symbols_activated_holo_dark.png
index 29dfc7118..29dfc7118 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_symbols_light_activated.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_symbols_activated_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_emoji_symbols_light_normal.png b/java/res/drawable-xxhdpi/ic_emoji_symbols_normal_holo_dark.png
index 0570567cf..0570567cf 100644
--- a/java/res/drawable-xxhdpi/ic_emoji_symbols_light_normal.png
+++ b/java/res/drawable-xxhdpi/ic_emoji_symbols_normal_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx.9.png
deleted file mode 100644
index fd2f9e514..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx_dark.9.png
new file mode 100644
index 000000000..1f10e926c
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx.9.png
deleted file mode 100644
index 3ab79007e..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
new file mode 100644
index 000000000..25e362ce7
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx.9.png
deleted file mode 100644
index 99543a1e0..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..c6d9f3cc7
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx.9.png
deleted file mode 100644
index 121411a06..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..a197c2932
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx.9.png
deleted file mode 100644
index e9e379287..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
new file mode 100644
index 000000000..686f757ba
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx.9.png
deleted file mode 100644
index 6c1143aeb..000000000
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
new file mode 100644
index 000000000..41fad2db0
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx.9.png b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx_dark.9.png
index 91d5d7f90..91d5d7f90 100644
--- a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx.9.png
+++ b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png
new file mode 100644
index 000000000..08334f0da
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_return_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_spacebar_lxx_dark.9.png b/java/res/drawable-xxhdpi/sym_keyboard_spacebar_lxx_dark.9.png
new file mode 100644
index 000000000..1f25e272d
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_spacebar_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_key_functional_ics.xml b/java/res/drawable/btn_keyboard_key_functional_ics.xml
index 847ca72f4..846bccc49 100644
--- a/java/res/drawable/btn_keyboard_key_functional_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_functional_ics.xml
@@ -17,6 +17,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Functional keys. -->
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
- <item android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_ics_dark" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_functional_klp.xml b/java/res/drawable/btn_keyboard_key_functional_klp.xml
index 0e17ed234..7b444f7c5 100644
--- a/java/res/drawable/btn_keyboard_key_functional_klp.xml
+++ b/java/res/drawable/btn_keyboard_key_functional_klp.xml
@@ -17,6 +17,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Functional keys. -->
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_klp" />
- <item android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_klp_dark" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_functional_lxx.xml b/java/res/drawable/btn_keyboard_key_functional_lxx_dark.xml
index fc6f98d01..fd1dbb9f0 100644
--- a/java/res/drawable/btn_keyboard_key_functional_lxx.xml
+++ b/java/res/drawable/btn_keyboard_key_functional_lxx_dark.xml
@@ -17,6 +17,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Functional keys. -->
<item android:state_pressed="true"
- android:drawable="@color/key_background_pressed_lxx" />
- <item android:drawable="@color/key_background_lxx" />
+ android:drawable="@color/key_background_pressed_lxx_dark" />
+ <item android:drawable="@color/key_background_lxx_dark" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml
index af14cd51c..0bb098d23 100644
--- a/java/res/drawable/btn_keyboard_key_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_ics.xml
@@ -17,19 +17,19 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Action keys. -->
<item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_ics_dark" />
<item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_dark_active_ics" />
+ android:drawable="@drawable/btn_keyboard_key_active_ics_dark" />
<!-- Toggle keys. Use checkable/checked state. -->
<item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_ics" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_on_ics_dark" />
<item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_ics" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_off_ics_dark" />
<item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on_ics" />
+ android:drawable="@drawable/btn_keyboard_key_normal_on_ics_dark" />
<item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
+ android:drawable="@drawable/btn_keyboard_key_normal_off_holo_dark" />
<!-- Empty background keys. -->
<item android:state_empty="true"
@@ -37,6 +37,6 @@
<!-- Normal keys. -->
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed_ics" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_ics_light" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_light" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_klp.xml b/java/res/drawable/btn_keyboard_key_klp.xml
index 56c295f14..2a202a179 100644
--- a/java/res/drawable/btn_keyboard_key_klp.xml
+++ b/java/res/drawable/btn_keyboard_key_klp.xml
@@ -17,19 +17,19 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Action keys. -->
<item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_klp" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_klp_dark" />
<item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_dark_active_klp" />
+ android:drawable="@drawable/btn_keyboard_key_active_klp_dark" />
<!-- Toggle keys. Use checkable/checked state. -->
<item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_klp" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_on_klp_dark" />
<item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_klp" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_off_klp_dark" />
<item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on_klp" />
+ android:drawable="@drawable/btn_keyboard_key_normal_on_klp_dark" />
<item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
+ android:drawable="@drawable/btn_keyboard_key_normal_off_holo_dark" />
<!-- Empty background keys. -->
<item android:state_empty="true"
@@ -37,6 +37,6 @@
<!-- Normal keys. -->
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed_klp" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_klp_light" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_light" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_lxx.xml b/java/res/drawable/btn_keyboard_key_lxx_dark.xml
index fc19a0bbd..c56d4b3bc 100644
--- a/java/res/drawable/btn_keyboard_key_lxx.xml
+++ b/java/res/drawable/btn_keyboard_key_lxx_dark.xml
@@ -17,26 +17,26 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Action keys. -->
<item android:state_active="true" android:state_pressed="true"
- android:drawable="@color/key_background_pressed_lxx" />
+ android:drawable="@color/key_background_pressed_lxx_dark" />
<item android:state_active="true"
- android:drawable="@color/key_background_lxx" />
+ android:drawable="@color/key_background_lxx_dark" />
<!-- Toggle keys. Use checkable/checked state. -->
<item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_lxx" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_on_lxx_dark" />
<item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_lxx" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_off_lxx_dark" />
<item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on_lxx" />
+ android:drawable="@drawable/btn_keyboard_key_normal_on_lxx_dark" />
<item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off_lxx" />
+ android:drawable="@drawable/btn_keyboard_key_normal_off_lxx_dark" />
<!-- Empty background keys. -->
<item android:state_empty="true"
- android:drawable="@color/key_background_lxx" />
+ android:drawable="@color/key_background_lxx_dark" />
<!-- Normal keys. -->
<item android:state_pressed="true"
- android:drawable="@color/key_background_pressed_lxx" />
- <item android:drawable="@color/key_background_lxx" />
+ android:drawable="@color/key_background_pressed_lxx_dark" />
+ <item android:drawable="@color/key_background_lxx_dark" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_key_popup_lxx.xml b/java/res/drawable/btn_keyboard_key_popup_lxx_dark.xml
index 7daebc8d3..dee645712 100644
--- a/java/res/drawable/btn_keyboard_key_popup_lxx.xml
+++ b/java/res/drawable/btn_keyboard_key_popup_lxx_dark.xml
@@ -16,6 +16,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_popup_selected_lxx" />
+ android:drawable="@drawable/btn_keyboard_key_popup_selected_lxx_dark" />
<item android:drawable="@android:color/transparent" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_ics.xml b/java/res/drawable/btn_keyboard_spacebar_ics.xml
index 4530ea079..229f7a965 100644
--- a/java/res/drawable/btn_keyboard_spacebar_ics.xml
+++ b/java/res/drawable/btn_keyboard_spacebar_ics.xml
@@ -16,6 +16,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed_ics" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_ics_light" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_light" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_klp.xml b/java/res/drawable/btn_keyboard_spacebar_klp.xml
index 6b07a392f..9882f9a74 100644
--- a/java/res/drawable/btn_keyboard_spacebar_klp.xml
+++ b/java/res/drawable/btn_keyboard_spacebar_klp.xml
@@ -16,6 +16,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed_klp" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+ android:drawable="@drawable/btn_keyboard_key_pressed_klp_light" />
+ <item android:drawable="@drawable/btn_keyboard_key_normal_holo_light" />
</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_lxx.xml b/java/res/drawable/btn_keyboard_spacebar_lxx_dark.xml
index 10d04a8cc..5c595d9ed 100644
--- a/java/res/drawable/btn_keyboard_spacebar_lxx.xml
+++ b/java/res/drawable/btn_keyboard_spacebar_lxx_dark.xml
@@ -16,6 +16,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@color/key_background_pressed_lxx" />
- <item android:drawable="@color/key_background_lxx" />
+ android:drawable="@color/key_background_pressed_lxx_dark" />
+ <item android:drawable="@color/key_background_lxx_dark" />
</selector>
diff --git a/java/res/drawable/btn_suggestion_lxx.xml b/java/res/drawable/btn_suggestion_lxx_dark.xml
index c73e1f772..84a91209e 100644
--- a/java/res/drawable/btn_suggestion_lxx.xml
+++ b/java/res/drawable/btn_suggestion_lxx_dark.xml
@@ -23,5 +23,5 @@
>
<item
android:state_pressed="true"
- android:drawable="@color/suggested_word_background_selected_lxx" />
+ android:drawable="@color/suggested_word_background_selected_lxx_dark" />
</selector>
diff --git a/java/res/drawable/ic_emoji_nature_light.xml b/java/res/drawable/ic_emoji_nature_holo_dark.xml
index 543409e03..b94629580 100644
--- a/java/res/drawable/ic_emoji_nature_light.xml
+++ b/java/res/drawable/ic_emoji_nature_holo_dark.xml
@@ -21,13 +21,13 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
- android:drawable="@drawable/ic_emoji_nature_light_activated" />
+ android:drawable="@drawable/ic_emoji_nature_activated_holo_dark" />
<item
android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_nature_light_activated" />
+ android:drawable="@drawable/ic_emoji_nature_activated_holo_dark" />
<item
android:state_selected="true"
- android:drawable="@drawable/ic_emoji_nature_light_activated" />
+ android:drawable="@drawable/ic_emoji_nature_activated_holo_dark" />
<item
- android:drawable="@drawable/ic_emoji_nature_light_normal" />
+ android:drawable="@drawable/ic_emoji_nature_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/ic_emoji_objects_holo_dark.xml b/java/res/drawable/ic_emoji_objects_holo_dark.xml
new file mode 100644
index 000000000..266e81e0b
--- /dev/null
+++ b/java/res/drawable/ic_emoji_objects_holo_dark.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_focused="true"
+ android:drawable="@drawable/ic_emoji_objects_activated_holo_dark" />
+ <item
+ android:state_pressed="true"
+ android:drawable="@drawable/ic_emoji_objects_activated_holo_dark" />
+ <item
+ android:state_selected="true"
+ android:drawable="@drawable/ic_emoji_objects_activated_holo_dark" />
+ <item android:drawable="@drawable/ic_emoji_objects_normal_holo_dark" />
+</selector>
diff --git a/java/res/drawable/ic_emoji_places_light.xml b/java/res/drawable/ic_emoji_people_holo_dark.xml
index 312cad9c3..15955d261 100644
--- a/java/res/drawable/ic_emoji_places_light.xml
+++ b/java/res/drawable/ic_emoji_people_holo_dark.xml
@@ -21,12 +21,12 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
- android:drawable="@drawable/ic_emoji_places_light_activated" />
+ android:drawable="@drawable/ic_emoji_people_activated_holo_dark" />
<item
android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_places_light_activated" />
+ android:drawable="@drawable/ic_emoji_people_activated_holo_dark" />
<item
android:state_selected="true"
- android:drawable="@drawable/ic_emoji_places_light_activated" />
- <item android:drawable="@drawable/ic_emoji_places_light_normal" />
+ android:drawable="@drawable/ic_emoji_people_activated_holo_dark" />
+ <item android:drawable="@drawable/ic_emoji_people_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/ic_emoji_people_light.xml b/java/res/drawable/ic_emoji_places_holo_dark.xml
index ea9e406a4..260bbd843 100644
--- a/java/res/drawable/ic_emoji_people_light.xml
+++ b/java/res/drawable/ic_emoji_places_holo_dark.xml
@@ -21,12 +21,12 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
- android:drawable="@drawable/ic_emoji_people_light_activated" />
+ android:drawable="@drawable/ic_emoji_places_activated_holo_dark" />
<item
android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_people_light_activated" />
+ android:drawable="@drawable/ic_emoji_places_activated_holo_dark" />
<item
android:state_selected="true"
- android:drawable="@drawable/ic_emoji_people_light_activated" />
- <item android:drawable="@drawable/ic_emoji_people_light_normal" />
+ android:drawable="@drawable/ic_emoji_places_activated_holo_dark" />
+ <item android:drawable="@drawable/ic_emoji_places_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/ic_emoji_objects_light.xml b/java/res/drawable/ic_emoji_recent_holo_dark.xml
index 4096e695b..225caeb2b 100644
--- a/java/res/drawable/ic_emoji_objects_light.xml
+++ b/java/res/drawable/ic_emoji_recent_holo_dark.xml
@@ -21,12 +21,12 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
- android:drawable="@drawable/ic_emoji_objects_light_activated" />
+ android:drawable="@drawable/ic_emoji_recent_activated_holo_dark" />
<item
android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_objects_light_activated" />
+ android:drawable="@drawable/ic_emoji_recent_activated_holo_dark" />
<item
android:state_selected="true"
- android:drawable="@drawable/ic_emoji_objects_light_activated" />
- <item android:drawable="@drawable/ic_emoji_objects_light_normal" />
+ android:drawable="@drawable/ic_emoji_recent_activated_holo_dark" />
+ <item android:drawable="@drawable/ic_emoji_recent_normal_holo_dark" />
</selector>
diff --git a/java/res/drawable/ic_emoji_recent_light.xml b/java/res/drawable/ic_emoji_recent_light.xml
deleted file mode 100644
index 8c2123f83..000000000
--- a/java/res/drawable/ic_emoji_recent_light.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:state_focused="true"
- android:drawable="@drawable/ic_emoji_recent_light_activated" />
- <item
- android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_recent_light_activated" />
- <item
- android:state_selected="true"
- android:drawable="@drawable/ic_emoji_recent_light_activated" />
- <item android:drawable="@drawable/ic_emoji_recent_light_normal" />
-</selector>
diff --git a/java/res/drawable/ic_emoji_symbols_holo_dark.xml b/java/res/drawable/ic_emoji_symbols_holo_dark.xml
new file mode 100644
index 000000000..831d6594b
--- /dev/null
+++ b/java/res/drawable/ic_emoji_symbols_holo_dark.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_focused="true"
+ android:drawable="@drawable/ic_emoji_symbols_activated_holo_dark" />
+ <item
+ android:state_pressed="true"
+ android:drawable="@drawable/ic_emoji_symbols_activated_holo_dark" />
+ <item
+ android:state_selected="true"
+ android:drawable="@drawable/ic_emoji_symbols_activated_holo_dark" />
+ <item android:drawable="@drawable/ic_emoji_symbols_normal_holo_dark" />
+</selector>
diff --git a/java/res/drawable/ic_emoji_symbols_light.xml b/java/res/drawable/ic_emoji_symbols_light.xml
deleted file mode 100644
index 79aaf0fc5..000000000
--- a/java/res/drawable/ic_emoji_symbols_light.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:state_focused="true"
- android:drawable="@drawable/ic_emoji_symbols_light_activated" />
- <item
- android:state_pressed="true"
- android:drawable="@drawable/ic_emoji_symbols_light_activated" />
- <item
- android:state_selected="true"
- android:drawable="@drawable/ic_emoji_symbols_light_activated" />
- <item android:drawable="@drawable/ic_emoji_symbols_light_normal" />
-</selector>
diff --git a/java/res/drawable/keyboard_key_feedback_lxx.xml b/java/res/drawable/keyboard_key_feedback_lxx_dark.xml
index 2abbc909d..e624a8ba8 100644
--- a/java/res/drawable/keyboard_key_feedback_lxx.xml
+++ b/java/res/drawable/keyboard_key_feedback_lxx_dark.xml
@@ -20,17 +20,17 @@
>
<!-- Left edge -->
<item latin:state_left_edge="true" latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_left_more_background_lxx" />
+ android:drawable="@drawable/keyboard_key_feedback_left_more_background_lxx_dark" />
<item latin:state_left_edge="true"
- android:drawable="@drawable/keyboard_key_feedback_left_background_lxx" />
+ android:drawable="@drawable/keyboard_key_feedback_left_background_lxx_dark" />
<!-- Right edge -->
<item latin:state_right_edge="true" latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_right_more_background_lxx" />
+ android:drawable="@drawable/keyboard_key_feedback_right_more_background_lxx_dark" />
<item latin:state_right_edge="true"
- android:drawable="@drawable/keyboard_key_feedback_right_background_lxx" />
+ android:drawable="@drawable/keyboard_key_feedback_right_background_lxx_dark" />
<item latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_more_background_lxx" />
- <item android:drawable="@drawable/keyboard_key_feedback_background_lxx" />
+ android:drawable="@drawable/keyboard_key_feedback_more_background_lxx_dark" />
+ <item android:drawable="@drawable/keyboard_key_feedback_background_lxx_dark" />
</selector>
diff --git a/java/res/layout/emoji_palettes_view.xml b/java/res/layout/emoji_palettes_view.xml
index 761887168..c0c346ef0 100644
--- a/java/res/layout/emoji_palettes_view.xml
+++ b/java/res/layout/emoji_palettes_view.xml
@@ -41,11 +41,11 @@
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@drawable/tab_selected"
+ android:background="@drawable/emoji_category_tab_selected_holo_dark"
android:divider="@null"
android:tabStripEnabled="true"
- android:tabStripLeft="@drawable/tab_unselected"
- android:tabStripRight="@drawable/tab_unselected" />
+ android:tabStripLeft="@drawable/emoji_category_tab_unselected_holo_dark"
+ android:tabStripRight="@drawable/emoji_category_tab_unselected_holo_dark" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dip"
@@ -70,7 +70,6 @@
android:layout_width="0dip"
android:layout_weight="12.5"
android:layout_height="match_parent"
- android:background="@color/emoji_key_background_color"
android:src="@drawable/sym_keyboard_delete_holo_dark"
android:contentDescription="@string/spoken_description_delete" />
</LinearLayout>
@@ -82,7 +81,7 @@
android:id="@+id/emoji_category_page_id_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@color/emoji_category_page_id_view_background" />
+ android:background="@color/emoji_category_page_id_background_holo" />
<LinearLayout
android:id="@+id/emoji_action_bar"
android:orientation="horizontal"
diff --git a/java/res/values-af/strings-talkback-descriptions.xml b/java/res/values-af/strings-talkback-descriptions.xml
index a3a94ad64..439b39119 100644
--- a/java/res/values-af/strings-talkback-descriptions.xml
+++ b/java/res/values-af/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> voer outokorrigering uit"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Sleutelkode %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift aan (tik om te deaktiveer)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Kasslot aan (tik om te deaktiveer)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Meer simbole"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simbole"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Vee uit"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simbole"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letters"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift geaktiveer"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Bokas-slot geaktiveer"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Simboolmodus"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Simbole-skuifsleutelmodus"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Meersimbole-modus"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Lettermodus"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Foonmodus"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Foonsimbool-modus"</string>
diff --git a/java/res/values-am/strings-talkback-descriptions.xml b/java/res/values-am/strings-talkback-descriptions.xml
index 029efac73..79c4d08ec 100644
--- a/java/res/values-am/strings-talkback-descriptions.xml
+++ b/java/res/values-am/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> የራስ ሰር እርማት ያከናውናል"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"የቁልፍ ኮድ %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"ቀይር"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"መቀያየሪያ ቁልፍ በርቷል (ለማሰናከል መታ ያድርጉ)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"አብይ ፊደል ማድረጊያ ቁልፍ በርቷል (ለማሰናክል ነካ ያድርጉ)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"ተጨማሪ ምልክቶች"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"ምልክቶች"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"ሰርዝ"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"ምልክቶች"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"ደብዳቤዎች"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"መቀያየሪያ ቁልፍ ነቅቷል"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"አብይ ፊደል ማድረጊያ ቁልፍ ነቅቷል"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"የምልክቶች ሁኔታ"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"የምልክቶች ቀይር ሁነታ"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"የተጨማሪ ምልክቶች ሁነታ"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"የደብዳቤዎች ሁኔታ"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"የስልክ ሁኔታ"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"የስልክ ምልክቶች ሁኔታ"</string>
diff --git a/java/res/values-ar/strings-talkback-descriptions.xml b/java/res/values-ar/strings-talkback-descriptions.xml
index 4a975823d..a9110a7b5 100644
--- a/java/res/values-ar/strings-talkback-descriptions.xml
+++ b/java/res/values-ar/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> لإجراء التصحيح التلقائي"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"‏رمز المفتاح %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"‏Shift يعمل (انقر للتعطيل)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"‏Caps lock يعمل (انقر للتعطيل)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"المزيد من الرموز"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"رموز"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"حذف"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"رموز"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"أحرف"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"‏تم تمكين Shift"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"‏تم تمكين Caps lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"وضع الرموز"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"وضع تبديل الرموز"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"المزيد من وضع الرموز"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"وضع الأحرف"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"وضع الهاتف"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"وضع رموز الهاتف"</string>
diff --git a/java/res/values-az-rAZ/strings-talkback-descriptions.xml b/java/res/values-az-rAZ/strings-talkback-descriptions.xml
index 321589717..0ff31f3b4 100644
--- a/java/res/values-az-rAZ/strings-talkback-descriptions.xml
+++ b/java/res/values-az-rAZ/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> avto-korreksiyanı həyata keçirir"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"%d açar kodu"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Sürüşdürmə"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Sürüşdürmə aktivdir (deaktiv etmək üçün klikləyin)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Böyük hərf kilidi aktivdir (deaktiv etmək üçün klikləyin)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Daha çox simvol"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Sürüşdürmə"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simvollar"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Sürüşdürmə"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Sil"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simvollar"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Hərflər"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Sürüşdürmə aktivdir"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Böyük hərf kilidi aktivdir"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Simvol rejimi"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Simvol dəyişmə rejimi"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Daha çox simvol rejimi"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Hərf rejimi"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefon rejimi"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefon simvol rejimi"</string>
diff --git a/java/res/values-bg/strings-talkback-descriptions.xml b/java/res/values-bg/strings-talkback-descriptions.xml
index 483f778f4..4b8168caa 100644
--- a/java/res/values-bg/strings-talkback-descriptions.xml
+++ b/java/res/values-bg/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"„<xliff:g id="KEY_NAME">%1$s</xliff:g>“ изпълнява автоматично коригиране"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Код на клавишa %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"„Shift“ е включен (докоснете за деактивиране)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"„Caps lock“ е включен (докоснете за деактивиране)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Delete"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Символи"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Букви"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"„Shift“ е активиран"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"„Caps Lock“ е активиран"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Режим за символи"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Режим за промяна на символите"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Режим за букви"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Режим за телефонни номера"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Режим за символи на телефона"</string>
diff --git a/java/res/values-ca/strings-talkback-descriptions.xml b/java/res/values-ca/strings-talkback-descriptions.xml
index 77894e7c9..bd6077ad0 100644
--- a/java/res/values-ca/strings-talkback-descriptions.xml
+++ b/java/res/values-ca/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> executa la correcció automàtica."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Clau de codi %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Maj"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Maj activat (toca per desactivar)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Bloq Maj activat (toca per desactivar)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Més símbols"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maj"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Símbols"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Maj"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Suprimeix"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Símbols"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Lletres"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Maj activat"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Bloq Maj activat"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Mode de símbols"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mode de canvi de símbols"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Mode de més símbols"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Mode de lletres"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Mode de telèfon"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Mode de símbols de telèfon"</string>
diff --git a/java/res/values-cs/strings-talkback-descriptions.xml b/java/res/values-cs/strings-talkback-descriptions.xml
index 8f97f127a..0e35c8239 100644
--- a/java/res/values-cs/strings-talkback-descriptions.xml
+++ b/java/res/values-cs/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Klávesou <xliff:g id="KEY_NAME">%1$s</xliff:g> provedete automatickou opravu"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kód klávesy %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Klávesa Shift je zapnutá (vypnete ji klepnutím)."</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Klávesa Caps Lock je zapnutá (vypnete ji klepnutím)."</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Další symboly"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboly"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Smazat"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboly"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Písmena"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Klávesa Shift je aktivní"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Klávesa Caps Lock je aktivní"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Režim symbolů"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Režim změny symbolů"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Režim dalších symbolů"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Režim písmen"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Režim telefonu"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Režim telefonních symbolů"</string>
diff --git a/java/res/values-da/strings-talkback-descriptions.xml b/java/res/values-da/strings-talkback-descriptions.xml
index f4e3e1670..669c18375 100644
--- a/java/res/values-da/strings-talkback-descriptions.xml
+++ b/java/res/values-da/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> udfører automatisk stavekontrol"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Tastekode %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift er aktiveret (tryk for at deaktivere)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock er slået til (tryk for at deaktivere)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Flere symboler"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift-tast"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboler"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift-tast"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Slet"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboler"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Bogstaver"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift er aktiveret"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock er aktiveret"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symboltilstand"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symboltilstand"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Tilstaden Flere symboler"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Bogstavtilstand"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefontilstand"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefonsymboltilstand"</string>
diff --git a/java/res/values-de/strings-talkback-descriptions.xml b/java/res/values-de/strings-talkback-descriptions.xml
index 953249b9e..d5c54e04a 100644
--- a/java/res/values-de/strings-talkback-descriptions.xml
+++ b/java/res/values-de/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Mit <xliff:g id="KEY_NAME">%1$s</xliff:g> erfolgt eine Autokorrektur."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Tastencode %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Umschalttaste"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Umschalttaste aktiviert (zum Deaktivieren berühren)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Feststelltaste aktiviert (zum Deaktivieren berühren)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Weitere Symbole"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift-Taste"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbole"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift-Taste"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Löschen"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbole"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Buchstaben"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Umschalttaste aktiviert"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Feststelltaste aktiviert"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbolmodus"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symbolumschaltmodus"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modus \"Weitere Symbole\""</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Buchstabenmodus"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefonmodus"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefon-Symbolmodus"</string>
diff --git a/java/res/values-el/strings-talkback-descriptions.xml b/java/res/values-el/strings-talkback-descriptions.xml
index 28d31a11b..aef593cd7 100644
--- a/java/res/values-el/strings-talkback-descriptions.xml
+++ b/java/res/values-el/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> εκτελεί αυτόματη διόρθωση"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Κωδικός πλήκτρου %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Το Shift είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Το Caps lock είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Περισσότερα σύμβολα"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Σύμβολα"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Διαγραφή"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Σύμβολα"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Γράμματα"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Το Shift είναι ενεργοποιημένο"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Το Caps lock είναι ενεργοποιημένο"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Λειτουργία συμβόλων"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Λειτουργία μετατόπισης συμβόλων"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Λειτουργία περισσότερων συμβόλων"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Λειτουργία γραμμάτων"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Λειτουργία τηλεφώνου"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Λειτουργία συμβόλων τηλεφώνου"</string>
diff --git a/java/res/values-en-rGB/strings-talkback-descriptions.xml b/java/res/values-en-rGB/strings-talkback-descriptions.xml
index ccf5188e2..c6c8f6d79 100644
--- a/java/res/values-en-rGB/strings-talkback-descriptions.xml
+++ b/java/res/values-en-rGB/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> performs auto-correction"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift on (tap to disable)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock on (tap to disable)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"More symbols"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbols"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Delete"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbols"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letters"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift enabled"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock enabled"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbols mode"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symbols shift mode"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"More symbols mode"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Letters mode"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Phone mode"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Phone symbols mode"</string>
diff --git a/java/res/values-en-rIN/strings-talkback-descriptions.xml b/java/res/values-en-rIN/strings-talkback-descriptions.xml
index ccf5188e2..c6c8f6d79 100644
--- a/java/res/values-en-rIN/strings-talkback-descriptions.xml
+++ b/java/res/values-en-rIN/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> performs auto-correction"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift on (tap to disable)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock on (tap to disable)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"More symbols"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbols"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Delete"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbols"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letters"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift enabled"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock enabled"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbols mode"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symbols shift mode"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"More symbols mode"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Letters mode"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Phone mode"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Phone symbols mode"</string>
diff --git a/java/res/values-es-rUS/strings-talkback-descriptions.xml b/java/res/values-es-rUS/strings-talkback-descriptions.xml
index b64ccae2b..7ccc35f86 100644
--- a/java/res/values-es-rUS/strings-talkback-descriptions.xml
+++ b/java/res/values-es-rUS/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige automáticamente."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Clave de código %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Mayúsculas"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Mayúsculas activado (presiona para desactivarlo)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Bloqueo de mayúsculas activado (presiona para desactivarlo)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Más símbolos"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Mayúscula"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Símbolos"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Mayúscula"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Eliminar"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Símbolos"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letras"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Mayúsculas activado"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Bloqueo de mayúsculas activado"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modo Símbolos"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Modo de cambio de símbolos"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modo de más símbolos"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modo Letras"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modo Teléfono"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modo Símbolos del teléfono"</string>
diff --git a/java/res/values-es/strings-talkback-descriptions.xml b/java/res/values-es/strings-talkback-descriptions.xml
index c539e709a..2e21b6c44 100644
--- a/java/res/values-es/strings-talkback-descriptions.xml
+++ b/java/res/values-es/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corregirá la palabra automáticamente"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Código del teclado: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Mayús"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Mayúsculas activadas (tocar para inhabilitar)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Bloqueo de mayúsculas activado (tocar para inhabilitar)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Más símbolos"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Mayús"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Símbolos"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Mayús"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Eliminar"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Símbolos"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letras"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Mayúsculas habilitadas"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Bloq Mayús habilitado"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modo de símbolos"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Modo de cambio de símbolos"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modo de más símbolos"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modo de letras"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modo de teléfono"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modo de símbolos de teléfono"</string>
diff --git a/java/res/values-et-rEE/strings-talkback-descriptions.xml b/java/res/values-et-rEE/strings-talkback-descriptions.xml
index dcad8dd13..000107195 100644
--- a/java/res/values-et-rEE/strings-talkback-descriptions.xml
+++ b/java/res/values-et-rEE/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> teeb automaatse paranduse"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Klahvi kood: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Tõstuklahv"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Tõstuklahv sees (puudutage keelamiseks)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Suurtähelukk on sees (puudutage keelamiseks)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Rohkem sümboleid"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Tõstuklahv"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Sümbolid"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Tõstuklahv"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Kustutamine"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Sümbolid"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Tähed"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Tõstuklahv on lubatud"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Suurtähelukk on lubatud"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Sümbolite režiim"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Sümbolite tõsturežiim"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Režiim Rohkem sümboleid"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Tähtede režiim"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefonirežiim"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefoni sümbolite režiim"</string>
diff --git a/java/res/values-fa/strings-talkback-descriptions.xml b/java/res/values-fa/strings-talkback-descriptions.xml
index bd3fa20c9..a8f4e1f67 100644
--- a/java/res/values-fa/strings-talkback-descriptions.xml
+++ b/java/res/values-fa/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> تصحیح خودکار را انجام می‌دهد"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"‏کد کلید %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"‏Shift روشن است (برای غیرفعال کردن ضربه بزنید)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"‏Caps Lock روشن است (برای غیرفعال کردن ضربه بزنید)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"نمادهای بیشتر"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"تغییر وضعیت"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"نمادها"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"تغییر وضعیت"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"حذف"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"نمادها"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"حروف"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"‏Shift فعال شد"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"‏Caps lock فعال شد"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"حالت نمادها"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"حالت تغییر نمادها"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"حالت نمادهای بیشتر"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"حالت حروف"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"حالت تلفن"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"حالت نمادهای تلفن"</string>
diff --git a/java/res/values-fi/strings-talkback-descriptions.xml b/java/res/values-fi/strings-talkback-descriptions.xml
index 2ba3cdcba..80cf8f989 100644
--- a/java/res/values-fi/strings-talkback-descriptions.xml
+++ b/java/res/values-fi/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> suorittaa automaattisen korjauksen"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Näppäimen koodi %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Vaihto"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Vaihto päällä (poista käytöstä napauttamalla)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock päällä (poista käytöstä napauttamalla)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Delete"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbolit"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Kirjaimet"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Vaihto päällä"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock päällä"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbolit-tila"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symbolien vaihtotila"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Näppäimistötila"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Puhelintila"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Puhelinsymbolit-tila"</string>
diff --git a/java/res/values-fr-rCA/strings-talkback-descriptions.xml b/java/res/values-fr-rCA/strings-talkback-descriptions.xml
index f6f1fbb0f..7f9eaaab7 100644
--- a/java/res/values-fr-rCA/strings-talkback-descriptions.xml
+++ b/java/res/values-fr-rCA/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Code touche %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Majuscule"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Touche Majuscule activée (toucher pour désactiver)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Verrouillage des majuscules activé (toucher pour désactiver)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Autres symboles"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Majuscule"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboles"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Majuscule"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Supprimer"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboles"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Lettres"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Touche Maj activée"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Verrouillage des majuscules activé"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Mode Symboles"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mode majuscule pour les symboles"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Mode Autres symboles"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Mode Lettres"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Mode Téléphone"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Mode Symboles du téléphone"</string>
diff --git a/java/res/values-fr/strings-talkback-descriptions.xml b/java/res/values-fr/strings-talkback-descriptions.xml
index 49e68dd2a..97f5c6cac 100644
--- a/java/res/values-fr/strings-talkback-descriptions.xml
+++ b/java/res/values-fr/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Code touche %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Maj"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Touche Maj activée (appuyer pour désactiver)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Verrouillage des majuscules activé (appuyer pour désactiver)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Autres symboles"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maj"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboles"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Maj"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Supprimer"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboles"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Lettres"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"La touche Maj a bien été activée."</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Le verrouillage des majuscules a bien été activé."</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Mode Symboles"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mode majuscule pour les symboles"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Mode Autres symboles"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Mode Lettres"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Mode Téléphone"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Mode Symboles du téléphone"</string>
diff --git a/java/res/values-hi/strings-talkback-descriptions.xml b/java/res/values-hi/strings-talkback-descriptions.xml
index 55d457875..39e53ad96 100644
--- a/java/res/values-hi/strings-talkback-descriptions.xml
+++ b/java/res/values-hi/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> स्वत: सुधार करता है"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"कुंजी कोड %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"शिफ़्ट"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"शिफ़्ट चालू (अक्षम करने के लिए टैप करें)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"कैप्स लॉक चालू (अक्षम करने के लिए टैप करें)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"और प्रतीक"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"शिफ़्ट"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"प्रतीक"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"शिफ़्ट"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"डिलीट"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"प्रतीक"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"अक्षर"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"शिफ़्ट सक्षम किया गया"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"कैप्स लॉक सक्षम किया गया"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"प्रतीक मोड"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"प्रतीक शिफ़्ट मोड"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"और प्रतीक मोड"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"अक्षर मोड"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"फ़ोन मोड"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"फ़ोन प्रतीक मोड"</string>
diff --git a/java/res/values-hr/strings-talkback-descriptions.xml b/java/res/values-hr/strings-talkback-descriptions.xml
index b9e347778..e13101657 100644
--- a/java/res/values-hr/strings-talkback-descriptions.xml
+++ b/java/res/values-hr/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> vrši samoispravljanje"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kôd tipke %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Uključena je tipka Shift (dodirnite za onemogućivanje)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Uključeno je pisanje velikim slovima (Caps Lock) (dodirnite za onemogućivanje)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Brisanje"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simboli"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Slova"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Omogućena je tipka Shift"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Omogućen je Caps Lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Način unosa simbola"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Način shift simbola"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Način unosa slova"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefonski način rada"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Način unosa telefonskih simbola"</string>
diff --git a/java/res/values-hu/strings-talkback-descriptions.xml b/java/res/values-hu/strings-talkback-descriptions.xml
index ef786bc35..2bf2a8aeb 100644
--- a/java/res/values-hu/strings-talkback-descriptions.xml
+++ b/java/res/values-hu/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> billentyű automatikus javítást végez"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Billentyűkód: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"A Shift be van kapcsolva (érintse meg a kikapcsoláshoz)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"A Caps lock be van kapcsolva (érintse meg a kikapcsoláshoz)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"További szimbólumok"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Szimbólumok"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Törlés"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Szimbólumok"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Betűk"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift bekapcsolva"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock bekapcsolva"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"„Szimbólumok” mód"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Szimbólumok mód"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"További szimbólumok mód"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"„Betű” mód"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"„Telefon” mód"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"„Telefonos szimbólumok” mód"</string>
diff --git a/java/res/values-hy-rAM/strings-talkback-descriptions.xml b/java/res/values-hy-rAM/strings-talkback-descriptions.xml
index 8e5ff677b..bbf20cf5e 100644
--- a/java/res/values-hy-rAM/strings-talkback-descriptions.xml
+++ b/java/res/values-hy-rAM/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ստեղնը ինքնաշտկում է կատարում"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Բանալու կոդը՝ %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift-ը միացված է (հպել անջատելու համար)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock-ը միացված է (հպել՝ անջատելու համար)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Ջնջել"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Նշաններ"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Տառեր"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift-ը միացված է"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock-ը միացված է"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Նշանների ռեժիմ"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Մեծատառերի ռեժիմ"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Տառերի ռեժիմ"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Հեռախոսային ռեժիմ"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Հեռախոսի նշանների ռեժիմ"</string>
diff --git a/java/res/values-in/strings-talkback-descriptions.xml b/java/res/values-in/strings-talkback-descriptions.xml
index af033374a..8f51fb709 100644
--- a/java/res/values-in/strings-talkback-descriptions.xml
+++ b/java/res/values-in/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> melakukan koreksi otomatis"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kode tombol %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift aktif (ketuk untuk menonaktifkan)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock aktif (ketuk untuk menonaktifkan)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Hapus"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simbol"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Huruf"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift diaktifkan"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock diaktifkan"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Mode simbol"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mode mengubah simbol"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Mode huruf"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Mode telepon"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Mode simbol telepon"</string>
diff --git a/java/res/values-it/strings-talkback-descriptions.xml b/java/res/values-it/strings-talkback-descriptions.xml
index d6b55ae5e..f1d0dae81 100644
--- a/java/res/values-it/strings-talkback-descriptions.xml
+++ b/java/res/values-it/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> esegue la correzione automatica"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Codice tasto %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Maiusc"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Maiusc attivo (tocca per disattivare)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Blocco maiuscole attivo (tocca per disattivare)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Altri simboli"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maiusc"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simboli"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Maiusc"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Elimina"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simboli"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Lettere"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Maiusc attivo"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Bloc Maiusc attivo"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modalità simboli"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Modalità tastiera simboli"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modalità altri simboli"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modalità lettere"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modalità telefono"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modalità simboli telefono"</string>
diff --git a/java/res/values-iw/strings-talkback-descriptions.xml b/java/res/values-iw/strings-talkback-descriptions.xml
index 8955134f9..eee16eb0a 100644
--- a/java/res/values-iw/strings-talkback-descriptions.xml
+++ b/java/res/values-iw/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> מבצע תיקון אוטומטי"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"‏קוד מקש %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"‏Shift פועל (הקש כדי להשבית)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"‏Caps Lock פועל (הקש כדי להשבית)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"סמלים נוספים"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"סמלים"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"מחק"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"סמלים"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"אותיות"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"‏Shift פועל"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"‏Caps Lock פועל"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"מצב סמלים"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"מצב החלפת סמלים"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"מצב \'סמלים נוספים\'"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"מצב אותיות"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"מצב טלפון"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"מצב סמלי טלפון"</string>
diff --git a/java/res/values-ja/strings-talkback-descriptions.xml b/java/res/values-ja/strings-talkback-descriptions.xml
index 6e917bcca..24796037c 100644
--- a/java/res/values-ja/strings-talkback-descriptions.xml
+++ b/java/res/values-ja/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g>で自動修正が実行されます"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"キーコード: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift有効(タップして解除)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"CapsLock有効(タップして解除)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"記号拡張"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"記号"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"削除"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"記号"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"英字"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift有効"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"CapsLock有効"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"記号モード"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"シンボルshiftモード"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"記号拡張モード"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"英数モード"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"電話モード"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"電話記号モード"</string>
diff --git a/java/res/values-ka-rGE/strings-talkback-descriptions.xml b/java/res/values-ka-rGE/strings-talkback-descriptions.xml
index bd131e129..5771a803c 100644
--- a/java/res/values-ka-rGE/strings-talkback-descriptions.xml
+++ b/java/res/values-ka-rGE/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ასრულებს ავტოკორექციას"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"კლავიატურის კოდი %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift ჩართულია (შეეხეთ გამოსართავად)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"ჩართულია Caps (შეეხეთ გამოსართავად)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"წაშლა"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"სიმბოლოები"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"ასოები"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift ჩართულია"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"ჩართულია Caps"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"სიმბოლოების რეჟიმი"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"სიმბოლოების shift რეჟიმი"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"ასოების რეჟიმი"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"ტელეფონის რეჟიმი"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"ტელეფონის სიმბოლოების რეჟიმი"</string>
diff --git a/java/res/values-km-rKH/strings-talkback-descriptions.xml b/java/res/values-km-rKH/strings-talkback-descriptions.xml
index ef415a9c2..7a2c71042 100644
--- a/java/res/values-km-rKH/strings-talkback-descriptions.xml
+++ b/java/res/values-km-rKH/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> អនុវត្ត​ការ​កែ​ស្វ័យ​ប្រវត្តិ"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"កូដ​គ្រាប់​ចុច %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"បើក Shift (​ប៉ះ​ដើម្បី​បិទ)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"បើក Caps lock (ប៉ះ​​ដើម្បី​បិទ)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"និមិត្ត​សញ្ញា​​ច្រើន​ទៀត"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"និមិត្តសញ្ញា"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"លុប"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"និមិត្តសញ្ញា"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"អក្សរ"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"បាន​បើក Shift"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"បាន​បើក Caps lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"របៀប​និមិត្ត​សញ្ញា"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"របៀប Symbols shift"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"របៀប​និមិត្ត​សញ្ញា​​ច្រើន​ទៀត"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"របៀប​អក្សរ"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"របៀប​ទូរស័ព្ទ"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"​របៀប​និមិត្ត​សញ្ញា​ទូរស័ព្ទ"</string>
diff --git a/java/res/values-ko/strings-talkback-descriptions.xml b/java/res/values-ko/strings-talkback-descriptions.xml
index 71c49d7af..7ead94319 100644
--- a/java/res/values-ko/strings-talkback-descriptions.xml
+++ b/java/res/values-ko/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g>을(를) 누르면 자동 수정됩니다."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"키 코드 %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift 키"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift 사용(사용하지 않으려면 탭하세요.)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock 사용(사용하지 않으려면 탭하세요.)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"삭제"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"기호"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"문자"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift 사용"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock 사용"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"기호 모드"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"기호 전환 모드"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"문자 모드"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"다이얼 모드"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"전화 기호 모드"</string>
diff --git a/java/res/values-lo-rLA/strings-talkback-descriptions.xml b/java/res/values-lo-rLA/strings-talkback-descriptions.xml
index b67ec9679..4b9294c6e 100644
--- a/java/res/values-lo-rLA/strings-talkback-descriptions.xml
+++ b/java/res/values-lo-rLA/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ດຳ​ເນີນ​ການ​ແກ້​ໄຂ​ອັດ​ຕະ​ໂນ​ມັດ"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"ລະຫັດ​ກະແຈ %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift ເປີດ​ນຳໃຊ້ຢູ່ (ກົດ​ເພື່ອ​ປິດນຳໃຊ້)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock ເປີດຢູ່ (ກົດ​ເພື່ອ​ປິດນຳໃຊ້)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"​ສັນ​ຍາ​ລັກ​ເພີ່ມ​ເຕີມ"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"​ສັນ​ຍາ​ລັກ"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"ລຶບ"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"ສັນຍາລັກ"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"ໂຕອັກ​ສອນ"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift ເປີດ​ນຳໃຊ້ຢູ່"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock ເປີດນຳໃຊ້ຢູ່"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"ໂຫມດ​ສັນຍາລັກ"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"ຊີມໂບຊິບໂໝດ"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"ໂໝດ​ສັນ​ຍາ​ລັກ​ເພີ່ມ​ເຕີມ"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"ໂຫມດ​ໂຕອັກ​ສອນ"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"ໂຫມດ​ໂທລະສັບ"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"ໂຫມດ​ສັນຍາລັກ​ໂທລະສັບ"</string>
diff --git a/java/res/values-lt/strings-talkback-descriptions.xml b/java/res/values-lt/strings-talkback-descriptions.xml
index e584180be..63b52a1d4 100644
--- a/java/res/values-lt/strings-talkback-descriptions.xml
+++ b/java/res/values-lt/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> atlieka automatinį taisymą"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Klavišo kodas %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Klavišas „Shift“"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Klavišas „Shift“ įjungtas (palieskite, kad išjungtumėte)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Įjungtos didžiosios raidės (palieskite, kad išjungtumėte)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Daugiau simbolių"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Klavišas „Shift“"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simboliai"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Klavišas „Shift“"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Ištrinti"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simbolių klavišas"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Raidžių klavišas"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Klavišas „Shift“ įgalintas"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Didžiųjų raidžių klavišas įgalintas"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Simbolių režimas"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Simbolių perjungimo režimas"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Daugiau simbolių režimas"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Raidžių režimas"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefonų numerių režimas"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefonų numerių simbolių režimas"</string>
diff --git a/java/res/values-lv/strings-talkback-descriptions.xml b/java/res/values-lv/strings-talkback-descriptions.xml
index 8278e636a..81a65c496 100644
--- a/java/res/values-lv/strings-talkback-descriptions.xml
+++ b/java/res/values-lv/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Taustiņam <xliff:g id="KEY_NAME">%1$s</xliff:g> ir automātiskas labošanas funkcija."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Taustiņu kods %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Pārslēgšanas taustiņš"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Pārslēgšanas režīms ir iespējots (pieskarieties, lai atspējotu)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Burtslēgs ir iespējots (pieskarieties, lai atspējotu)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Citi simboli"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Pārslēgšanas taustiņš"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simboli"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Pārslēgšanas taustiņš"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Dzēšanas taustiņš"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simboli"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Burti"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Pārslēgšanas režīms ir iespējots"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Burtslēgs ir iespējots"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Simbolu režīms"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Simbolu pārslēgšanas režīms"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Citu simbolu režīms"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Burtu režīms"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Tālruņa režīms"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Tālruņa simbolu režīms"</string>
diff --git a/java/res/values-mn-rMN/strings-talkback-descriptions.xml b/java/res/values-mn-rMN/strings-talkback-descriptions.xml
index f4c608eea..fb0d382a8 100644
--- a/java/res/values-mn-rMN/strings-talkback-descriptions.xml
+++ b/java/res/values-mn-rMN/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> авто-залруулалт хийдэг"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Товчийн код %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Шифт"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Сэлгэхийг идэвхжүүлсэн (товшиж идэвхгүйжүүлнэ үү)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Томоор бичихийг асаасан (товшиж идэвхгүйжүүлнэ үү)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Өөр тэмдэгтүүд"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Шифт"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Симбол"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Шифт"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Устгах"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Симбол"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Үсэгнүүд"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Сэлгэхийг идэвхжүүлсэн"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Томоор бичихийг идэвхжүүлсэн"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Симбол төлөв"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Симбол сэлгэх горим"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Өөр тэмдэгтийн горим"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Үсэгнүүд төлөв"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Утасны төлөв"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Утасны символ төлөв"</string>
diff --git a/java/res/values-ms-rMY/strings-talkback-descriptions.xml b/java/res/values-ms-rMY/strings-talkback-descriptions.xml
index cbdd02f7d..9acae9a03 100644
--- a/java/res/values-ms-rMY/strings-talkback-descriptions.xml
+++ b/java/res/values-ms-rMY/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> melakukan auto pembetulan"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kod kunci %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Kunci anjak dihidupkan (ketik untuk melumpuhkan)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Kunci huruf besar dihidupkan (ketik untuk melumpuhkan)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Padam"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simbol"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Huruf"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Kunci anjak didayakan"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Kunci huruf besar didayakan"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Mod simbol"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mod shift simbol"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Mod huruf"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Mod telefon"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Mod simbol telefon"</string>
diff --git a/java/res/values-nb/strings-talkback-descriptions.xml b/java/res/values-nb/strings-talkback-descriptions.xml
index 23a6c8560..cdf80575a 100644
--- a/java/res/values-nb/strings-talkback-descriptions.xml
+++ b/java/res/values-nb/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> utfører automatisk retting"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Tastaturkode %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift er på (trykk for å deaktivere)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock er på (trykk for å deaktivere)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Flere symboler"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboler"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Slett"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboler"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Bokstaver"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift er aktivert"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock er aktivert"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbolmodus"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Shift-modus for symboler"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modus for flere symboler"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Bokstavmodus"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Ringemodus"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Ringemodus med symboler"</string>
diff --git a/java/res/values-ne-rNP/strings-talkback-descriptions.xml b/java/res/values-ne-rNP/strings-talkback-descriptions.xml
index a1602bb1d..3395d1bc8 100644
--- a/java/res/values-ne-rNP/strings-talkback-descriptions.xml
+++ b/java/res/values-ne-rNP/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ले स्वतः सच्याउने गर्छ"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"कुञ्जी कोड %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"सिफ्ट"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"सिफ्ट सक्रिय छ (असक्षम पार्न ट्याप गर्नुहोस्)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"क्याप्स लक सकृय छ (असक्षम पार्न ट्याप गर्नुहोस्)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"मेटाउनुहोस्"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"प्रतिकहरू"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"अक्षरहरू"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"सिफ्ट सक्षम पारिएको छ"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"क्याप्स लक सक्षम पारिएको छ"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"प्रतिक ढाँचा"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"प्रतीक सिफ्ट ढाँचा"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"अक्षर ढाँचा"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"फोन ढाँचा"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"फोन प्रतिक मोड"</string>
diff --git a/java/res/values-nl/strings-talkback-descriptions.xml b/java/res/values-nl/strings-talkback-descriptions.xml
index df87659fe..7d61d5660 100644
--- a/java/res/values-nl/strings-talkback-descriptions.xml
+++ b/java/res/values-nl/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Met <xliff:g id="KEY_NAME">%1$s</xliff:g> voert u automatische correctie uit"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Toetscode %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift aan (tik om uit te schakelen)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock aan (tik om uit te schakelen)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Meer symbolen"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbolen"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Verwijderen"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbolen"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letters"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift ingeschakeld"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock ingeschakeld"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbolen"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Shift-modus voor symbolen"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modus voor meer symbolen"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Alfanumeriek toetsenbord"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Toetsenbord telefoon"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefoonsymbolen"</string>
diff --git a/java/res/values-pl/strings-talkback-descriptions.xml b/java/res/values-pl/strings-talkback-descriptions.xml
index d40a107b8..da5f46b25 100644
--- a/java/res/values-pl/strings-talkback-descriptions.xml
+++ b/java/res/values-pl/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> wykonuje autokorektę"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kod klawisza: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift włączony (kliknij, by wyłączyć)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock włączony (kliknij, by wyłączyć)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Więcej symboli"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbole"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Usuń"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbole"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Litery"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift włączony"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock włączony"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Tryb symboli"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Tryb zmiany symboli"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Tryb dodatkowych symboli"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Tryb liter"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Tryb telefonu"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Tryb symboli telefonu"</string>
diff --git a/java/res/values-pt-rPT/strings-talkback-descriptions.xml b/java/res/values-pt-rPT/strings-talkback-descriptions.xml
index 5495a6374..b49b58bc2 100644
--- a/java/res/values-pt-rPT/strings-talkback-descriptions.xml
+++ b/java/res/values-pt-rPT/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> executa a correção automática"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Código da tecla %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift ativado (tocar para desativar)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock ativado (tocar para desativar)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Mais símbolos"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Símbolos"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Eliminar"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Símbolos"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letras"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift ativado"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock ativado"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modo de símbolos"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Modo para alternar símbolos"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Modo Mais símbolos"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modo de letras"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modo de telemóvel"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modo de símbolos de telemóvel"</string>
diff --git a/java/res/values-pt/strings-talkback-descriptions.xml b/java/res/values-pt/strings-talkback-descriptions.xml
index 47ab19616..b9a70f397 100644
--- a/java/res/values-pt/strings-talkback-descriptions.xml
+++ b/java/res/values-pt/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> realiza correção automática"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Código de tecla %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift ativado (toque para desativar)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock ativado (toque para desativar)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Excluir"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Símbolos"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letras"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift ativado"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock ativado"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modo de símbolos"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Modo de alternância de símbolos"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modo de letras"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modo de telefone"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modo de símbolos do telefone"</string>
diff --git a/java/res/values-ro/strings-talkback-descriptions.xml b/java/res/values-ro/strings-talkback-descriptions.xml
index de19bf1c1..03981237f 100644
--- a/java/res/values-ro/strings-talkback-descriptions.xml
+++ b/java/res/values-ro/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> efectuează corectare automată"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Tasta cu codul %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Tasta Shift este activată (apăsați pentru a o dezactiva)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Tasta Caps Lock este activată (apăsați pentru a o dezactiva)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Ștergeți"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simboluri"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Litere"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Tasta Shift a fost activată"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Tasta Caps Lock este activată"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Modul Simboluri"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Mod shift simboluri"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Modul Alfanumeric"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Modul Telefon"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Modul Telefon cu simboluri"</string>
diff --git a/java/res/values-ru/strings-talkback-descriptions.xml b/java/res/values-ru/strings-talkback-descriptions.xml
index a38da0f8b..e3ad26522 100644
--- a/java/res/values-ru/strings-talkback-descriptions.xml
+++ b/java/res/values-ru/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Клавиша <xliff:g id="KEY_NAME">%1$s</xliff:g> выполняет автоисправление."</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Код клавиши %d."</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Клавиша верхнего регистра."</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Верхний регистр включен. Нажмите, чтобы отключить."</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock включен. Нажмите, чтобы отключить."</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Удалить."</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Символы."</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Буквы."</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Верхний регистр включен."</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock включен."</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Режим добавления символов."</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Режим ввода символов в верхнем регистре."</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Режим ввода текста."</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Режим набора номера."</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Режим телефонных символов."</string>
diff --git a/java/res/values-sk/strings-talkback-descriptions.xml b/java/res/values-sk/strings-talkback-descriptions.xml
index 256eb3923..9c0a85752 100644
--- a/java/res/values-sk/strings-talkback-descriptions.xml
+++ b/java/res/values-sk/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Klávesom <xliff:g id="KEY_NAME">%1$s</xliff:g> spustíte automatické opravy"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Kód klávesa %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Kláves Shift je zapnutý (zakážete ho klepnutím)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Kláves Caps Lock je zapnutý (zakážete ho klepnutím)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Ďalšie symboly"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboly"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Odstrániť"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboly"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Písmená"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Kláves Shift je povolený"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Kláves Caps Lock je povolený"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Režim symbolov"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Režim klávesnice symbolov"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Režim ďalších symbolov"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Režim písmen"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Režim telefónu"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Režim telefónnych symbolov"</string>
diff --git a/java/res/values-sl/strings-talkback-descriptions.xml b/java/res/values-sl/strings-talkback-descriptions.xml
index 8a35f0f26..9cb296c27 100644
--- a/java/res/values-sl/strings-talkback-descriptions.xml
+++ b/java/res/values-sl/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Tipka <xliff:g id="KEY_NAME">%1$s</xliff:g> izvede samopopravek"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Koda tipke %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Tipka Shift je vklopljena (dotaknite se, da jo onemogočite)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Tipka Caps lock je vklopljena (dotaknite se, da jo onemogočite)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Več simbolov"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simboli"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Izbriši"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simboli"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Črke"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Način »Shift« je omogočen"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Funkcija »Caps Lock« je omogočena"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Način simbolov"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Način preklopa simbolov"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Način za več simbolov"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Način črk"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Način telefona"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Način simbolov telefona"</string>
diff --git a/java/res/values-sr/strings-talkback-descriptions.xml b/java/res/values-sr/strings-talkback-descriptions.xml
index 626bccc6a..1eea0846a 100644
--- a/java/res/values-sr/strings-talkback-descriptions.xml
+++ b/java/res/values-sr/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> обавља аутоматско исправљање"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Кôд тастера %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift је укључен (додирните да бисте га онемогућили)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock је укључен (додирните да бисте га онемогућили)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Избриши"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Симболи"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Слова"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift је омогућен"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock је омогућен"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Режим симбола"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Shift режим симбола"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Режим слова"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Режим телефона"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Режим симбола телефона"</string>
diff --git a/java/res/values-sv/strings-talkback-descriptions.xml b/java/res/values-sv/strings-talkback-descriptions.xml
index 50078fd71..062d337b4 100644
--- a/java/res/values-sv/strings-talkback-descriptions.xml
+++ b/java/res/values-sv/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Om du trycker på <xliff:g id="KEY_NAME">%1$s</xliff:g> utförs autokorrigering"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Nyckelkod %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Skift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Skift är aktiverat (tryck för att inaktivera)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock på (tryck för att inaktivera)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Fler symboler"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Skift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symboler"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Skift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Ta bort"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symboler"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Bokstäver"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Skift aktiverat"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock är aktiverat"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbolläge"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Symbolskiftningsläge"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Läge med fler symboler"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Bokstavsläge"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefonläge"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefonsymbolläge"</string>
diff --git a/java/res/values-sw/strings-talkback-descriptions.xml b/java/res/values-sw/strings-talkback-descriptions.xml
index 11ac28e6c..e7ab49f31 100644
--- a/java/res/values-sw/strings-talkback-descriptions.xml
+++ b/java/res/values-sw/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> hufanya marekebisho otomatiki"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Msimbo wa kitufe %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift imewashwa (gonga ili kuizima)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock imewashwa (gonga ili kuizima)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Alama zaidi"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Badilisha"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Alama"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Badilisha"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Futa"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Alama"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Herufi"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift imewashwa"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock imewashwa"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Hali ya alama"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Hali ya kubadilisha Alama"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Hali ya alama zaidi"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Hali ya herufi"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Hali ya simu"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Hali ya alama za simu"</string>
diff --git a/java/res/values-th/strings-talkback-descriptions.xml b/java/res/values-th/strings-talkback-descriptions.xml
index 013509543..62fb4440a 100644
--- a/java/res/values-th/strings-talkback-descriptions.xml
+++ b/java/res/values-th/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ทำการแก้ไขอัตโนมัติ"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"รหัสคีย์ %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift เปิดอยู่ (แตะเพื่อปิดใช้งาน)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock เปิดอยู่ (แตะเพื่อปิดใช้งาน)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"ลบ"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"สัญลักษณ์"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"ตัวอักษร"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"เปิดใช้งาน Shift แล้ว"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"เปิดใช้งาน Caps Lock แล้ว"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"โหมดสัญลักษณ์"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"โหมดการเลื่อนสัญลักษณ์"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"โหมดตัวอักษร"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"โหมดโทรศัพท์"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"โหมดสัญลักษณ์โทรศัพท์"</string>
diff --git a/java/res/values-tl/strings-talkback-descriptions.xml b/java/res/values-tl/strings-talkback-descriptions.xml
index e4eff7de9..4c34ad46f 100644
--- a/java/res/values-tl/strings-talkback-descriptions.xml
+++ b/java/res/values-tl/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Nagsasagawa ang <xliff:g id="KEY_NAME">%1$s</xliff:g> ng auto-correction"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Naka-on ang shift (i-tap upang i-disable)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Naka-on ang caps lock (i-tap upang i-disable)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Tanggalin"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Mga Simbolo"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Mga Titik"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Naka-enable ang shift"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Naka-enable ang caps lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbols mode"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Shift mode ng mga simbolo"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Letters mode"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Phone mode"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Phone symbols mode"</string>
diff --git a/java/res/values-tr/strings-talkback-descriptions.xml b/java/res/values-tr/strings-talkback-descriptions.xml
index 40bbd3695..829fe6109 100644
--- a/java/res/values-tr/strings-talkback-descriptions.xml
+++ b/java/res/values-tr/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> otomatik düzeltme yapar"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Tuş kodu: %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Üst karakter"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Üst karakter açık (devre dışı bırakmak için hafifçe vurun)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Büyük harf kilidi açık (devre dışı bırakmak için hafifçe vurun)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Diğer simgeler"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Üst karakter"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Simgeler"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Üst karakter"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Sil"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Simgeler"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Harfler"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Üst karakter etkin"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Büyük harf etkin"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Sembol modu"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Semboller üst karakter modu"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Diğer simgeler modu"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Harf modu"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Telefon modu"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Telefon sembolleri modu"</string>
diff --git a/java/res/values-uk/strings-talkback-descriptions.xml b/java/res/values-uk/strings-talkback-descriptions.xml
index 79675d865..ddb821436 100644
--- a/java/res/values-uk/strings-talkback-descriptions.xml
+++ b/java/res/values-uk/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> автоматично виправляє"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Код клавіші – %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift увімкнено (торкніться, щоб вимкнути)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps Lock увімкнено (торкніться, щоб вимкнути)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Більше символів"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Клавіша Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Символи"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Клавіша Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Видалити"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Символи"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Літери"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift увімкнено"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock увімкнено"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Режим символів"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Режим перемикання символів"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Режим \"Більше символів\""</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Режим літер"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Режим номерів телефону"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Режим телефонних символів"</string>
diff --git a/java/res/values-vi/strings-talkback-descriptions.xml b/java/res/values-vi/strings-talkback-descriptions.xml
index 9a618f989..959628a33 100644
--- a/java/res/values-vi/strings-talkback-descriptions.xml
+++ b/java/res/values-vi/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> tự động sửa"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Mã phím %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift đang bật (nhấn để tắt)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Caps lock đang bật (nhấn để tắt)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"Xóa"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Biểu tượng"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Chữ cái"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Đã bật Shift"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Đã bật Caps lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Chế độ biểu tượng"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Chế độ chuyển ký hiệu"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Chế độ chữ cái"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Chế độ điện thoại"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Chế độ biểu tượng điện thoại"</string>
diff --git a/java/res/values-zh-rCN/strings-talkback-descriptions.xml b/java/res/values-zh-rCN/strings-talkback-descriptions.xml
index 24445ab70..77973645a 100644
--- a/java/res/values-zh-rCN/strings-talkback-descriptions.xml
+++ b/java/res/values-zh-rCN/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按<xliff:g id="KEY_NAME">%1$s</xliff:g>键可进行自动更正"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"键码为%d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"已开启Shift模式(点按即可关闭)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"已锁定大写模式(点按即可关闭)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"删除"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"符号"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"字母"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"已开启Shift模式"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"已锁定大写模式"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"符号模式"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"符号移位模式"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"字母模式"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"电话模式"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"电话符号模式"</string>
diff --git a/java/res/values-zh-rHK/strings-talkback-descriptions.xml b/java/res/values-zh-rHK/strings-talkback-descriptions.xml
index e2f63b04d..baa56e4cd 100644
--- a/java/res/values-zh-rHK/strings-talkback-descriptions.xml
+++ b/java/res/values-zh-rHK/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可自動修正"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"按鍵代碼 %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift 鍵"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift 鍵已開啟 (輕按即可停用)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"大寫鎖定已開啟 (輕按即可停用)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"更多符號"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift 鍵"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"符號"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift 鍵"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"刪除"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"符號"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"字母"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift 鍵已啟用"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"大寫鎖定已啟用"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"符號模式"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"符號轉變模式"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"更多符號模式"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"字母模式"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"撥號模式"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"符號撥號模式"</string>
diff --git a/java/res/values-zh-rTW/strings-talkback-descriptions.xml b/java/res/values-zh-rTW/strings-talkback-descriptions.xml
index 63ea4d16d..3f7942079 100644
--- a/java/res/values-zh-rTW/strings-talkback-descriptions.xml
+++ b/java/res/values-zh-rTW/strings-talkback-descriptions.xml
@@ -27,8 +27,14 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按下「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可執行自動修正"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"按鍵代碼 %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Shift 鍵"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"Shift 鍵已開啟 (輕按即可停用)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"大寫鎖定已開啟 (輕按即可停用)"</string>
+ <!-- no translation found for spoken_description_symbols_shift (3483198879916435717) -->
+ <skip />
+ <!-- no translation found for spoken_description_shift_shifted (3122704922642232605) -->
+ <skip />
+ <!-- no translation found for spoken_description_symbols_shift_shifted (5179175466878186081) -->
+ <skip />
+ <!-- no translation found for spoken_description_caps_lock (1224851412185975036) -->
+ <skip />
<string name="spoken_description_delete" msgid="3878902286264983302">"刪除"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"符號"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"字母"</string>
@@ -47,7 +53,8 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift 鍵已啟用"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"大寫鎖定已啟用"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"符號模式"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"符號移位模式"</string>
+ <!-- no translation found for spoken_description_mode_symbol_shift (4305607977537665389) -->
+ <skip />
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"字母模式"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"撥號模式"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"撥號符號模式"</string>
diff --git a/java/res/values-zu/strings-talkback-descriptions.xml b/java/res/values-zu/strings-talkback-descriptions.xml
index 14a1ea8f1..3f7ae7e50 100644
--- a/java/res/values-zu/strings-talkback-descriptions.xml
+++ b/java/res/values-zu/strings-talkback-descriptions.xml
@@ -27,8 +27,10 @@
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"I-<xliff:g id="KEY_NAME">%1$s</xliff:g> yenza ukulungisa okuzenzakalelayo"</string>
<string name="spoken_description_unknown" msgid="2382510329910793539">"Ikhodi yokhiye %d"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"U-Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1609924271343916689">"U-Shift uvuliwe (thepha ukuwuvimbela)"</string>
- <string name="spoken_description_caps_lock" msgid="5020582161133170892">"Ofeleba bavuliwe (thepha ukubavimbela)"</string>
+ <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Amasimbuli amaningi"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"U-Shift"</string>
+ <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Amasimbuli"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"U-Shift"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Susa"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Amasimbuli"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Izinhlamvu"</string>
@@ -47,7 +49,7 @@
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"U-Shift uvunyelwe"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Ofeleba bavunyelwe"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Imodi yezimpawu"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="3940566070908816492">"Imodi yamasimbuli we-shift"</string>
+ <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"Imodi yamasimbuli amaningi"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Imodi yezinhlamvu"</string>
<string name="spoken_description_mode_phone" msgid="2061220553756692903">"Imodi yefoni"</string>
<string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Imodi yezimpawu zefoni"</string>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 701d19572..b90e82b53 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -51,6 +51,7 @@
<!-- Background image for the spacebar. This image needs to be a
{@link StateListDrawable}, with the following possible states: normal, pressed. -->
<attr name="spacebarBackground" format="reference" />
+ <attr name="spacebarIconWidthRatio" format="float" />
<!-- Horizontal padding of left/right aligned key label to the edge of the key. -->
<attr name="keyLabelHorizontalPadding" format="dimension" />
<!-- Right padding of hint letter to the edge of the key.-->
@@ -72,8 +73,6 @@
</declare-styleable>
<declare-styleable name="MainKeyboardView">
- <attr name="autoCorrectionSpacebarLedEnabled" format="boolean" />
- <attr name="autoCorrectionSpacebarLedIcon" format="reference" />
<!-- Size of the text for spacebar language label, in the proportion of key height. -->
<attr name="languageOnSpacebarTextRatio" format="fraction" />
<attr name="languageOnSpacebarTextColor" format="color" />
@@ -286,6 +285,7 @@
<!-- This should be aligned with Key.LABEL_FLAGS__* -->
<flag name="alignLeft" value="0x01" />
<flag name="alignRight" value="0x02" />
+ <flag name="alignButtom" value="0x04" />
<flag name="alignLeftOfCenter" value="0x08" />
<flag name="fontNormal" value="0x10" />
<flag name="fontMonoSpace" value="0x20" />
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 60b5cdfae..12cb71f2e 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -40,27 +40,25 @@
<color name="suggested_word_color_klp">#B2F0F0F0</color>
<color name="highlight_translucent_color_klp">#99E0E0E0</color>
<!-- Color resources for LXX theme. Base color = F0F0F0 -->
- <color name="key_text_inactive_color_lxx">#808184</color>
- <color name="key_hint_letter_color_lxx">#808184</color>
- <color name="highlight_color_lxx">#7FCAC3</color>
- <color name="typed_word_color_lxx">#D87FCAC3</color>
- <color name="suggested_word_color_lxx">#B27FCAC3</color>
- <color name="highlight_translucent_color_lxx">#997FCAC3</color>
- <color name="keyboard_background_lxx">#384248</color>
- <color name="key_background_lxx">#384248</color>
- <color name="key_background_pressed_lxx">#546872</color>
- <color name="suggestions_strip_background_lxx">#263238</color>
- <color name="suggested_word_background_selected_lxx">#384248</color>
+ <color name="key_text_color_lxx_dark">#FFFFFF</color>
+ <color name="key_text_inactive_color_lxx_dark">#808184</color>
+ <color name="key_hint_letter_color_lxx_dark">#808184</color>
+ <color name="highlight_color_lxx_dark">#7FCAC3</color>
+ <color name="typed_word_color_lxx_dark">#D87FCAC3</color>
+ <color name="suggested_word_color_lxx_dark">#B27FCAC3</color>
+ <color name="highlight_translucent_color_lxx_dark">#997FCAC3</color>
+ <color name="keyboard_background_lxx_dark">#384248</color>
+ <color name="key_background_lxx_dark">#384248</color>
+ <color name="key_background_pressed_lxx_dark">#546872</color>
+ <color name="suggestions_strip_background_lxx_dark">#263238</color>
+ <color name="suggested_word_background_selected_lxx_dark">#384248</color>
+ <color name="gesture_floating_preview_color_lxx_dark">#C0000000</color>
<!-- Color resources for setup wizard and tutorial -->
<color name="setup_background">#FFEBEBEB</color>
<color name="setup_text_dark">#FF707070</color>
<color name="setup_text_action">@android:color/holo_blue_light</color>
<color name="setup_step_background">@android:color/background_light</color>
<color name="setup_welcome_video_margin_color">#FFCCCCCC</color>
- <color name="emoji_category_page_id_view_background">#FF000000</color>
- <color name="emoji_category_page_id_view_foreground">#80FFFFFF</color>
-
- <!-- TODO: Color which should be included in the theme -->
- <color name="emoji_key_background_color">#00000000</color>
- <color name="emoji_key_pressed_background_color">#30FFFFFF</color>
+ <color name="emoji_category_page_id_background_holo">#FF000000</color>
+ <color name="emoji_category_page_id_foreground_holo">#80FFFFFF</color>
</resources>
diff --git a/java/res/values/keyboard-icons-lxx.xml b/java/res/values/keyboard-icons-lxx-dark.xml
index 8a3886316..07af85eab 100644
--- a/java/res/values/keyboard-icons-lxx.xml
+++ b/java/res/values/keyboard-icons-lxx-dark.xml
@@ -19,14 +19,14 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="KeyboardIcons.LXX">
+ <style name="KeyboardIcons.LXX_Dark">
<!-- Keyboard icons -->
<!-- TODO: Update those icons for LXX theme. -->
<item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
<item name="iconDeleteKey">@drawable/sym_keyboard_delete_lxx_dark</item>
<item name="iconSettingsKey">@drawable/sym_keyboard_settings_lxx_dark</item>
- <item name="iconSpaceKey">@drawable/sym_keyboard_space_holo_dark</item>
- <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
+ <item name="iconSpaceKey">@drawable/sym_keyboard_spacebar_lxx_dark</item>
+ <item name="iconEnterKey">@drawable/sym_keyboard_return_lxx_dark</item>
<item name="iconGoKey">@drawable/sym_keyboard_go_lxx_dark</item>
<item name="iconSearchKey">@drawable/sym_keyboard_search_lxx_dark</item>
<item name="iconSendKey">@drawable/sym_keyboard_send_lxx_dark</item>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index 79f90365b..22fb2c822 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -71,8 +71,6 @@
<item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item>
<item name="gestureTrailColor">@color/highlight_color_ics</item>
<item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_ics</item>
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
<item name="languageOnSpacebarTextColor">@color/spacebar_text_color_holo</item>
<item name="languageOnSpacebarTextShadowRadius">1.0</item>
<item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
index dfeca1c27..212f5db01 100644
--- a/java/res/values/themes-klp.xml
+++ b/java/res/values/themes-klp.xml
@@ -71,8 +71,6 @@
<item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item>
<item name="gestureTrailColor">@color/highlight_color_klp</item>
<item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_klp</item>
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
<item name="languageOnSpacebarTextColor">@color/spacebar_text_color_holo</item>
<item name="languageOnSpacebarTextShadowRadius">1.0</item>
<item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
diff --git a/java/res/values/themes-lxx.xml b/java/res/values/themes-lxx-dark.xml
index 899d26a7e..ace5fe9c6 100644
--- a/java/res/values/themes-lxx.xml
+++ b/java/res/values/themes-lxx-dark.xml
@@ -19,19 +19,19 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="KeyboardTheme.LXX" parent="KeyboardIcons.LXX">
- <item name="keyboardStyle">@style/Keyboard.LXX</item>
- <item name="keyboardViewStyle">@style/KeyboardView.LXX</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.LXX</item>
- <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.LXX</item>
- <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.LXX</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.LXX</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.LXX</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripView.LXX</item>
- <item name="suggestionWordStyle">@style/SuggestionWord.LXX</item>
+ <style name="KeyboardTheme.LXX_Dark" parent="KeyboardIcons.LXX_Dark">
+ <item name="keyboardStyle">@style/Keyboard.LXX_Dark</item>
+ <item name="keyboardViewStyle">@style/KeyboardView.LXX_Dark</item>
+ <item name="mainKeyboardViewStyle">@style/MainKeyboardView.LXX_Dark</item>
+ <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.LXX_Dark</item>
+ <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.LXX_Dark</item>
+ <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.LXX_Dark</item>
+ <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.LXX_Dark</item>
+ <item name="suggestionStripViewStyle">@style/SuggestionStripView.LXX_Dark</item>
+ <item name="suggestionWordStyle">@style/SuggestionWord.LXX_Dark</item>
</style>
<style
- name="Keyboard.LXX"
+ name="Keyboard.LXX_Dark"
parent="Keyboard"
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
@@ -43,57 +43,56 @@
<item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
- name="KeyboardView.LXX"
+ name="KeyboardView.LXX_Dark"
parent="KeyboardView"
>
- <item name="android:background">@color/keyboard_background_lxx</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_lxx</item>
- <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_lxx</item>
- <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_lxx</item>
- <item name="keyTypeface">bold</item>
- <item name="keyTextColor">@color/key_text_color_holo</item>
- <item name="keyTextInactivatedColor">@color/key_text_inactive_color_lxx</item>
- <item name="functionalTextColor">@color/key_hint_letter_color_lxx</item>
- <item name="keyHintLetterColor">@color/key_hint_letter_color_lxx</item>
- <item name="keyHintLabelColor">@color/key_text_inactive_color_lxx</item>
- <item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx</item>
- <item name="keyShiftedLetterHintActivatedColor">@color/key_text_color_holo</item>
- <item name="keyPreviewTextColor">@color/key_text_color_holo</item>
+ <item name="android:background">@color/keyboard_background_lxx_dark</item>
+ <item name="keyBackground">@drawable/btn_keyboard_key_lxx_dark</item>
+ <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_lxx_dark</item>
+ <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_lxx_dark</item>
+ <item name="spacebarIconWidthRatio">0.9</item>
+ <item name="keyTypeface">normal</item>
+ <item name="keyTextColor">@color/key_text_color_lxx_dark</item>
+ <item name="keyTextInactivatedColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="functionalTextColor">@color/key_hint_letter_color_lxx_dark</item>
+ <item name="keyHintLetterColor">@color/key_hint_letter_color_lxx_dark</item>
+ <item name="keyHintLabelColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="keyShiftedLetterHintActivatedColor">@color/key_text_color_lxx_dark</item>
+ <item name="keyPreviewTextColor">@color/key_text_color_lxx_dark</item>
<!-- A negative value to disable key text shadow layer. -->
<item name="keyTextShadowRadius">-1.0</item>
</style>
<style
- name="MainKeyboardView.LXX"
- parent="KeyboardView.LXX"
+ name="MainKeyboardView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
>
<item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item>
- <item name="gestureFloatingPreviewTextColor">@color/highlight_color_lxx</item>
- <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item>
- <item name="gestureTrailColor">@color/highlight_color_lxx</item>
- <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_lxx</item>
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
- <item name="languageOnSpacebarTextColor">@color/key_text_inactive_color_lxx</item>
+ <item name="gestureFloatingPreviewTextColor">@color/highlight_color_lxx_dark</item>
+ <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_lxx_dark</item>
+ <item name="gestureTrailColor">@color/highlight_color_lxx_dark</item>
+ <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_lxx_dark</item>
+ <item name="languageOnSpacebarTextColor">@color/key_text_inactive_color_lxx_dark</item>
<!-- A negative value to disable text shadow layer. -->
<item name="languageOnSpacebarTextShadowRadius">-1.0</item>
</style>
<style
- name="KeyPreviewTextView.LXX"
+ name="KeyPreviewTextView.LXX_Dark"
parent="KeyPreviewTextView"
>
- <item name="android:background">@drawable/keyboard_key_feedback_lxx</item>
+ <item name="android:background">@drawable/keyboard_key_feedback_lxx_dark</item>
</style>
<!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
for instance delete button, need themed {@link KeyboardView} attributes. -->
<style
- name="EmojiPalettesView.LXX"
- parent="MainKeyboardView.LXX"
+ name="EmojiPalettesView.LXX_Dark"
+ parent="MainKeyboardView.LXX_Dark"
>
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_lxx</item>
+ <item name="emojiTabLabelColor">@color/emoji_tab_label_color_lxx_dark</item>
</style>
<style
- name="MoreKeysKeyboard.LXX"
- parent="Keyboard.LXX"
+ name="MoreKeysKeyboard.LXX_Dark"
+ parent="Keyboard.LXX_Dark"
>
<item name="keyboardTopPadding">0%p</item>
<item name="keyboardBottomPadding">0%p</item>
@@ -101,35 +100,35 @@
<item name="touchPositionCorrectionData">@null</item>
</style>
<style
- name="MoreKeysKeyboardView.LXX"
- parent="KeyboardView.LXX"
+ name="MoreKeysKeyboardView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
>
- <item name="android:background">@drawable/keyboard_popup_panel_background_lxx</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_popup_lxx</item>
+ <item name="android:background">@drawable/keyboard_popup_panel_background_lxx_dark</item>
+ <item name="keyBackground">@drawable/btn_keyboard_key_popup_lxx_dark</item>
<item name="keyTypeface">normal</item>
<item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
</style>
<style
- name="SuggestionStripView.LXX"
- parent="KeyboardView.LXX"
+ name="SuggestionStripView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
>
<item name="suggestionsCountInStrip">@integer/config_suggestions_count_in_strip</item>
<item name="centerSuggestionPercentile">@fraction/config_center_suggestion_percentile</item>
<item name="maxMoreSuggestionsRow">@integer/config_max_more_suggestions_row</item>
<item name="minMoreSuggestionsWidth">@fraction/config_min_more_suggestions_width</item>
- <item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
+ <item name="android:background">@color/suggestions_strip_background_lxx_dark</item>
<item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
- <item name="colorValidTypedWord">@color/typed_word_color_lxx</item>
- <item name="colorTypedWord">@color/typed_word_color_lxx</item>
- <item name="colorAutoCorrect">@color/highlight_color_lxx</item>
- <item name="colorSuggested">@color/suggested_word_color_lxx</item>
+ <item name="colorValidTypedWord">@color/typed_word_color_lxx_dark</item>
+ <item name="colorTypedWord">@color/typed_word_color_lxx_dark</item>
+ <item name="colorAutoCorrect">@color/highlight_color_lxx_dark</item>
+ <item name="colorSuggested">@color/suggested_word_color_lxx_dark</item>
<item name="alphaObsoleted">70%</item>
</style>
<style
- name="SuggestionWord.LXX"
+ name="SuggestionWord.LXX_Dark"
parent="SuggestionWord"
>
- <item name="android:background">@drawable/btn_suggestion_lxx</item>
- <item name="android:textColor">@color/highlight_color_lxx</item>
+ <item name="android:background">@drawable/btn_suggestion_lxx_dark</item>
+ <item name="android:textColor">@color/highlight_color_lxx_dark</item>
</style>
</resources>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index 35b3576af..d302ab270 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -79,6 +79,7 @@
<key-style
latin:styleName="spaceKeyStyle"
latin:keySpec="!icon/space_key|!code/key_space"
+ latin:keyLabelFlags="alignButtom"
latin:keyActionFlags="noKeyPreview|enableLongPress" />
<!-- U+200C: ZERO WIDTH NON-JOINER
U+200D: ZERO WIDTH JOINER -->
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index f8b4a2a60..0a274e009 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -88,6 +88,7 @@
<key-style
latin:styleName="spaceKeyStyle"
latin:keySpec="!icon/space_key|!code/key_space"
+ latin:keyLabelFlags="alignButtom"
latin:keyActionFlags="noKeyPreview|enableLongPress" />
<!-- U+200C: ZERO WIDTH NON-JOINER
U+200D: ZERO WIDTH JOINER -->
diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml
index df4448c25..8a76fe397 100644
--- a/java/res/xml/key_styles_number.xml
+++ b/java/res/xml/key_styles_number.xml
@@ -120,6 +120,7 @@
<key-style
latin:styleName="numSpaceKeyStyle"
latin:keySpec="!icon/space_key_for_number_layout|!code/key_space"
+ latin:keyLabelFlags="alignButtom"
latin:keyActionFlags="enableLongPress"
latin:parentStyle="numKeyBaseStyle" />
<!-- Override defaultEnterKeyStyle in key_styles_enter.xml -->
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index a1269c801..cf68c565d 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -60,6 +60,7 @@ public class Key implements Comparable<Key> {
private final int mLabelFlags;
private static final int LABEL_FLAGS_ALIGN_LEFT = 0x01;
private static final int LABEL_FLAGS_ALIGN_RIGHT = 0x02;
+ private static final int LABEL_FLAGS_ALIGN_BUTTOM = 0x04;
private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08;
private static final int LABEL_FLAGS_FONT_NORMAL = 0x10;
private static final int LABEL_FLAGS_FONT_MONO_SPACE = 0x20;
@@ -646,6 +647,10 @@ public class Key implements Comparable<Key> {
return (mLabelFlags & LABEL_FLAGS_ALIGN_RIGHT) != 0;
}
+ public final boolean isAlignButtom() {
+ return (mLabelFlags & LABEL_FLAGS_ALIGN_BUTTOM) != 0;
+ }
+
public final boolean isAlignLeftOfCenter() {
return (mLabelFlags & LABEL_FLAGS_ALIGN_LEFT_OF_CENTER) != 0;
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index b7a76944e..61d51d1c9 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -61,10 +61,6 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
private final KeyboardTextsSet mKeyboardTextsSet = new KeyboardTextsSet();
private SettingsValues mCurrentSettingsValues;
- /** mIsAutoCorrectionActive indicates that auto corrected word will be input instead of
- * what user actually typed. */
- private boolean mIsAutoCorrectionActive;
-
private KeyboardTheme mKeyboardTheme;
private Context mThemeContext;
@@ -142,12 +138,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
- public void onFinishInputView() {
- mIsAutoCorrectionActive = false;
- }
-
public void onHideWindow() {
- mIsAutoCorrectionActive = false;
if (mKeyboardView != null) {
mKeyboardView.onHideWindow();
}
@@ -168,7 +159,6 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
mCurrentSettingsValues.mKeyPreviewShowUpDuration,
mCurrentSettingsValues.mKeyPreviewDismissEndScale,
mCurrentSettingsValues.mKeyPreviewDismissDuration);
- keyboardView.updateAutoCorrectionState(mIsAutoCorrectionActive);
keyboardView.updateShortcutKey(mSubtypeSwitcher.isShortcutImeReady());
final boolean subtypeChanged = (oldKeyboard == null)
|| !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale);
@@ -367,15 +357,6 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
- public void onAutoCorrectionStateChanged(final boolean isAutoCorrection) {
- if (mIsAutoCorrectionActive != isAutoCorrection) {
- mIsAutoCorrectionActive = isAutoCorrection;
- if (mKeyboardView != null) {
- mKeyboardView.updateAutoCorrectionState(isAutoCorrection);
- }
- }
- }
-
public int getKeyboardShiftMode() {
final Keyboard keyboard = getKeyboard();
if (keyboard == null) {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java
index e0b74fa14..1f14aa2e3 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java
@@ -29,20 +29,20 @@ import java.util.Comparator;
public final class KeyboardTheme {
private static final String TAG = KeyboardTheme.class.getSimpleName();
- static final String KITKAT_KEYBOARD_THEME_KEY = "pref_keyboard_layout_20110916";
- static final String KEYBOARD_THEME_KEY = "pref_keyboard_theme_20140509";
+ static final String KLP_KEYBOARD_THEME_KEY = "pref_keyboard_layout_20110916";
+ static final String LXX_KEYBOARD_THEME_KEY = "pref_keyboard_theme_20140509";
static final int THEME_ID_ICS = 0;
static final int THEME_ID_KLP = 2;
- static final int THEME_ID_LXX = 3;
+ static final int THEME_ID_LXX_DARK = 3;
static final int DEFAULT_THEME_ID = THEME_ID_KLP;
private static final KeyboardTheme[] KEYBOARD_THEMES = {
new KeyboardTheme(THEME_ID_ICS, R.style.KeyboardTheme_ICS,
- VERSION_CODES.ICE_CREAM_SANDWICH),
+ VERSION_CODES.BASE),
new KeyboardTheme(THEME_ID_KLP, R.style.KeyboardTheme_KLP,
- VERSION_CODES.KITKAT),
- new KeyboardTheme(THEME_ID_LXX, R.style.KeyboardTheme_LXX,
+ VERSION_CODES.ICE_CREAM_SANDWICH),
+ new KeyboardTheme(THEME_ID_LXX_DARK, R.style.KeyboardTheme_LXX_Dark,
// TODO: Update this constant once the *next* version becomes available.
VERSION_CODES.CUR_DEVELOPMENT),
};
@@ -88,7 +88,7 @@ public final class KeyboardTheme {
return 5;
case THEME_ID_KLP:
return 9;
- case THEME_ID_LXX:
+ case THEME_ID_LXX_DARK:
return 10;
default: // Invalid theme
return -1;
@@ -116,22 +116,23 @@ public final class KeyboardTheme {
static KeyboardTheme getDefaultKeyboardTheme(final SharedPreferences prefs,
final int sdkVersion) {
- final String obsoleteIdString = prefs.getString(KITKAT_KEYBOARD_THEME_KEY, null);
- if (obsoleteIdString != null) {
- // Remove old preference.
- prefs.edit().remove(KITKAT_KEYBOARD_THEME_KEY).apply();
+ final String klpThemeIdString = prefs.getString(KLP_KEYBOARD_THEME_KEY, null);
+ if (klpThemeIdString != null) {
if (sdkVersion <= VERSION_CODES.KITKAT) {
try {
- final int themeId = Integer.parseInt(obsoleteIdString);
+ final int themeId = Integer.parseInt(klpThemeIdString);
final KeyboardTheme theme = searchKeyboardThemeById(themeId);
if (theme != null) {
return theme;
}
- Log.w(TAG, "Unknown keyboard theme in preference: " + obsoleteIdString);
+ Log.w(TAG, "Unknown keyboard theme in KLP preference: " + klpThemeIdString);
} catch (final NumberFormatException e) {
- Log.w(TAG, "Illegal keyboard theme in preference: " + obsoleteIdString);
+ Log.w(TAG, "Illegal keyboard theme in KLP preference: " + klpThemeIdString, e);
}
}
+ // Remove old preference.
+ Log.i(TAG, "Remove KLP keyboard theme preference: " + klpThemeIdString);
+ prefs.edit().remove(KLP_KEYBOARD_THEME_KEY).apply();
}
// TODO: This search algorithm isn't optimal if there are many themes.
for (final KeyboardTheme theme : KEYBOARD_THEMES) {
@@ -144,27 +145,43 @@ public final class KeyboardTheme {
public static void saveKeyboardThemeId(final String themeIdString,
final SharedPreferences prefs) {
- prefs.edit().putString(KEYBOARD_THEME_KEY, themeIdString).apply();
+ saveKeyboardThemeId(themeIdString, prefs, getSdkVersion());
+ }
+
+ static String getPreferenceKey(final int sdkVersion) {
+ if (sdkVersion <= VERSION_CODES.KITKAT) {
+ return KLP_KEYBOARD_THEME_KEY;
+ }
+ return LXX_KEYBOARD_THEME_KEY;
+ }
+
+ static void saveKeyboardThemeId(final String themeIdString, final SharedPreferences prefs,
+ final int sdkVersion) {
+ final String prefKey = getPreferenceKey(sdkVersion);
+ prefs.edit().putString(prefKey, themeIdString).apply();
}
public static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs) {
- final int sdkVersion = getSdkVersion();
- final String themeIdString = prefs.getString(KEYBOARD_THEME_KEY, null);
- if (themeIdString == null) {
+ return getKeyboardTheme(prefs, getSdkVersion());
+ }
+
+ static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs, final int sdkVersion) {
+ final String lxxThemeIdString = prefs.getString(LXX_KEYBOARD_THEME_KEY, null);
+ if (lxxThemeIdString == null) {
return getDefaultKeyboardTheme(prefs, sdkVersion);
}
try {
- final int themeId = Integer.parseInt(themeIdString);
+ final int themeId = Integer.parseInt(lxxThemeIdString);
final KeyboardTheme theme = searchKeyboardThemeById(themeId);
if (theme != null) {
return theme;
}
- Log.w(TAG, "Unknown keyboard theme in preference: " + themeIdString);
+ Log.w(TAG, "Unknown keyboard theme in LXX preference: " + lxxThemeIdString);
} catch (final NumberFormatException e) {
- Log.w(TAG, "Illegal keyboard theme in preference: " + themeIdString);
+ Log.w(TAG, "Illegal keyboard theme in LXX preference: " + lxxThemeIdString, e);
}
- // Remove preference.
- prefs.edit().remove(KEYBOARD_THEME_KEY).apply();
+ // Remove preference that contains unknown or illegal theme id.
+ prefs.edit().remove(LXX_KEYBOARD_THEME_KEY).apply();
return getDefaultKeyboardTheme(prefs, sdkVersion);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index a6eac4cd7..edfc5fded 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -28,6 +28,7 @@ import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.NinePatchDrawable;
import android.util.AttributeSet;
import android.view.View;
@@ -49,6 +50,7 @@ import java.util.HashSet;
* @attr ref R.styleable#KeyboardView_keyBackground
* @attr ref R.styleable#KeyboardView_functionalKeyBackground
* @attr ref R.styleable#KeyboardView_spacebarBackground
+ * @attr ref R.styleable#KeyboardView_spacebarIconWidthRatio
* @attr ref R.styleable#KeyboardView_keyLabelHorizontalPadding
* @attr ref R.styleable#KeyboardView_keyHintLetterPadding
* @attr ref R.styleable#KeyboardView_keyPopupHintLetterPadding
@@ -85,6 +87,7 @@ public class KeyboardView extends View {
private final Drawable mKeyBackground;
private final Drawable mFunctionalKeyBackground;
private final Drawable mSpacebarBackground;
+ private final float mSpacebarIconWidthRatio;
private final Rect mKeyBackgroundPadding = new Rect();
private static final float KET_TEXT_SHADOW_RADIUS_DISABLED = -1.0f;
@@ -135,8 +138,9 @@ public class KeyboardView extends View {
: mKeyBackground;
final Drawable spacebarBackground = keyboardViewAttr.getDrawable(
R.styleable.KeyboardView_spacebarBackground);
- mSpacebarBackground = (spacebarBackground != null) ? spacebarBackground
- : mKeyBackground;
+ mSpacebarBackground = (spacebarBackground != null) ? spacebarBackground : mKeyBackground;
+ mSpacebarIconWidthRatio = keyboardViewAttr.getFloat(
+ R.styleable.KeyboardView_spacebarIconWidthRatio, 1.0f);
mKeyLabelHorizontalPadding = keyboardViewAttr.getDimensionPixelOffset(
R.styleable.KeyboardView_keyLabelHorizontalPadding, 0);
mKeyHintLetterPadding = keyboardViewAttr.getDimension(
@@ -513,10 +517,16 @@ public class KeyboardView extends View {
// Draw key icon.
if (label == null && icon != null) {
- final int iconWidth = Math.min(icon.getIntrinsicWidth(), keyWidth);
+ final int iconWidth;
+ if (key.getCode() == Constants.CODE_SPACE && icon instanceof NinePatchDrawable) {
+ iconWidth = (int)(keyWidth * mSpacebarIconWidthRatio);
+ } else {
+ iconWidth = Math.min(icon.getIntrinsicWidth(), keyWidth);
+ }
final int iconHeight = icon.getIntrinsicHeight();
final int iconX, alignX;
- final int iconY = (keyHeight - iconHeight) / 2;
+ final int iconY = key.isAlignButtom() ? keyHeight - iconHeight
+ : (keyHeight - iconHeight) / 2;
if (key.isAlignLeft()) {
iconX = mKeyLabelHorizontalPadding;
alignX = iconX;
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 4a0976845..26b6dd06a 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -27,7 +27,6 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.util.Log;
@@ -70,8 +69,6 @@ import java.util.WeakHashMap;
/**
* A view that is responsible for detecting key presses and touch movements.
*
- * @attr ref R.styleable#MainKeyboardView_autoCorrectionSpacebarLedEnabled
- * @attr ref R.styleable#MainKeyboardView_autoCorrectionSpacebarLedIcon
* @attr ref R.styleable#MainKeyboardView_languageOnSpacebarTextRatio
* @attr ref R.styleable#MainKeyboardView_languageOnSpacebarTextColor
* @attr ref R.styleable#MainKeyboardView_languageOnSpacebarTextShadowRadius
@@ -118,7 +115,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
/* Space key and its icon and background. */
private Key mSpaceKey;
- private Drawable mSpacebarIcon;
// Stuff to draw language name on spacebar.
private final int mLanguageOnSpacebarFinalAlpha;
private ObjectAnimator mLanguageOnSpacebarFadeoutAnimator;
@@ -133,11 +129,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
private static final float LANGUAGE_ON_SPACEBAR_TEXT_SHADOW_RADIUS_DISABLED = -1.0f;
// The minimum x-scale to fit the language name on spacebar.
private static final float MINIMUM_XSCALE_OF_LANGUAGE_NAME = 0.8f;
- // Stuff to draw auto correction LED on spacebar.
- private boolean mAutoCorrectionSpacebarLedOn;
- private final boolean mAutoCorrectionSpacebarLedEnabled;
- private final Drawable mAutoCorrectionSpacebarLedIcon;
- private static final int SPACE_LED_LENGTH_PERCENT = 80;
// Stuff to draw altCodeWhileTyping keys.
private final ObjectAnimator mAltCodeKeyWhileTypingFadeoutAnimator;
@@ -221,10 +212,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
R.styleable.MainKeyboardView_backgroundDimAlpha, 0);
mBackgroundDimAlphaPaint.setColor(Color.BLACK);
mBackgroundDimAlphaPaint.setAlpha(backgroundDimAlpha);
- mAutoCorrectionSpacebarLedEnabled = mainKeyboardViewAttr.getBoolean(
- R.styleable.MainKeyboardView_autoCorrectionSpacebarLedEnabled, false);
- mAutoCorrectionSpacebarLedIcon = mainKeyboardViewAttr.getDrawable(
- R.styleable.MainKeyboardView_autoCorrectionSpacebarLedIcon);
mLanguageOnSpacebarTextRatio = mainKeyboardViewAttr.getFraction(
R.styleable.MainKeyboardView_languageOnSpacebarTextRatio, 1, 1, 1.0f);
mLanguageOnSpacebarTextColor = mainKeyboardViewAttr.getColor(
@@ -400,8 +387,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
mMoreKeysKeyboardCache.clear();
mSpaceKey = keyboard.getKey(Constants.CODE_SPACE);
- mSpacebarIcon = (mSpaceKey != null)
- ? mSpaceKey.getIcon(keyboard.mIconsSet, Constants.Color.ALPHA_OPAQUE) : null;
final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap;
mLanguageOnSpacebarTextSize = keyHeight * mLanguageOnSpacebarTextRatio;
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
@@ -834,14 +819,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
invalidateKey(mSpaceKey);
}
- public void updateAutoCorrectionState(final boolean isAutoCorrection) {
- if (!mAutoCorrectionSpacebarLedEnabled) {
- return;
- }
- mAutoCorrectionSpacebarLedOn = isAutoCorrection;
- invalidateKey(mSpaceKey);
- }
-
private void dimEntireKeyboard(final boolean dimmed) {
final boolean needsRedrawing = mNeedsToDimEntireKeyboard != dimmed;
mNeedsToDimEntireKeyboard = dimmed;
@@ -866,18 +843,19 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
if (key.altCodeWhileTyping() && key.isEnabled()) {
params.mAnimAlpha = mAltCodeKeyWhileTypingAnimAlpha;
}
+ super.onDrawKeyTopVisuals(key, canvas, paint, params);
final int code = key.getCode();
if (code == Constants.CODE_SPACE) {
- drawSpacebar(key, canvas, paint);
+ // If input language are explicitly selected.
+ if (mLanguageOnSpacebarFormatType != LanguageOnSpacebarHelper.FORMAT_TYPE_NONE) {
+ drawLanguageOnSpacebar(key, canvas, paint);
+ }
// Whether space key needs to show the "..." popup hint for special purposes
if (key.isLongPressEnabled() && mHasMultipleEnabledIMEsOrSubtypes) {
drawKeyPopupHint(key, canvas, paint, params);
}
} else if (code == Constants.CODE_LANGUAGE_SWITCH) {
- super.onDrawKeyTopVisuals(key, canvas, paint, params);
drawKeyPopupHint(key, canvas, paint, params);
- } else {
- super.onDrawKeyTopVisuals(key, canvas, paint, params);
}
}
@@ -917,48 +895,29 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
return "";
}
- private void drawSpacebar(final Key key, final Canvas canvas, final Paint paint) {
+ private void drawLanguageOnSpacebar(final Key key, final Canvas canvas, final Paint paint) {
final int width = key.getWidth();
final int height = key.getHeight();
-
- // If input language are explicitly selected.
- if (mLanguageOnSpacebarFormatType != LanguageOnSpacebarHelper.FORMAT_TYPE_NONE) {
- paint.setTextAlign(Align.CENTER);
- paint.setTypeface(Typeface.DEFAULT);
- paint.setTextSize(mLanguageOnSpacebarTextSize);
- final InputMethodSubtype subtype = getKeyboard().mId.mSubtype;
- final String language = layoutLanguageOnSpacebar(paint, subtype, width);
- // Draw language text with shadow
- final float descent = paint.descent();
- final float textHeight = -paint.ascent() + descent;
- final float baseline = height / 2 + textHeight / 2;
- if (mLanguageOnSpacebarTextShadowRadius > 0.0f) {
- paint.setShadowLayer(mLanguageOnSpacebarTextShadowRadius, 0, 0,
- mLanguageOnSpacebarTextShadowColor);
- } else {
- paint.clearShadowLayer();
- }
- paint.setColor(mLanguageOnSpacebarTextColor);
- paint.setAlpha(mLanguageOnSpacebarAnimAlpha);
- canvas.drawText(language, width / 2, baseline - descent, paint);
+ paint.setTextAlign(Align.CENTER);
+ paint.setTypeface(Typeface.DEFAULT);
+ paint.setTextSize(mLanguageOnSpacebarTextSize);
+ final InputMethodSubtype subtype = getKeyboard().mId.mSubtype;
+ final String language = layoutLanguageOnSpacebar(paint, subtype, width);
+ // Draw language text with shadow
+ final float descent = paint.descent();
+ final float textHeight = -paint.ascent() + descent;
+ final float baseline = height / 2 + textHeight / 2;
+ if (mLanguageOnSpacebarTextShadowRadius > 0.0f) {
+ paint.setShadowLayer(mLanguageOnSpacebarTextShadowRadius, 0, 0,
+ mLanguageOnSpacebarTextShadowColor);
+ } else {
paint.clearShadowLayer();
- paint.setTextScaleX(1.0f);
- }
-
- // Draw the spacebar icon at the bottom
- if (mAutoCorrectionSpacebarLedOn) {
- final int iconWidth = width * SPACE_LED_LENGTH_PERCENT / 100;
- final int iconHeight = mAutoCorrectionSpacebarLedIcon.getIntrinsicHeight();
- int x = (width - iconWidth) / 2;
- int y = height - iconHeight;
- drawIcon(canvas, mAutoCorrectionSpacebarLedIcon, x, y, iconWidth, iconHeight);
- } else if (mSpacebarIcon != null) {
- final int iconWidth = mSpacebarIcon.getIntrinsicWidth();
- final int iconHeight = mSpacebarIcon.getIntrinsicHeight();
- int x = (width - iconWidth) / 2;
- int y = height - iconHeight;
- drawIcon(canvas, mSpacebarIcon, x, y, iconWidth, iconHeight);
}
+ paint.setColor(mLanguageOnSpacebarTextColor);
+ paint.setAlpha(mLanguageOnSpacebarAnimAlpha);
+ canvas.drawText(language, width / 2, baseline - descent, paint);
+ paint.clearShadowLayer();
+ paint.setTextScaleX(1.0f);
}
@Override
diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategory.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategory.java
index dd0e3e838..495fa554b 100644
--- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategory.java
+++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategory.java
@@ -70,12 +70,12 @@ final class EmojiCategory {
"emoticons" };
private static final int[] sCategoryIcon = {
- R.drawable.ic_emoji_recent_light,
- R.drawable.ic_emoji_people_light,
- R.drawable.ic_emoji_objects_light,
- R.drawable.ic_emoji_nature_light,
- R.drawable.ic_emoji_places_light,
- R.drawable.ic_emoji_symbols_light,
+ R.drawable.ic_emoji_recent_holo_dark,
+ R.drawable.ic_emoji_people_holo_dark,
+ R.drawable.ic_emoji_objects_holo_dark,
+ R.drawable.ic_emoji_nature_holo_dark,
+ R.drawable.ic_emoji_places_holo_dark,
+ R.drawable.ic_emoji_symbols_holo_dark,
0 };
private static final String[] sCategoryLabel =
diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategoryPageIndicatorView.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategoryPageIndicatorView.java
index 74cfd9b4b..f5aa1079e 100644
--- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategoryPageIndicatorView.java
+++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiCategoryPageIndicatorView.java
@@ -38,7 +38,7 @@ public final class EmojiCategoryPageIndicatorView extends LinearLayout {
public EmojiCategoryPageIndicatorView(final Context context, final AttributeSet attrs) {
super(context, attrs);
mPaint.setColor(context.getResources().getColor(
- R.color.emoji_category_page_id_view_foreground));
+ R.color.emoji_category_page_id_foreground_holo));
}
public void setCategoryPageId(final int size, final int id, final float offset) {
diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
index 3813c578a..8e4595703 100644
--- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
+++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
@@ -416,14 +416,11 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
private static class DeleteKeyOnTouchListener implements OnTouchListener {
static final long MAX_REPEAT_COUNT_TIME = TimeUnit.SECONDS.toMillis(30);
- final int mDeleteKeyPressedBackgroundColor;
final long mKeyRepeatStartTimeout;
final long mKeyRepeatInterval;
public DeleteKeyOnTouchListener(Context context) {
final Resources res = context.getResources();
- mDeleteKeyPressedBackgroundColor =
- res.getColor(R.color.emoji_key_pressed_background_color);
mKeyRepeatStartTimeout = res.getInteger(R.integer.config_key_repeat_start_timeout);
mKeyRepeatInterval = res.getInteger(R.integer.config_key_repeat_interval);
mTimer = new CountDownTimer(MAX_REPEAT_COUNT_TIME, mKeyRepeatInterval) {
@@ -500,7 +497,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
mTimer.cancel();
mRepeatCount = 0;
handleKeyDown();
- v.setBackgroundColor(mDeleteKeyPressedBackgroundColor);
+ v.setPressed(true /* pressed */);
mState = KEY_REPEAT_STATE_KEY_DOWN;
mTimer.start();
}
@@ -510,7 +507,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
if (mState == KEY_REPEAT_STATE_KEY_DOWN) {
handleKeyUp();
}
- v.setBackgroundColor(Color.TRANSPARENT);
+ v.setPressed(false /* pressed */);
mState = KEY_REPEAT_STATE_INITIALIZED;
}
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 1e31c96ec..b8cf3f89c 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -113,11 +113,8 @@ public final class BinaryDictionary extends Dictionary {
synchronized(mDicTraverseSessions) {
DicTraverseSession traverseSession = mDicTraverseSessions.get(traverseSessionId);
if (traverseSession == null) {
- traverseSession = mDicTraverseSessions.get(traverseSessionId);
- if (traverseSession == null) {
- traverseSession = new DicTraverseSession(mLocale, mNativeDict, mDictSize);
- mDicTraverseSessions.put(traverseSessionId, traverseSession);
- }
+ traverseSession = new DicTraverseSession(mLocale, mNativeDict, mDictSize);
+ mDicTraverseSessions.put(traverseSessionId, traverseSession);
}
return traverseSession;
}
@@ -266,19 +263,9 @@ public final class BinaryDictionary extends Dictionary {
new FormatSpec.FormatOptions(outFormatVersion[0], hasHistoricalInfo));
}
-
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
- final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
- return getSuggestionsWithSessionId(composer, prevWord, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, 0 /* sessionId */, inOutLanguageWeight);
- }
-
- @Override
- public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final float[] inOutLanguageWeight) {
if (!isValidDictionary()) {
@@ -287,8 +274,8 @@ public final class BinaryDictionary extends Dictionary {
Arrays.fill(mInputCodePoints, Constants.NOT_A_CODE);
// TODO: toLowerCase in the native code
- final int[] prevWordCodePointArray = (null == prevWord)
- ? null : StringUtils.toCodePointArray(prevWord);
+ final int[] prevWordCodePointArray = (null == prevWordsInfo.mPrevWord)
+ ? null : StringUtils.toCodePointArray(prevWordsInfo.mPrevWord);
final InputPointers inputPointers = composer.getInputPointers();
final boolean isGesture = composer.isBatchMode();
final int inputSize;
diff --git a/java/src/com/android/inputmethod/latin/Dictionary.java b/java/src/com/android/inputmethod/latin/Dictionary.java
index cd380db6b..aab16653e 100644
--- a/java/src/com/android/inputmethod/latin/Dictionary.java
+++ b/java/src/com/android/inputmethod/latin/Dictionary.java
@@ -69,31 +69,20 @@ public abstract class Dictionary {
* Searches for suggestions for a given context. For the moment the context is only the
* previous word.
* @param composer the key sequence to match with coordinate info, as a WordComposer
- * @param prevWord the previous word, or null if none
+ * @param prevWordsInfo the information of previous words.
* @param proximityInfo the object for key proximity. May be ignored by some implementations.
* @param blockOffensiveWords whether to block potentially offensive words
* @param additionalFeaturesOptions options about additional features used for the suggestion.
+ * @param sessionId the session id.
* @param inOutLanguageWeight the language weight used for generating suggestions.
* inOutLanguageWeight is a float array that has only one element. This can be updated when the
* different language weight is used.
* @return the list of suggestions (possibly null if none)
*/
- // TODO: pass more context than just the previous word, to enable better suggestions (n-gram
- // and more)
abstract public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight);
-
- // The default implementation of this method ignores sessionId.
- // Subclasses that want to use sessionId need to override this method.
- public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
- final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final int sessionId, final float[] inOutLanguageWeight) {
- return getSuggestions(composer, prevWord, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, inOutLanguageWeight);
- }
+ final int sessionId, final float[] inOutLanguageWeight);
/**
* Checks if the given word occurs in the dictionary
@@ -165,9 +154,9 @@ public abstract class Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
+ final int sessionId, final float[] inOutLanguageWeight) {
return null;
}
diff --git a/java/src/com/android/inputmethod/latin/DictionaryCollection.java b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
index 16173fffc..e6e4e0938 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryCollection.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
@@ -57,22 +57,22 @@ public final class DictionaryCollection extends Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
+ final int sessionId, final float[] inOutLanguageWeight) {
final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries;
if (dictionaries.isEmpty()) return null;
// To avoid creating unnecessary objects, we get the list out of the first
// dictionary and add the rest to it if not null, hence the get(0)
ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getSuggestions(composer,
- prevWord, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
- inOutLanguageWeight);
+ prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
+ sessionId, inOutLanguageWeight);
if (null == suggestions) suggestions = CollectionUtils.newArrayList();
final int length = dictionaries.size();
for (int i = 1; i < length; ++ i) {
final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getSuggestions(composer,
- prevWord, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
- inOutLanguageWeight);
+ prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
+ sessionId, inOutLanguageWeight);
if (null != sugg) suggestions.addAll(sugg);
}
return suggestions;
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
index e0220e137..14c8bb6c3 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
@@ -444,7 +444,7 @@ public class DictionaryFacilitatorForSuggest {
// TODO: Revise the way to fusion suggestion results.
public SuggestionResults getSuggestionResults(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final ArrayList<SuggestedWordInfo> rawSuggestions) {
final Dictionaries dictionaries = mDictionaries;
@@ -455,7 +455,7 @@ public class DictionaryFacilitatorForSuggest {
final Dictionary dictionary = dictionaries.getDict(dictType);
if (null == dictionary) continue;
final ArrayList<SuggestedWordInfo> dictionarySuggestions =
- dictionary.getSuggestionsWithSessionId(composer, prevWord, proximityInfo,
+ dictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
blockOffensiveWords, additionalFeaturesOptions, sessionId,
languageWeight);
if (null == dictionarySuggestions) continue;
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index e323f0ab2..629f3fd18 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -366,8 +366,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
}
@Override
- public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final float[] inOutLanguageWeight) {
reloadDictionaryIfRequired();
@@ -380,9 +380,9 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
return null;
}
final ArrayList<SuggestedWordInfo> suggestions =
- mBinaryDictionary.getSuggestionsWithSessionId(composer, prevWord,
- proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
- sessionId, inOutLanguageWeight);
+ mBinaryDictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
+ blockOffensiveWords, additionalFeaturesOptions, sessionId,
+ inOutLanguageWeight);
if (mBinaryDictionary.isCorrupted()) {
Log.i(TAG, "Dictionary (" + mDictName +") is corrupted. "
+ "Remove and regenerate it.");
@@ -401,15 +401,6 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
}
@Override
- public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
- final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
- return getSuggestionsWithSessionId(composer, prevWord, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, 0 /* sessionId */, inOutLanguageWeight);
- }
-
- @Override
public boolean isValidWord(final String word) {
reloadDictionaryIfRequired();
boolean lockAcquired = false;
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 1ccf5854a..5e45275f8 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -140,10 +140,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private final SubtypeState mSubtypeState = new SubtypeState();
// Object for reacting to adding/removing a dictionary pack.
- private BroadcastReceiver mDictionaryPackInstallReceiver =
+ private final BroadcastReceiver mDictionaryPackInstallReceiver =
new DictionaryPackInstallBroadcastReceiver(this);
- private BroadcastReceiver mDictionaryDumpBroadcastReceiver =
+ private final BroadcastReceiver mDictionaryDumpBroadcastReceiver =
new DictionaryDumpBroadcastReceiver(this);
private AlertDialog mOptionsDialog;
@@ -905,7 +905,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private void onFinishInputViewInternal(final boolean finishingInput) {
super.onFinishInputView(finishingInput);
- mKeyboardSwitcher.onFinishInputView();
mKeyboardSwitcher.deallocateMemory();
// Remove pending messages related to update suggestions
mHandler.cancelUpdateSuggestionStrip();
@@ -1388,7 +1387,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (!hasSuggestionStripView()) {
return;
}
- mKeyboardSwitcher.onAutoCorrectionStateChanged(suggestedWords.mWillAutoCorrect);
if (!onEvaluateInputViewShown()) {
return;
}
@@ -1430,8 +1428,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (DEBUG) {
if (mInputLogic.mWordComposer.isComposingWord()
|| mInputLogic.mWordComposer.isBatchMode()) {
- final String previousWord
- = mInputLogic.mWordComposer.getPreviousWordForSuggestion();
+ final PrevWordsInfo prevWordsInfo
+ = mInputLogic.mWordComposer.getPrevWordsInfoForSuggestion();
// TODO: this is for checking consistency with older versions. Remove this when
// we are confident this is stable.
// We're checking the previous word in the text field against the memorized previous
@@ -1440,14 +1438,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final CharSequence rereadPrevWord = mInputLogic.getNthPreviousWordForSuggestion(
currentSettings.mSpacingAndPunctuations,
mInputLogic.mWordComposer.isComposingWord() ? 2 : 1);
- if (!TextUtils.equals(previousWord, rereadPrevWord)) {
+ if (!TextUtils.equals(prevWordsInfo.mPrevWord, rereadPrevWord)) {
throw new RuntimeException("Unexpected previous word: "
- + previousWord + " <> " + rereadPrevWord);
+ + prevWordsInfo.mPrevWord + " <> " + rereadPrevWord);
}
}
}
mInputLogic.mSuggest.getSuggestedWords(mInputLogic.mWordComposer,
- mInputLogic.mWordComposer.getPreviousWordForSuggestion(),
+ mInputLogic.mWordComposer.getPrevWordsInfoForSuggestion(),
keyboard.getProximityInfo(), currentSettings.mBlockPotentiallyOffensive,
currentSettings.mCorrectionEnabled, additionalFeaturesOptions, sessionId,
sequenceNumber, callback);
@@ -1631,7 +1629,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// boolean onKeyMultiple(final int keyCode, final int count, final KeyEvent event);
// receive ringer mode change and network state change.
- private BroadcastReceiver mConnectivityAndRingerModeChangeReceiver = new BroadcastReceiver() {
+ private final BroadcastReceiver mConnectivityAndRingerModeChangeReceiver =
+ new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
@@ -1748,8 +1747,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@UsedForTesting
/* package for test */ DistracterFilter createDistracterFilter() {
- return DistracterFilterUtils.createDistracterFilter(
- mInputLogic.mSuggest, mKeyboardSwitcher);
+ return DistracterFilterUtils.createDistracterFilter(this /* Context */, mKeyboardSwitcher);
}
public void dumpDictionaryForDebug(final String dictName) {
diff --git a/java/src/com/android/inputmethod/latin/PrevWordsInfo.java b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java
new file mode 100644
index 000000000..9d8543183
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2014 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.
+ */
+
+package com.android.inputmethod.latin;
+
+public class PrevWordsInfo {
+ // The previous word. May be null after resetting and before starting a new composing word, or
+ // when there is no context like at the start of text for example. It can also be set to null
+ // externally when the user enters a separator that does not let bigrams across, like a period
+ // or a comma.
+ public final String mPrevWord;
+
+ public PrevWordsInfo(final String prevWord) {
+ mPrevWord = prevWord;
+ }
+}
diff --git a/java/src/com/android/inputmethod/latin/ReadOnlyBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ReadOnlyBinaryDictionary.java
index 9f61d6c37..8f744bef8 100644
--- a/java/src/com/android/inputmethod/latin/ReadOnlyBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ReadOnlyBinaryDictionary.java
@@ -50,22 +50,14 @@ public final class ReadOnlyBinaryDictionary extends Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
- final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
- return getSuggestionsWithSessionId(composer, prevWord, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, 0 /* sessionId */, inOutLanguageWeight);
- }
-
- @Override
- public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final float[] inOutLanguageWeight) {
if (mLock.readLock().tryLock()) {
try {
- return mBinaryDictionary.getSuggestions(composer, prevWord, proximityInfo,
- blockOffensiveWords, additionalFeaturesOptions, inOutLanguageWeight);
+ return mBinaryDictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
+ blockOffensiveWords, additionalFeaturesOptions, sessionId,
+ inOutLanguageWeight);
} finally {
mLock.readLock().unlock();
}
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index db0a8a81c..e3759a586 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -71,17 +71,17 @@ public final class Suggest {
}
public void getSuggestedWords(final WordComposer wordComposer,
- final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final boolean isCorrectionEnabled,
final int[] additionalFeaturesOptions, final int sessionId, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) {
- LatinImeLogger.onStartSuggestion(prevWordForBigram);
+ LatinImeLogger.onStartSuggestion(prevWordsInfo.mPrevWord);
if (wordComposer.isBatchMode()) {
- getSuggestedWordsForBatchInput(wordComposer, prevWordForBigram, proximityInfo,
+ getSuggestedWordsForBatchInput(wordComposer, prevWordsInfo, proximityInfo,
blockOffensiveWords, additionalFeaturesOptions, sessionId, sequenceNumber,
callback);
} else {
- getSuggestedWordsForTypingInput(wordComposer, prevWordForBigram, proximityInfo,
+ getSuggestedWordsForTypingInput(wordComposer, prevWordsInfo, proximityInfo,
blockOffensiveWords, isCorrectionEnabled, additionalFeaturesOptions,
sequenceNumber, callback);
}
@@ -90,12 +90,12 @@ public final class Suggest {
// Retrieves suggestions for the typing input
// and calls the callback function with the suggestions.
private void getSuggestedWordsForTypingInput(final WordComposer wordComposer,
- final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final boolean isCorrectionEnabled,
final int[] additionalFeaturesOptions, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) {
- final int trailingSingleQuotesCount = wordComposer.trailingSingleQuotesCount();
final String typedWord = wordComposer.getTypedWord();
+ final int trailingSingleQuotesCount = StringUtils.getTrailingSingleQuotesCount(typedWord);
final String consideredWord = trailingSingleQuotesCount > 0
? typedWord.substring(0, typedWord.length() - trailingSingleQuotesCount)
: typedWord;
@@ -108,7 +108,7 @@ public final class Suggest {
rawSuggestions = null;
}
final SuggestionResults suggestionResults = mDictionaryFacilitator.getSuggestionResults(
- wordComposer, prevWordForBigram, proximityInfo, blockOffensiveWords,
+ wordComposer, prevWordsInfo, proximityInfo, blockOffensiveWords,
additionalFeaturesOptions, SESSION_TYPING, rawSuggestions);
final boolean isFirstCharCapitalized = wordComposer.isFirstCharCapitalized();
@@ -215,7 +215,7 @@ public final class Suggest {
// Retrieves suggestions for the batch input
// and calls the callback function with the suggestions.
private void getSuggestedWordsForBatchInput(final WordComposer wordComposer,
- final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) {
@@ -226,7 +226,7 @@ public final class Suggest {
rawSuggestions = null;
}
final SuggestionResults suggestionResults = mDictionaryFacilitator.getSuggestionResults(
- wordComposer, prevWordForBigram, proximityInfo, blockOffensiveWords,
+ wordComposer, prevWordsInfo, proximityInfo, blockOffensiveWords,
additionalFeaturesOptions, sessionId, rawSuggestions);
for (SuggestedWordInfo wordInfo : suggestionResults) {
LatinImeLogger.onAddSuggestedWord(wordInfo.mWord, wordInfo.mSourceDict.mDictType);
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index ac6972928..227b42bde 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -46,11 +46,9 @@ public final class WordComposer {
// The list of events that served to compose this string.
private final ArrayList<Event> mEvents;
private final InputPointers mInputPointers = new InputPointers(MAX_WORD_LENGTH);
- // The previous word (before the composing word). Used as context for suggestions. May be null
- // after resetting and before starting a new composing word, or when there is no context like
- // at the start of text for example. It can also be set to null externally when the user
- // enters a separator that does not let bigrams across, like a period or a comma.
- private String mPreviousWordForSuggestion;
+ // The information of previous words (before the composing word). Must not be null. Used as
+ // context for suggestions.
+ private PrevWordsInfo mPrevWordsInfo;
private String mAutoCorrection;
private boolean mIsResumed;
private boolean mIsBatchMode;
@@ -87,7 +85,7 @@ public final class WordComposer {
mIsBatchMode = false;
mCursorPositionWithinWord = 0;
mRejectedBatchModeSuggestion = null;
- mPreviousWordForSuggestion = null;
+ mPrevWordsInfo = new PrevWordsInfo(null);
refreshTypedWordCache();
}
@@ -119,7 +117,7 @@ public final class WordComposer {
mIsBatchMode = false;
mCursorPositionWithinWord = 0;
mRejectedBatchModeSuggestion = null;
- mPreviousWordForSuggestion = null;
+ mPrevWordsInfo = new PrevWordsInfo(null);
refreshTypedWordCache();
}
@@ -149,7 +147,8 @@ public final class WordComposer {
public int copyCodePointsExceptTrailingSingleQuotesAndReturnCodePointCount(
final int[] destination) {
// lastIndex is exclusive
- final int lastIndex = mTypedWordCache.length() - trailingSingleQuotesCount();
+ final int lastIndex = mTypedWordCache.length()
+ - StringUtils.getTrailingSingleQuotesCount(mTypedWordCache);
if (lastIndex <= 0) {
// The string is empty or contains only single quotes.
return 0;
@@ -308,7 +307,7 @@ public final class WordComposer {
CoordinateUtils.yFromArray(coordinates, i)));
}
mIsResumed = true;
- mPreviousWordForSuggestion = null == previousWord ? null : previousWord.toString();
+ mPrevWordsInfo = new PrevWordsInfo(null == previousWord ? null : previousWord.toString());
}
/**
@@ -319,8 +318,8 @@ public final class WordComposer {
return mTypedWordCache.toString();
}
- public String getPreviousWordForSuggestion() {
- return mPreviousWordForSuggestion;
+ public PrevWordsInfo getPrevWordsInfoForSuggestion() {
+ return mPrevWordsInfo;
}
/**
@@ -331,15 +330,6 @@ public final class WordComposer {
return mIsFirstCharCapitalized;
}
- public int trailingSingleQuotesCount() {
- final int lastIndex = mTypedWordCache.length() - 1;
- int i = lastIndex;
- while (i >= 0 && mTypedWordCache.charAt(i) == Constants.CODE_SINGLE_QUOTE) {
- --i;
- }
- return lastIndex - i;
- }
-
/**
* Whether or not all of the user typed chars are upper case
* @return true if all user typed chars are upper case, false otherwise
@@ -387,7 +377,7 @@ public final class WordComposer {
public void setCapitalizedModeAndPreviousWordAtStartComposingTime(final int mode,
final CharSequence previousWord) {
mCapitalizedMode = mode;
- mPreviousWordForSuggestion = null == previousWord ? null : previousWord.toString();
+ mPrevWordsInfo = new PrevWordsInfo(null == previousWord ? null : previousWord.toString());
}
/**
@@ -438,7 +428,7 @@ public final class WordComposer {
mCapsCount = 0;
mDigitsCount = 0;
mIsBatchMode = false;
- mPreviousWordForSuggestion = committedWord.toString();
+ mPrevWordsInfo = new PrevWordsInfo(committedWord.toString());
mCombinerChain.reset();
mEvents.clear();
mCodePointSize = 0;
@@ -456,11 +446,11 @@ public final class WordComposer {
// when the user inputs a separator that's not whitespace (including the case of the
// double-space-to-period feature).
public void discardPreviousWordForSuggestion() {
- mPreviousWordForSuggestion = null;
+ mPrevWordsInfo = new PrevWordsInfo(null);
}
public void resumeSuggestionOnLastComposedWord(final LastComposedWord lastComposedWord,
- final String previousWord) {
+ final PrevWordsInfo prevWordsInfo) {
mEvents.clear();
Collections.copy(mEvents, lastComposedWord.mEvents);
mInputPointers.set(lastComposedWord.mInputPointers);
@@ -471,7 +461,7 @@ public final class WordComposer {
mCursorPositionWithinWord = mCodePointSize;
mRejectedBatchModeSuggestion = null;
mIsResumed = true;
- mPreviousWordForSuggestion = previousWord;
+ mPrevWordsInfo = prevWordsInfo;
}
public boolean isBatchMode() {
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java
index afacd085b..6ef505e76 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java
@@ -138,11 +138,13 @@ public class PersonalizationHelper {
}
}
dictionaryMap.clear();
- if (!FileUtils.deleteFilteredFiles(
- context.getFilesDir(), new DictFilter(dictNamePrefix))) {
+ final File filesDir = context.getFilesDir();
+ if (filesDir == null) {
+ Log.e(TAG, "context.getFilesDir() returned null.");
+ }
+ if (!FileUtils.deleteFilteredFiles(filesDir, new DictFilter(dictNamePrefix))) {
Log.e(TAG, "Cannot remove all existing dictionary files. filesDir: "
- + context.getFilesDir().getAbsolutePath() + ", dictNamePrefix: "
- + dictNamePrefix);
+ + filesDir.getAbsolutePath() + ", dictNamePrefix: " + dictNamePrefix);
}
}
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
index ddda52d71..e951f5a89 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
@@ -23,6 +23,7 @@ import android.view.textservice.SentenceSuggestionsInfo;
import android.view.textservice.SuggestionsInfo;
import android.view.textservice.TextInfo;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.utils.CollectionUtils;
import java.util.ArrayList;
@@ -57,7 +58,7 @@ public final class AndroidSpellCheckerSession extends AndroidWordLevelSpellCheck
final int offset = ssi.getOffsetAt(i);
final int length = ssi.getLengthAt(i);
final String subText = typedText.substring(offset, offset + length);
- final String prevWord = currentWord;
+ final PrevWordsInfo prevWordsInfo = new PrevWordsInfo(currentWord);
currentWord = subText;
if (!subText.contains(AndroidSpellCheckerService.SINGLE_QUOTE)) {
continue;
@@ -73,7 +74,7 @@ public final class AndroidSpellCheckerSession extends AndroidWordLevelSpellCheck
if (TextUtils.isEmpty(splitText)) {
continue;
}
- if (mSuggestionsCache.getSuggestionsFromCache(splitText, prevWord) == null) {
+ if (mSuggestionsCache.getSuggestionsFromCache(splitText, prevWordsInfo) == null) {
continue;
}
final int newLength = splitText.length();
@@ -148,7 +149,8 @@ public final class AndroidSpellCheckerSession extends AndroidWordLevelSpellCheck
} else {
prevWord = null;
}
- retval[i] = onGetSuggestionsInternal(textInfos[i], prevWord, suggestionsLimit);
+ final PrevWordsInfo prevWordsInfo = new PrevWordsInfo(prevWord);
+ retval[i] = onGetSuggestionsInternal(textInfos[i], prevWordsInfo, suggestionsLimit);
retval[i].setCookieAndSequence(textInfos[i].getCookie(),
textInfos[i].getSequence());
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
index 69d092751..cf26000d5 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
@@ -31,6 +31,7 @@ import com.android.inputmethod.compat.SuggestionsInfoCompatUtils;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.Dictionary;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.WordComposer;
import com.android.inputmethod.latin.spellcheck.AndroidSpellCheckerService.SuggestionsGatherer;
@@ -71,26 +72,26 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
new LruCache<String, SuggestionsParams>(MAX_CACHE_SIZE);
// TODO: Support n-gram input
- private static String generateKey(String query, String prevWord) {
- if (TextUtils.isEmpty(query) || TextUtils.isEmpty(prevWord)) {
+ private static String generateKey(final String query, final PrevWordsInfo prevWordsInfo) {
+ if (TextUtils.isEmpty(query) || TextUtils.isEmpty(prevWordsInfo.mPrevWord)) {
return query;
}
- return query + CHAR_DELIMITER + prevWord;
+ return query + CHAR_DELIMITER + prevWordsInfo.mPrevWord;
}
- // TODO: Support n-gram input
- public SuggestionsParams getSuggestionsFromCache(String query, String prevWord) {
- return mUnigramSuggestionsInfoCache.get(generateKey(query, prevWord));
+ public SuggestionsParams getSuggestionsFromCache(String query,
+ final PrevWordsInfo prevWordsInfo) {
+ return mUnigramSuggestionsInfoCache.get(generateKey(query, prevWordsInfo));
}
- // TODO: Support n-gram input
public void putSuggestionsToCache(
- String query, String prevWord, String[] suggestions, int flags) {
+ final String query, final PrevWordsInfo prevWordsInfo,
+ final String[] suggestions, final int flags) {
if (suggestions == null || TextUtils.isEmpty(query)) {
return;
}
mUnigramSuggestionsInfoCache.put(
- generateKey(query, prevWord), new SuggestionsParams(suggestions, flags));
+ generateKey(query, prevWordsInfo), new SuggestionsParams(suggestions, flags));
}
public void clearCache() {
@@ -259,11 +260,12 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
}
protected SuggestionsInfo onGetSuggestionsInternal(
- final TextInfo textInfo, final String prevWord, final int suggestionsLimit) {
+ final TextInfo textInfo, final PrevWordsInfo prevWordsInfo,
+ final int suggestionsLimit) {
try {
final String inText = textInfo.getText();
final SuggestionsParams cachedSuggestionsParams =
- mSuggestionsCache.getSuggestionsFromCache(inText, prevWord);
+ mSuggestionsCache.getSuggestionsFromCache(inText, prevWordsInfo);
if (cachedSuggestionsParams != null) {
if (DBG) {
Log.d(TAG, "Cache hit: " + inText + ", " + cachedSuggestionsParams.mFlags);
@@ -325,9 +327,9 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
composer.setComposingWord(codePoints, coordinates, null /* previousWord */);
// TODO: make a spell checker option to block offensive words or not
final ArrayList<SuggestedWordInfo> suggestions =
- dictInfo.mDictionary.getSuggestions(composer, prevWord,
+ dictInfo.mDictionary.getSuggestions(composer, prevWordsInfo,
dictInfo.getProximityInfo(), true /* blockOffensiveWords */,
- null /* additionalFeaturesOptions */,
+ null /* additionalFeaturesOptions */, 0 /* sessionId */,
null /* inOutLanguageWeight */);
if (suggestions != null) {
for (final SuggestedWordInfo suggestion : suggestions) {
@@ -369,7 +371,8 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
.getValueOf_RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS()
: 0);
final SuggestionsInfo retval = new SuggestionsInfo(flags, result.mSuggestions);
- mSuggestionsCache.putSuggestionsToCache(text, prevWord, result.mSuggestions, flags);
+ mSuggestionsCache.putSuggestionsToCache(text, prevWordsInfo, result.mSuggestions,
+ flags);
return retval;
} catch (RuntimeException e) {
// Don't kill the keyboard if there is a bug in the spell checker
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
index c99264347..ba2e0c309 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
@@ -20,6 +20,7 @@ import android.util.Log;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.Dictionary;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.WordComposer;
import com.android.inputmethod.latin.utils.CollectionUtils;
@@ -52,9 +53,9 @@ public final class DictionaryPool extends LinkedBlockingQueue<DictAndKeyboard> {
// TODO: this dummy dictionary should be a singleton in the Dictionary class.
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final String prevWord, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
+ final int sessionId, final float[] inOutLanguageWeight) {
return noSuggestions;
}
@Override
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedContactsBinaryDictionary.java
index a694bf47d..75075664f 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedContactsBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedContactsBinaryDictionary.java
@@ -20,6 +20,7 @@ import android.content.Context;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.ContactsBinaryDictionary;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.WordComposer;
@@ -36,12 +37,12 @@ public final class SynchronouslyLoadedContactsBinaryDictionary extends ContactsB
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
- final String prevWordForBigrams, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
+ final int sessionId, final float[] inOutLanguageWeight) {
synchronized (mLock) {
- return super.getSuggestions(codes, prevWordForBigrams, proximityInfo,
- blockOffensiveWords, additionalFeaturesOptions, inOutLanguageWeight);
+ return super.getSuggestions(codes, prevWordsInfo, proximityInfo,
+ blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight);
}
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedUserBinaryDictionary.java b/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedUserBinaryDictionary.java
index 1a6dd5818..f2d981a9d 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedUserBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SynchronouslyLoadedUserBinaryDictionary.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.latin.spellcheck;
import android.content.Context;
import com.android.inputmethod.keyboard.ProximityInfo;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.UserBinaryDictionary;
import com.android.inputmethod.latin.WordComposer;
@@ -41,12 +42,12 @@ public final class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDic
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
- final String prevWordForBigrams, final ProximityInfo proximityInfo,
+ final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final float[] inOutLanguageWeight) {
+ final int sessionId, final float[] inOutLanguageWeight) {
synchronized (mLock) {
- return super.getSuggestions(codes, prevWordForBigrams, proximityInfo,
- blockOffensiveWords, additionalFeaturesOptions, inOutLanguageWeight);
+ return super.getSuggestions(codes, prevWordsInfo, proximityInfo,
+ blockOffensiveWords, additionalFeaturesOptions, sessionId, inOutLanguageWeight);
}
}
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
index 0a0379982..a21953259 100644
--- a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
+++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
@@ -16,8 +16,15 @@
package com.android.inputmethod.latin.utils;
+import java.util.Locale;
+import java.util.concurrent.TimeUnit;
+
+import android.content.Context;
+import android.util.Log;
+
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.Constants;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.Suggest;
import com.android.inputmethod.latin.Suggest.OnGetSuggestedWordsCallback;
import com.android.inputmethod.latin.SuggestedWords;
@@ -29,6 +36,11 @@ import com.android.inputmethod.latin.WordComposer;
* or user history dictionaries
*/
public class DistracterFilter {
+ private static final String TAG = DistracterFilter.class.getSimpleName();
+
+ private static final long TIMEOUT_TO_WAIT_LOADING_DICTIONARIES_IN_SECONDS = 120;
+
+ private final Context mContext;
private final Suggest mSuggest;
private final Keyboard mKeyboard;
@@ -42,13 +54,13 @@ public class DistracterFilter {
/**
* Create a DistracterFilter instance.
*
- * @param suggest an instance of Suggest which will be used to obtain a list of suggestions
- * for a potential distracter
+ * @param context the context.
* @param keyboard the keyboard that is currently being used. This information is needed
* when calling mSuggest.getSuggestedWords(...) to obtain a list of suggestions.
*/
- public DistracterFilter(final Suggest suggest, final Keyboard keyboard) {
- mSuggest = suggest;
+ public DistracterFilter(final Context context, final Keyboard keyboard) {
+ mContext = context;
+ mSuggest = new Suggest();
mKeyboard = keyboard;
}
@@ -66,29 +78,48 @@ public class DistracterFilter {
return false;
}
+ private void loadDictionariesForLocale(final Locale newlocale) throws InterruptedException {
+ mSuggest.mDictionaryFacilitator.resetDictionaries(mContext, newlocale,
+ false /* useContactsDict */, false /* usePersonalizedDicts */,
+ false /* forceReloadMainDictionary */, null /* listener */);
+ mSuggest.mDictionaryFacilitator.waitForLoadingMainDictionary(
+ TIMEOUT_TO_WAIT_LOADING_DICTIONARIES_IN_SECONDS, TimeUnit.SECONDS);
+ }
+
/**
* Determine whether a word is a distracter to words in dictionaries.
*
- * @param prevWord the previous word, or null if none.
+ * @param prevWordsInfo the information of previous words.
* @param testedWord the word that will be tested to see whether it is a distracter to words
* in dictionaries.
+ * @param locale the locale of words.
* @return true if testedWord is a distracter, otherwise false.
*/
- public boolean isDistracterToWordsInDictionaries(final String prevWord,
- final String testedWord) {
- if (mSuggest == null || mKeyboard == null) {
+ public boolean isDistracterToWordsInDictionaries(final PrevWordsInfo prevWordsInfo,
+ final String testedWord, final Locale locale) {
+ if (mKeyboard == null || locale == null) {
return false;
}
+ if (!locale.equals(mSuggest.mDictionaryFacilitator.getLocale())) {
+ // Reset dictionaries for the locale.
+ try {
+ loadDictionariesForLocale(locale);
+ } catch (final InterruptedException e) {
+ Log.e(TAG, "Interrupted while waiting for loading dicts in DistracterFilter", e);
+ return false;
+ }
+ }
final WordComposer composer = new WordComposer();
final int[] codePoints = StringUtils.toCodePointArray(testedWord);
final int[] coordinates;
coordinates = mKeyboard.getCoordinates(codePoints);
- composer.setComposingWord(codePoints, coordinates, prevWord);
+ composer.setComposingWord(codePoints, coordinates, prevWordsInfo.mPrevWord);
- final int trailingSingleQuotesCount = composer.trailingSingleQuotesCount();
- final String consideredWord = trailingSingleQuotesCount > 0 ? testedWord.substring(0,
- testedWord.length() - trailingSingleQuotesCount) : testedWord;
+ final int trailingSingleQuotesCount = StringUtils.getTrailingSingleQuotesCount(testedWord);
+ final String consideredWord = trailingSingleQuotesCount > 0 ?
+ testedWord.substring(0, testedWord.length() - trailingSingleQuotesCount) :
+ testedWord;
final AsyncResultHolder<Boolean> holder = new AsyncResultHolder<Boolean>();
final OnGetSuggestedWordsCallback callback = new OnGetSuggestedWordsCallback() {
@Override
@@ -103,7 +134,7 @@ public class DistracterFilter {
}
}
};
- mSuggest.getSuggestedWords(composer, prevWord, mKeyboard.getProximityInfo(),
+ mSuggest.getSuggestedWords(composer, prevWordsInfo, mKeyboard.getProximityInfo(),
true /* blockOffensiveWords */, true /* isCorrectionEnbaled */,
null /* additionalFeaturesOptions */, 0 /* sessionId */,
SuggestedWords.NOT_A_SEQUENCE_NUMBER, callback);
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java
index df07f976c..8a711a24e 100644
--- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java
@@ -16,17 +16,18 @@
package com.android.inputmethod.latin.utils;
+import android.content.Context;
+
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.keyboard.MainKeyboardView;
-import com.android.inputmethod.latin.Suggest;
public class DistracterFilterUtils {
private DistracterFilterUtils() {
// This utility class is not publicly instantiable.
}
- public static final DistracterFilter createDistracterFilter(final Suggest suggest,
+ public static final DistracterFilter createDistracterFilter(final Context context,
final KeyboardSwitcher keyboardSwitcher) {
final MainKeyboardView mainKeyboardView = keyboardSwitcher.getMainKeyboardView();
// TODO: Create Keyboard when mainKeyboardView is null.
@@ -34,7 +35,7 @@ public class DistracterFilterUtils {
// spellchecker's logic.
final Keyboard keyboard = (mainKeyboardView != null) ?
mainKeyboardView.getKeyboard() : null;
- final DistracterFilter distracterFilter = new DistracterFilter(suggest, keyboard);
+ final DistracterFilter distracterFilter = new DistracterFilter(context, keyboard);
return distracterFilter;
}
}
diff --git a/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java b/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java
index 74e7db901..aaf4a4064 100644
--- a/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java
+++ b/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java
@@ -20,6 +20,7 @@ import android.util.Log;
import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.DictionaryFacilitatorForSuggest;
+import com.android.inputmethod.latin.PrevWordsInfo;
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
import java.util.ArrayList;
@@ -85,7 +86,7 @@ public final class LanguageModelParam {
final ArrayList<LanguageModelParam> languageModelParams =
CollectionUtils.newArrayList();
final int N = tokens.size();
- String prevWord = null;
+ PrevWordsInfo prevWordsInfo = new PrevWordsInfo(null);
for (int i = 0; i < N; ++i) {
final String tempWord = tokens.get(i);
if (StringUtils.isEmptyStringOrWhiteSpaces(tempWord)) {
@@ -102,7 +103,7 @@ public final class LanguageModelParam {
+ tempWord + "\"");
}
// Sentence terminator found. Split.
- prevWord = null;
+ prevWordsInfo = new PrevWordsInfo(null);
continue;
}
if (DEBUG_TOKEN) {
@@ -110,19 +111,19 @@ public final class LanguageModelParam {
}
final LanguageModelParam languageModelParam =
detectWhetherVaildWordOrNotAndGetLanguageModelParam(
- prevWord, tempWord, timestamp, dictionaryFacilitator,
+ prevWordsInfo, tempWord, timestamp, dictionaryFacilitator,
distracterFilter);
if (languageModelParam == null) {
continue;
}
languageModelParams.add(languageModelParam);
- prevWord = languageModelParam.mTargetWord;
+ prevWordsInfo = new PrevWordsInfo(languageModelParam.mTargetWord);
}
return languageModelParams;
}
private static LanguageModelParam detectWhetherVaildWordOrNotAndGetLanguageModelParam(
- final String prevWord, final String targetWord, final int timestamp,
+ final PrevWordsInfo prevWordsInfo, final String targetWord, final int timestamp,
final DictionaryFacilitatorForSuggest dictionaryFacilitator,
final DistracterFilter distracterFilter) {
final Locale locale = dictionaryFacilitator.getLocale();
@@ -133,14 +134,14 @@ public final class LanguageModelParam {
// distracterFilter in the following code. If targetWord is a distracter,
// it should be filtered out.
if (dictionaryFacilitator.isValidWord(targetWord, false /* ignoreCase */)) {
- return createAndGetLanguageModelParamOfWord(prevWord, targetWord, timestamp,
+ return createAndGetLanguageModelParamOfWord(prevWordsInfo, targetWord, timestamp,
true /* isValidWord */, locale);
}
final String lowerCaseTargetWord = targetWord.toLowerCase(locale);
if (dictionaryFacilitator.isValidWord(lowerCaseTargetWord, false /* ignoreCase */)) {
// Add the lower-cased word.
- return createAndGetLanguageModelParamOfWord(prevWord, lowerCaseTargetWord,
+ return createAndGetLanguageModelParamOfWord(prevWordsInfo, lowerCaseTargetWord,
timestamp, true /* isValidWord */, locale);
}
@@ -150,26 +151,26 @@ public final class LanguageModelParam {
// Adding such a word to dictonaries would interfere with entering in-dictionary words. For
// example, adding "mot" to dictionaries might interfere with entering "not".
// This kind of OOV should be filtered out.
- if (distracterFilter.isDistracterToWordsInDictionaries(prevWord, targetWord)) {
+ if (distracterFilter.isDistracterToWordsInDictionaries(prevWordsInfo, targetWord, locale)) {
return null;
}
- return createAndGetLanguageModelParamOfWord(prevWord, targetWord, timestamp,
+ return createAndGetLanguageModelParamOfWord(prevWordsInfo, targetWord, timestamp,
false /* isValidWord */, locale);
}
private static LanguageModelParam createAndGetLanguageModelParamOfWord(
- final String prevWord, final String targetWord, final int timestamp,
+ final PrevWordsInfo prevWordsInfo, final String targetWord, final int timestamp,
final boolean isValidWord, final Locale locale) {
final String word;
if (StringUtils.getCapitalizationType(targetWord) == StringUtils.CAPITALIZE_FIRST
- && prevWord == null && !isValidWord) {
+ && prevWordsInfo.mPrevWord == null && !isValidWord) {
word = targetWord.toLowerCase(locale);
} else {
word = targetWord;
}
final int unigramProbability = isValidWord ?
UNIGRAM_PROBABILITY_FOR_VALID_WORD : UNIGRAM_PROBABILITY_FOR_OOV_WORD;
- if (prevWord == null) {
+ if (prevWordsInfo.mPrevWord == null) {
if (DEBUG) {
Log.d(TAG, "--- add unigram: current("
+ (isValidWord ? "Valid" : "OOV") + ") = " + word);
@@ -177,12 +178,12 @@ public final class LanguageModelParam {
return new LanguageModelParam(word, unigramProbability, timestamp);
}
if (DEBUG) {
- Log.d(TAG, "--- add bigram: prev = " + prevWord + ", current("
+ Log.d(TAG, "--- add bigram: prev = " + prevWordsInfo.mPrevWord + ", current("
+ (isValidWord ? "Valid" : "OOV") + ") = " + word);
}
final int bigramProbability = isValidWord ?
BIGRAM_PROBABILITY_FOR_VALID_WORD : BIGRAM_PROBABILITY_FOR_OOV_WORD;
- return new LanguageModelParam(prevWord, word, unigramProbability,
+ return new LanguageModelParam(prevWordsInfo.mPrevWord, word, unigramProbability,
bigramProbability, timestamp);
}
}
diff --git a/java/src/com/android/inputmethod/latin/utils/StringUtils.java b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
index 374badc19..73ac9a573 100644
--- a/java/src/com/android/inputmethod/latin/utils/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
@@ -538,6 +538,15 @@ public final class StringUtils {
? casedText.codePointAt(0) : CODE_UNSPECIFIED;
}
+ public static int getTrailingSingleQuotesCount(final CharSequence charSequence) {
+ final int lastIndex = charSequence.length() - 1;
+ int i = lastIndex;
+ while (i >= 0 && charSequence.charAt(i) == Constants.CODE_SINGLE_QUOTE) {
+ --i;
+ }
+ return lastIndex - i;
+ }
+
@UsedForTesting
public static class Stringizer<E> {
public String stringize(final E element) {