From 8bfaf442889113b6633ca20af8b044f7af64bf3d Mon Sep 17 00:00:00 2001 From: Aleksandras Kostarevas Date: Sun, 25 Aug 2024 09:10:52 +0300 Subject: [PATCH] Remove unused SuggestionStripView --- .../keyboard/internal/KeyboardTextsTable.java | 2330 +++++++++-------- .../org/futo/inputmethod/latin/InputView.java | 63 - .../inputmethod/latin/LatinIMELegacy.java | 5 +- .../latin/suggestions/MoreSuggestions.java | 271 -- .../suggestions/MoreSuggestionsView.java | 117 - .../latin/suggestions/SuggestionStrip.kt | 91 +- .../SuggestionStripViewAccessor.java | 27 - .../futo/inputmethod/latin/uix/ActionBar.kt | 9 +- .../futo/inputmethod/latin/uix/UixManager.kt | 6 +- 9 files changed, 1208 insertions(+), 1711 deletions(-) delete mode 100644 java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestions.java delete mode 100644 java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestionsView.java delete mode 100644 java/src/org/futo/inputmethod/latin/suggestions/SuggestionStripViewAccessor.java diff --git a/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java index 51af24e3d..5d9f2782e 100644 --- a/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -88,285 +88,285 @@ public final class KeyboardTextsTable { "single_quotes", "morekeys_c", "keyspec_currency", - "morekeys_misc_a", "morekeys_s", "morekeys_misc_o", + "morekeys_misc_a", "morekeys_misc_u", "morekeys_misc_e", "morekeys_misc_i", "morekeys_z", "morekeys_n", - "morekeys_misc_c", "morekeys_misc_s", + "morekeys_misc_c", "double_angle_quotes", "single_angle_quotes", "morekeys_y", - "keyspec_symbols_9", - "keyspec_symbols_8", - "additional_morekeys_symbols_4", "additional_morekeys_symbols_8", - "additional_morekeys_symbols_3", - "additional_morekeys_symbols_5", - "additional_morekeys_symbols_9", - "additional_morekeys_symbols_7", - "keyspec_symbols_3", - "keyspec_symbols_2", + "additional_morekeys_symbols_6", + "morekeys_d", + "keyspec_symbols_9", "morekeys_misc_z", - "additional_morekeys_symbols_2", + "additional_morekeys_symbols_9", "keyspec_symbols_5", + "keyspec_symbols_4", + "additional_morekeys_symbols_3", + "morekeys_g", "additional_morekeys_symbols_1", "keyspec_symbols_7", - "morekeys_g", - "keyspec_symbols_4", + "keyspec_symbols_8", "keyspec_symbols_6", + "keyspec_symbols_3", + "additional_morekeys_symbols_4", + "additional_morekeys_symbols_5", "additional_morekeys_symbols_0", + "additional_morekeys_symbols_2", + "additional_morekeys_symbols_7", "keyspec_symbols_1", - "morekeys_d", - "additional_morekeys_symbols_6", + "keyspec_symbols_2", "keyspec_symbols_0", "keylabel_to_symbol", - "morekeys_tablet_period", "morekeys_cyrillic_ie", - "keyspec_nordic_row2_10", - "keyspec_east_slavic_row2_2", - "morekeys_t", + "morekeys_tablet_period", + "morekeys_period", + "morekeys_nordic_row2_10", "keyspec_east_slavic_row3_5", "keyspec_tablet_comma", - "morekeys_nordic_row2_10", + "keyspec_east_slavic_row1_9", + "morekeys_misc_n", + "keyspec_nordic_row2_10", + "keyspec_east_slavic_row2_2", + "morekeys_cyrillic_soft_sign", + "keyspec_nordic_row2_11", "keyspec_east_slavic_row2_11", "keyspec_period", "keyspec_nordic_row1_11", - "morekeys_period", - "morekeys_misc_n", - "keyspec_nordic_row2_11", - "keyspec_east_slavic_row1_9", - "morekeys_cyrillic_soft_sign", - "keyspec_left_double_angle_quote", - "morekeys_l", - "keyspec_right_curly_bracket", - "keyspec_comma", - "morekeys_punctuation", - "keyspec_tablet_period", + "morekeys_t", "keyspec_less_than", - "morekeys_question", - "morekeys_star", - "keyspec_left_curly_bracket", - "keyspec_right_parenthesis", - "keyspec_right_double_angle_quote", - "keyspec_greater_than", - "keyspec_greater_than_equal", - "keyspec_left_parenthesis", - "keyspec_left_single_angle_quote", "morekeys_tablet_comma", - "keyspec_less_than_equal", + "keyspec_left_single_angle_quote", + "morekeys_l", + "keyspec_left_curly_bracket", "morekeys_r", "keyspec_right_square_bracket", - "keyspec_right_single_angle_quote", - "keyhintlabel_period", - "morekeys_nordic_row2_11", + "keyspec_right_parenthesis", + "keyspec_left_double_angle_quote", + "keyspec_less_than_equal", "keyspec_left_square_bracket", - "keyspec_spanish_row2_10", - "morekeys_symbols_percent", - "morekeys_misc_y", - "morekeys_symbols_semicolon", - "morekeys_right_parenthesis", + "keyspec_greater_than", + "keyspec_right_curly_bracket", + "keyspec_comma", + "keyspec_left_parenthesis", + "morekeys_star", + "morekeys_punctuation", + "morekeys_nordic_row2_11", + "keyhintlabel_period", + "morekeys_question", + "keyspec_right_double_angle_quote", + "keyspec_greater_than_equal", + "keyspec_tablet_period", + "keyspec_right_single_angle_quote", + "keyspec_symbols_percent", + "keyspec_swiss_row2_11", + "morekeys_bullet", + "keyspec_swiss_row2_10", + "morekeys_swiss_row1_11", "morekeys_arabic_diacritics", "keyspec_symbols_question", - "keyspec_swiss_row2_10", - "keyspec_symbols_percent", - "morekeys_bullet", - "keyspec_swiss_row2_11", - "morekeys_swiss_row2_11", + "keyspec_spanish_row2_10", "morekeys_swiss_row2_10", - "keyhintlabel_tablet_comma", - "keyspec_swiss_row1_11", - "keyhintlabel_tablet_period", - "morekeys_swiss_row1_11", - "keyspec_symbols_semicolon", + "morekeys_symbols_semicolon", + "morekeys_right_parenthesis", + "morekeys_symbols_percent", "morekeys_left_parenthesis", - "morekeys_tablet_punctuation", - "morekeys_misc_r", - "label_search_key", - "label_pause_key", - "morekeys_cyrillic_o", - "morekeys_east_slavic_row2_2", - "morekeys_h", - "label_previous_key", - "morekeys_cyrillic_ghe", - "morekeys_cyrillic_i", - "label_done_key", + "keyhintlabel_tablet_comma", + "keyspec_symbols_semicolon", + "keyhintlabel_tablet_period", + "morekeys_swiss_row2_11", + "morekeys_misc_y", + "keyspec_swiss_row1_11", "keyspec_south_slavic_row3_8", + "morekeys_misc_r", "keyspec_south_slavic_row2_11", - "label_wait_key", - "morekeys_misc_g", - "morekeys_k", - "morekeys_cyrillic_u", - "morekeys_misc_l", - "keyspec_south_slavic_row1_6", "label_send_key", - "keyspec_south_slavic_row3_1", + "morekeys_misc_g", + "morekeys_cyrillic_u", + "morekeys_k", + "morekeys_misc_l", "morekeys_cyrillic_en", - "label_go_key", + "morekeys_cyrillic_i", + "morekeys_tablet_punctuation", + "morekeys_cyrillic_ghe", + "morekeys_cyrillic_o", + "label_previous_key", + "keyspec_south_slavic_row1_6", "label_next_key", - "morekeys_plus", - "morekeys_exclamation", - "morekeys_greater_than", - "keyspec_q", - "keyspec_x", - "morekeys_w", - "morekeys_east_slavic_row2_11", - "morekeys_cyrillic_a", - "morekeys_misc_t", + "label_wait_key", + "label_pause_key", + "morekeys_h", + "morekeys_east_slavic_row2_2", + "keyspec_south_slavic_row3_1", + "label_go_key", + "label_done_key", + "label_search_key", "morekeys_j", - "morekeys_currency_dollar", - "morekeys_cyrillic_ka", + "keyspec_q", "keyspec_y", - "morekeys_misc_h", + "morekeys_currency_dollar", "morekeys_less_than", + "morekeys_exclamation", + "keyspec_x", + "morekeys_cyrillic_a", + "morekeys_w", + "morekeys_misc_t", "keyspec_w", - "actions_6", - "actions_b", - "double_9qm_rqm", - "keylabel_to_more_symbol", - "actions_1", - "qwertysyms_s", - "qwertysyms_e", - "qwertysyms_p", - "actions_t", - "qwertysyms_z", - "qwertysyms_m", - "actions_2", - "actions_l", - "morekeys_symbols_0", - "actions_7", - "actions_n", - "single_lqm_rqm", - "keyspec_emoji_action_key", - "actions_i", - "morekeys_symbols_4", - "morekeys_misc_j", - "single_rqm_9qm", - "qwertysyms_j", - "morekeys_misc_d", - "actions_v", - "qwertysyms_h", - "actions_o", - "qwertysyms_q", - "morekeys_misc_p", - "actions_f", - "double_rqm_9qm", - "actions_s", - "actions_h", - "morekeys_misc_w", - "morekeys_symbols_7", - "actions_3", - "actions_0", - "number_4", - "qwertysyms_t", - "morekeys_misc_q", - "actions_q", - "keylabel_tablet_to_more_symbol", - "qwertysyms_a", - "keylabel_time_am", - "qwertysyms_b", - "actions_x", - "single_9qm_lqm", - "morekeys_currency_generic", - "keyspec_popular_domain", - "actions_e", - "keyspecs_left_parenthesis_more_keys", - "qwertysyms_c", - "morekeys_v", - "qwertysyms_y", - "actions_y", - "number_6", - "number_9", - "number_5", - "actions_z", - "morekeys_symbols_3", - "qwertysyms_n", - "qwertysyms_d", - "number_1", - "keylabel_time_pm", - "morekeys_am_pm", - "number_8", + "morekeys_cyrillic_ka", + "morekeys_misc_h", + "morekeys_east_slavic_row2_11", + "morekeys_greater_than", + "morekeys_plus", "actions_j", - "actions_g", - "morekeys_symbols_9", - "morekeys_b", - "actions_m", - "qwertysyms_8", - "qwertysyms_v", - "actions_r", - "actions_d", - "double_laqm_raqm", - "actions_9", - "actions_k", - "morekeys_p", - "qwertysyms_0", - "actions_p", - "qwertysyms_5", - "morekeys_symbols_2", - "actions_a", - "double_raqm_laqm", - "qwertysyms_1", - "qwertysyms_l", - "keylabel_to_phone_symbols", - "single_laqm_raqm", - "morekeys_misc_b", - "qwertysyms_k", - "keyspec_settings", - "morekeys_misc_f", - "keyspec_shortcut", - "double_9qm_lqm", - "morekeys_symbols_6", - "qwertysyms_3", - "morekeys_x", - "qwertysyms_9", - "actions_w", - "actions_c", - "qwertysyms_r", - "qwertysyms_x", - "actions_8", - "qwertysyms_f", - "number_7", - "qwertysyms_i", - "double_lqm_rqm", - "number_2", - "morekeys_m", - "morekeys_f", - "qwertysyms_4", - "morekeys_misc_x", - "qwertysyms_7", - "actions_4", - "morekeys_misc_v", - "single_9qm_rqm", - "keyspecs_right_parenthesis_more_keys", - "single_raqm_laqm", - "morekeys_misc_m", - "morekeys_symbols_1", - "qwertysyms_6", - "qwertysyms_2", - "qwertysyms_o", - "morekeys_popular_domain", - "qwertysyms_g", - "morekeys_symbols_8", - "keyspec_action_next", - "keyspec_action_previous", - "actions_5", - "morekeys_symbols_5", - "number_0", - "morekeys_double_quote", - "morekeys_tablet_double_quote", - "qwertysyms_w", - "qwertysyms_u", - "keylabel_to_phone_numeric", - "morekeys_misc_k", - "keyspec_emoji_action_key_navigation", - "morekeys_q", - "morekeys_single_quote", + "qwertysyms_b", + "actions_y", "actions_u", - "number_3" + "qwertysyms_v", + "morekeys_misc_q", + "qwertysyms_0", + "morekeys_p", + "morekeys_misc_x", + "qwertysyms_p", + "actions_n", + "single_9qm_lqm", + "morekeys_misc_f", + "actions_t", + "single_9qm_rqm", + "qwertysyms_i", + "qwertysyms_w", + "morekeys_v", + "qwertysyms_2", + "number_5", + "morekeys_misc_v", + "actions_x", + "double_lqm_rqm", + "qwertysyms_m", + "morekeys_misc_m", + "actions_2", + "morekeys_misc_w", + "single_raqm_laqm", + "actions_4", + "morekeys_misc_d", + "double_laqm_raqm", + "morekeys_currency_generic", + "number_7", + "actions_d", + "qwertysyms_6", + "qwertysyms_n", + "number_6", + "number_3", + "morekeys_symbols_8", + "actions_7", + "qwertysyms_9", + "qwertysyms_k", + "qwertysyms_c", + "actions_5", + "keyspecs_left_parenthesis_more_keys", + "single_lqm_rqm", + "single_rqm_9qm", + "keyspec_emoji_action_key_navigation", + "qwertysyms_q", + "morekeys_am_pm", + "keylabel_to_phone_numeric", + "morekeys_misc_j", + "keyspec_popular_domain", + "keylabel_tablet_to_more_symbol", + "actions_m", + "qwertysyms_f", + "actions_f", + "morekeys_double_quote", + "number_4", + "keylabel_to_more_symbol", + "double_9qm_rqm", + "morekeys_q", + "qwertysyms_r", + "morekeys_symbols_5", + "qwertysyms_o", + "keylabel_time_am", + "morekeys_symbols_6", + "qwertysyms_h", + "keyspec_action_next", + "actions_6", + "qwertysyms_3", + "morekeys_symbols_4", + "morekeys_symbols_9", + "qwertysyms_y", + "actions_h", + "qwertysyms_a", + "actions_a", + "qwertysyms_s", + "keyspec_emoji_action_key", + "actions_b", + "keyspecs_right_parenthesis_more_keys", + "actions_0", + "actions_w", + "keyspec_shortcut", + "morekeys_x", + "keylabel_to_phone_symbols", + "morekeys_misc_p", + "morekeys_popular_domain", + "qwertysyms_7", + "keyspec_action_previous", + "morekeys_misc_k", + "qwertysyms_8", + "number_0", + "actions_i", + "morekeys_b", + "qwertysyms_5", + "actions_p", + "morekeys_misc_b", + "actions_8", + "double_9qm_lqm", + "actions_g", + "number_1", + "actions_k", + "keyspec_settings", + "qwertysyms_u", + "double_raqm_laqm", + "morekeys_single_quote", + "morekeys_symbols_3", + "qwertysyms_e", + "actions_r", + "actions_l", + "number_2", + "number_8", + "single_laqm_raqm", + "actions_z", + "morekeys_symbols_1", + "morekeys_symbols_2", + "qwertysyms_4", + "morekeys_symbols_0", + "qwertysyms_d", + "actions_c", + "qwertysyms_l", + "qwertysyms_z", + "actions_3", + "actions_v", + "qwertysyms_g", + "qwertysyms_1", + "actions_9", + "actions_q", + "morekeys_f", + "morekeys_m", + "double_rqm_9qm", + "qwertysyms_x", + "morekeys_symbols_7", + "actions_s", + "qwertysyms_t", + "number_9", + "actions_e", + "actions_o", + "qwertysyms_j", + "morekeys_tablet_double_quote", + "keylabel_time_pm", + "actions_1" }; private static final String EMPTY = ""; @@ -383,9 +383,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e2,\u00e4,\u00e0,\u00e6,\u00e3,\u00e5,\u0101", null, "\u00f6,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e2,\u00e4,\u00e0,\u00e6,\u00e3,\u00e5,\u0101", "\u00fc,\u00f9,\u016b", "\u0119,\u0117,\u0113", "\u012f,\u012b,\u0133" @@ -416,34 +416,33 @@ public final class KeyboardTextsTable { null, null, null, - "\u0669", - "\u0668", - "4", "8", - "3", - "5", - "9", - "7", - "\u0663", - "\u0662", + "6", null, - "2", + "\u0669", + null, + "9", "\u0665", + "\u0664", + "3", + null, "1", "\u0667", - null, - "\u0664", + "\u0668", "\u0666", + "\u0663", + "4", + "5", "0,\u066b,\u066c", + "2", + "7", "\u0661", - null, - "6", + "\u0662", "\u0660", "\u0663\u0662\u0661\u061f", + null, + "!text/morekeys_arabic_diacritics", "!text/morekeys_arabic_diacritics", - null, - null, - null, null, null, "\u060c", @@ -451,54 +450,52 @@ public final class KeyboardTextsTable { null, null, null, - "!text/morekeys_arabic_diacritics", null, null, null, null, - "\u00ab|\u00bb", - null, - "}|{", - "\u060c", null, null, "<|>", - "?,\u00bf", - "\u2605,\u066d", - "{|}", - ")|(", - "\u00bb|\u00ab", - ">|<", - "\u2265|\u2264", - "(|)", - "\u2039|\u203a", "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'", - "\u2264|\u2265", + "\u2039|\u203a", + null, + "{|}", null, "]|[", - "\u203a|\u2039", - "\u0651", - null, + ")|(", + "\u00ab|\u00bb", + "\u2264|\u2265", "[|]", + ">|<", + "}|{", + "\u060c", + "(|)", + "\u2605,\u066d", null, - "\\%,\u2030", null, - ";", - "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", - "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e", - "\u061f", + "\u0651", + "?,\u00bf", + "\u00bb|\u00ab", + "\u2265|\u2264", null, + "\u203a|\u2039", "\u066a", + null, "\u266a", null, null, - null, + "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e", "\u061f", null, - "\u0651", null, + ";", + "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", + "\\%,\u2030", + "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys", + "\u061f", "\u061b", - "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys" + "\u0651" }; private static final String[] TEXTS_az = { @@ -513,12 +510,12 @@ public final class KeyboardTextsTable { null, "\u00e7,\u0107,\u010d", null, - null, "\u015f,\u00df,\u015b,\u0161", null, null, null, null, + null, "\u017e", "\u0148,\u00f1", null, @@ -535,12 +532,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, "\u011f" }; @@ -593,22 +584,19 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0451", null, - "\u044b", + null, null, "\u0456", null, - null, - "\u044d", - null, - null, - null, - null, - null, "\u045e", - "\u044a" + null, + null, + "\u044b", + "\u044a", + null, + "\u044d" }; private static final String[] TEXTS_bg = { @@ -647,28 +635,28 @@ public final class KeyboardTextsTable { null, null, null, - "\u09ef", - "\u09ee", - "4", "8", - "3", - "5", - "9", - "7", - "\u09e9", - "\u09e8", + "6", null, - "2", + "\u09ef", + null, + "9", "\u09eb", + "\u09ea", + "3", + null, "1", "\u09ed", - null, - "\u09ea", + "\u09ee", "\u09ec", + "\u09e9", + "4", + "5", "0", + "2", + "7", "\u09e7", - null, - "6", + "\u09e8", "\u09e6" }; @@ -698,14 +686,15 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - "\u00e1,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa", null, "\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba", + "\u00e1,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa", "\u00f9,\u00fb,\u016b", "\u00eb,\u00ea,\u0119,\u0117,\u0113", "\u00ec,\u00ee,\u012f,\u012b", null, null, + null, "\u0107,\u010d", null, null, @@ -755,6 +744,17 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "!autoColumnOrder!9,\\\\,?,!,\u00b7,#,),(,/,;,',@,:,-,\\\",+,\\%,&", null, null, @@ -770,11 +770,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, "\u00e7", null, null, @@ -794,6 +789,9 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, "!autoColumnOrder!8,\\\\,',\u00b7,#,),(,/,;,@,:,-,\\\",+,\\%,&" }; @@ -822,89 +820,86 @@ public final class KeyboardTextsTable { null, null, null, - "\u0669", - "\u0668", - "4", "8", - "3", - "5", - "9", - "7", - "\u0663", - "\u0662", + "6", null, - "2", + "\u0669", + null, + "9", "\u0665", + "\u0664", + "3", + null, "1", "\u0667", - null, - "\u0664", + "\u0668", "\u0666", + "\u0663", + "4", + "5", "0,\u066b,\u066c", + "2", + "7", "\u0661", - null, - "6", + "\u0662", "\u0660", "\u0663\u0662\u0661\u061f", + null, + "\u061f", "\u061f", null, null, - null, - null, - null, "\u060c", null, null, + null, + null, + null, + null, + null, ".", null, - "\u061f", - null, - null, - null, - null, - "\u00ab|\u00bb", - null, - "}|{", - "\u060c", - null, null, "<|>", - "?,\u00bf", - "\u2605,\u066d", - "{|}", - ")|(", - "\u00bb|\u00ab", - ">|<", - "\u2265|\u2264", - "(|)", - "\u2039|\u203a", "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'", - "\u2264|\u2265", + "\u2039|\u203a", + null, + "{|}", null, "]|[", - "\u203a|\u2039", - "\u0651", - null, + ")|(", + "\u00ab|\u00bb", + "\u2264|\u2265", "[|]", + ">|<", + "}|{", + "\u060c", + "(|)", + "\u2605,\u066d", null, - "\\%,\u2030", null, - ";", - "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", - "!fixedColumnOrder!7, \u0655\u25cc|\u0655, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u064b\u25cc|\u064b, \u0651\u25cc|\u0651, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f, \u064e\u25cc|\u064e,\u0640|\u0640", - "\u061f", + "\u0651", + "?,\u00bf", + "\u00bb|\u00ab", + "\u2265|\u2264", null, + "\u203a|\u2039", "\u066a", + null, "\u266a", null, null, - null, + "!fixedColumnOrder!7, \u0655\u25cc|\u0655, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u064b\u25cc|\u064b, \u0651\u25cc|\u0651, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f, \u064e\u25cc|\u064e,\u0640|\u0640", "\u061f", null, - "\u0651", null, + ";", + "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", + "\\%,\u2030", + "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys", + "\u061f", "\u061b", - "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys" + "\u0651" }; private static final String[] TEXTS_cs = { @@ -919,28 +914,22 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", "\u010d", null, - "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", "\u0161", "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", "\u00fb,\u00fc,\u00f9,\u016b", "\u00e8,\u00ea,\u00eb,\u0119,\u0117,\u0113", "\u00ee,\u00ef,\u00ec,\u012f,\u012b", "\u017e", "\u0148", - "\u00e7,\u0107", "\u00df,\u015b", + "\u00e7,\u0107", "!text/double_raqm_laqm", "!text/single_raqm_laqm", "\u00fd", null, null, - null, - null, - null, - null, - null, - null, - null, + "\u010f", null, "\u017a,\u017c", null, @@ -952,7 +941,6 @@ public final class KeyboardTextsTable { null, null, null, - "\u010f", null, null, null, @@ -960,7 +948,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u0165", + null, + null, + null, null, null, null, @@ -976,15 +966,7 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, + "\u0165", null, null, null, @@ -998,6 +980,34 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u00ff" }; @@ -1013,9 +1023,9 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", null, null, - "\u00e1,\u00e4,\u00e0,\u00e2,\u00e3,\u0101", null, "\u00f6,\u00f3,\u00f4,\u00f2,\u00f5,\u0153,\u014d", + "\u00e1,\u00e4,\u00e0,\u00e2,\u00e3,\u0101", null, null, null, @@ -1052,24 +1062,19 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e6", - null, - null, - null, null, "\u00e4", null, null, - "\u00e5", + null, + null, + "\u00e6", null, null, "\u00f8", null, null, - null, - null, - null, - null, + "\u00e5", null, null, null, @@ -1103,16 +1108,16 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", null, null, - "%,\u00e2,\u00e0,\u00e1,\u00e6,\u00e3,\u00e5,\u0101", "\u00df", "%,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u00f8,\u014d", + "%,\u00e2,\u00e0,\u00e1,\u00e6,\u00e3,\u00e5,\u0101", "%,\u00fb,\u00f9,\u00fa,\u016b", null, null, null, null, - null, "\u015b,\u0161", + null, "!text/double_raqm_laqm", "!text/single_raqm_laqm", null, @@ -1181,22 +1186,24 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, + "\u00e4", null, "\u00f6", + "\u00e8", + null, null, null, - "\u00e4", - "\u00e0", "\u00e9", null, - "\u00fc", null, - "\u00e8" + null, + null, + null, + null, + null, + "\u00e0", + null, + "\u00fc" }; private static final String[] TEXTS_el = { @@ -1220,22 +1227,16 @@ public final class KeyboardTextsTable { null, "\u0109", null, - null, "\u015d", null, + null, "\u00fa,\u016f,\u00fb,\u00fc,\u00f9,\u016b,\u0169,\u0171,\u0173,\u00b5", null, null, null, null, - "\u0107,\u010d,\u00e7,\u010b", "\u00df,\u0161,\u015b,\u0219,\u015f", - null, - null, - null, - null, - null, - null, + "\u0107,\u010d,\u00e7,\u010b", null, null, null, @@ -1297,6 +1298,19 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u0135", null, null, @@ -1313,6 +1327,11 @@ public final class KeyboardTextsTable { null, null, null, + "\u011f,\u0121,\u0123", + null, + null, + null, + null, null, null, null, @@ -1329,33 +1348,18 @@ public final class KeyboardTextsTable { null, null, null, - null, - "\u011f,\u0121,\u0123", - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u015d", + "\u016d", + null, + null, + null, "\u0109", null, null, null, + "\u011d", null, - null, - null, - null, - "\u016d", - "\u0127", - null, - "\u011d" + "\u0127" }; private static final String[] TEXTS_es = { @@ -1370,9 +1374,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e0,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa", null, "\u00f2,\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba", + "\u00e0,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa", "\u00f9,\u00fb,\u016b", "\u00e8,\u00eb,\u00ea,\u0119,\u0117,\u0113", "\u00ef,\u00ec,\u00ee,\u012f,\u012b", @@ -1414,11 +1418,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, "\u0144", null, null, @@ -1427,6 +1426,23 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "!autoColumnOrder!9,\\\\,?,!,#,),(,/,;,\u00a1,',@,:,-,\\\",+,\\%,&,\u00bf" }; @@ -1442,15 +1458,14 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", null, null, - "\u0101,\u00e0,\u00e1,\u00e2,\u00e3,\u00e5,\u00e6,\u0105", "\u0161", "\u00f2,\u00f3,\u00f4,\u0153,\u0151,\u00f8", + "\u0101,\u00e0,\u00e1,\u00e2,\u00e3,\u00e5,\u00e6,\u0105", "\u016b,\u0173,\u00f9,\u00fa,\u00fb,\u016f,\u0171", null, null, "\u017e", null, - null, "\u00df,\u015b,\u015f", null, null, @@ -1460,11 +1475,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, "\u017c,\u017a", null, null, @@ -1481,7 +1491,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00f6", + null, + null, + null, null, null, null, @@ -1489,10 +1501,15 @@ public final class KeyboardTextsTable { "\u00f5", null, null, - "\u00fc", null, null, - "\u00e4" + "\u00f6", + null, + null, + "\u00e4", + null, + null, + "\u00fc" }; private static final String[] TEXTS_eu = { @@ -1542,34 +1559,33 @@ public final class KeyboardTextsTable { null, null, null, - "\u06f9", - "\u06f8", - "4", "8", - "3", - "5", - "9", - "7", - "\u06f3", - "\u06f2", + "6", null, - "2", + "\u06f9", + null, + "9", "\u06f5", + "\u06f4", + "3", + null, "1", "\u06f7", - null, - "\u06f4", + "\u06f8", "\u06f6", + "\u06f3", + "4", + "5", "0,\u066b,\u066c", + "2", + "7", "\u06f1", - null, - "6", + "\u06f2", "\u06f0", "\u06f3\u06f2\u06f1\u061f", + null, + "!text/morekeys_arabic_diacritics", "!text/morekeys_arabic_diacritics", - null, - null, - null, null, null, "\u060c", @@ -1577,54 +1593,53 @@ public final class KeyboardTextsTable { null, null, null, - "!text/morekeys_arabic_diacritics", null, null, null, null, - "\u00ab|\u00bb", - null, - "}|{", - "\u060c", null, null, "<|>", - "?,\u00bf", - "\u2605,\u066d", - "{|}", - ")|(", - "\u00bb|\u00ab", - ">|<", - "\u2265|\u2264", - "(|)", - "\u2039|\u203a", "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote", - "\u2264|\u2265", + "\u2039|\u203a", + null, + "{|}", null, "]|[", - "\u203a|\u2039", - "\u064b", - null, + ")|(", + "\u00ab|\u00bb", + "\u2264|\u2265", "[|]", + ">|<", + "}|{", + "\u060c", + "(|)", + "\u2605,\u066d", null, - "\\%,\u2030", null, - ";", - "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", - "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e", - "\u061f", + "\u064b", + "?,\u00bf", + "\u00bb|\u00ab", + "\u2265|\u2264", null, + "\u203a|\u2039", "\u066a", + null, "\u266a", null, null, - null, + "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e", "\u061f", null, + null, + ";", + "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys", + "\\%,\u2030", + "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys", + "\u061f", + "\u061b", "\u064b", null, - "\u061b", - "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys", null, null, null, @@ -1651,7 +1666,11 @@ public final class KeyboardTextsTable { null, null, null, - "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_greater_than", + null, + null, + null, + null, + "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_less_than", null, null, null, @@ -1661,9 +1680,7 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_less_than" + "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_greater_than" }; private static final String[] TEXTS_fi = { @@ -1678,15 +1695,14 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e6,\u00e0,\u00e1,\u00e2,\u00e3,\u0101", "\u0161", "\u00f8,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u014d", + "\u00e6,\u00e0,\u00e1,\u00e2,\u00e3,\u0101", null, null, null, "\u017e", null, - null, "\u00df,\u015b", null, null, @@ -1696,11 +1712,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, "\u017a,\u017c", null, null, @@ -1717,7 +1728,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00f6", + null, + null, + null, null, null, null, @@ -1725,16 +1738,15 @@ public final class KeyboardTextsTable { "\u00f8", null, null, - "\u00e5", + null, + null, + "\u00f6", null, null, "\u00e4", null, null, - null, - null, - null, - null, + "\u00e5", null, null, null, @@ -1768,16 +1780,16 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - "\u00e1,\u00e4,\u00e3,\u00e5,\u0101,\u00aa", null, "%,\u00f6,\u00f2,\u00f3,\u00f5,\u00f8,\u014d,\u00ba", + "\u00e1,\u00e4,\u00e3,\u00e5,\u0101,\u00aa", "\u00fa,\u016b", "%,\u0119,\u0117,\u0113", "\u00ec,\u00ed,\u012f,\u012b", null, null, - "%,\u0107,\u010d", null, + "%,\u0107,\u010d", null, null, "%,\u00ff", @@ -1846,22 +1858,24 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, + "\u00e0", null, "\u00e9", + "\u00fc", + null, null, null, - "\u00e0", - "\u00e4", "\u00f6", null, - "\u00e8", null, - "\u00fc" + null, + null, + null, + null, + null, + "\u00e4", + null, + "\u00e8" }; private static final String[] TEXTS_gl = { @@ -1911,31 +1925,35 @@ public final class KeyboardTextsTable { null, null, null, - "\u096f", - "\u096e", - "4", "8", - "3", - "5", - "9", - "7", - "\u0969", - "\u0968", + "6", null, - "2", + "\u096f", + null, + "9", "\u096b", + "\u096a", + "3", + null, "1", "\u096d", - null, - "\u096a", + "\u096e", "\u096c", + "\u0969", + "4", + "5", "0", + "2", + "7", "\u0967", - null, - "6", + "\u0968", "\u0966", "?\u0967\u0968\u0969", + null, "!autoColumnOrder!8,\\\\,.,',#,),(,/,;,@,:,-,\\\",+,\\%,&", + "!autoColumnOrder!9,\\\\,.,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&", + null, + null, null, null, null, @@ -1946,7 +1964,20 @@ public final class KeyboardTextsTable { null, "\u0964", null, - "!autoColumnOrder!9,\\\\,.,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -2069,28 +2100,28 @@ public final class KeyboardTextsTable { null, null, null, - "Search", - "Pause", + null, + "Send", + null, + null, + null, + null, + null, + null, null, null, null, "Prev", null, - null, - "Done", - null, - null, + "Next", "Wait", + "Pause", null, null, null, - null, - null, - "Send", - null, - null, "Go", - "Next" + "Done", + "Search" }; private static final String[] TEXTS_hr = { @@ -2105,40 +2136,24 @@ public final class KeyboardTextsTable { "!text/single_9qm_rqm", "\u010d,\u0107", null, - null, "\u0161", null, null, null, null, + null, "\u017e", null, - "\u00e7", "\u015b,\u00df", + "\u00e7", "!text/double_raqm_laqm", "!text/single_raqm_laqm", null, null, null, + "\u0111", null, - null, - null, - null, - null, - null, - null, - null, - "\u017a,\u017c", - null, - null, - null, - null, - null, - null, - null, - null, - null, - "\u0111" + "\u017a,\u017c" }; private static final String[] TEXTS_hu = { @@ -2153,9 +2168,9 @@ public final class KeyboardTextsTable { "!text/single_9qm_rqm", null, null, - "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", null, "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", "\u00fb,\u00f9,\u016b", "\u00e8,\u00ea,\u00eb,\u0119,\u0117,\u0113", "\u00ee,\u00ef,\u00ec,\u012f,\u012b", @@ -2216,15 +2231,19 @@ public final class KeyboardTextsTable { null, null, null, + null, "!text/morekeys_punctuation", null, null, null, - null, - null, "\u055d", null, null, + null, + null, + null, + null, + null, "\u0589", null, null, @@ -2235,22 +2254,22 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, "\u055d", + null, + null, "!autoColumnOrder!8,\\,,\u055e,\u055c,.,\u055a,\u0559,?,!,\u055d,\u055b,\u058a,\u00bb,\u00ab,\u055f,;,:", - "\u0589", + null, null, "\u055e,\u00bf", null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, + "\u0589", null, null, null, @@ -2315,9 +2334,9 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", null, null, - "\u00e5,\u00e0,\u00e2,\u00e3,\u0101", null, "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e5,\u00e0,\u00e2,\u00e3,\u0101", "\u00fc,\u00fb,\u00f9,\u016b", "\u00eb,\u00e8,\u00ea,\u0119,\u0117,\u0113", "\u00ef,\u00ee,\u00ec,\u012f,\u012b", @@ -2330,24 +2349,6 @@ public final class KeyboardTextsTable { "\u00fd", null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u00f0", null, null, @@ -2356,6 +2357,35 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u00fe", null, null, @@ -2394,6 +2424,10 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, "\u00ff" }; @@ -2409,9 +2443,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101,\u00aa", null, "\u00f3,\u00f4,\u00f6,\u00f5,\u0153,\u00f8,\u014d,\u00ba", + "\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101,\u00aa", "\u00fa,\u00fb,\u00fc,\u016b", "\u00ea,\u00eb,\u0119,\u0117,\u0113", "\u00ed,\u00ee,\u00ef,\u012f,\u012b", @@ -2487,22 +2521,24 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, + "\u00e4", null, "\u00f6", + "\u00e8", + null, null, null, - "\u00e4", - "\u00e0", "\u00e9", null, - "\u00fc", null, - "\u00e8" + null, + null, + null, + null, + null, + "\u00e0", + null, + "\u00fc" }; private static final String[] TEXTS_iw = { @@ -2570,30 +2606,45 @@ public final class KeyboardTextsTable { null, null, null, - "\u00ab|\u00bb", - null, - "}|{", - null, - null, - null, "<|>", null, - "\u2605", - "{|}", - ")|(", - "\u00bb|\u00ab", - ">|<", - "\u2265|\u2264", - "(|)", "\u2039|\u203a", null, - "\u2264|\u2265", + "{|}", null, "]|[", + ")|(", + "\u00ab|\u00bb", + "\u2264|\u2265", + "[|]", + ">|<", + "}|{", + null, + "(|)", + "\u2605", + null, + null, + null, + null, + "\u00bb|\u00ab", + "\u2265|\u2264", + null, "\u203a|\u2039", null, null, - "[|]", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -2701,13 +2752,17 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0451", null, - "\u044b", + null, null, "\u0438", null, + "\u0449", + null, + null, + "\u044b", + "\u044a", null, "\u044d", null, @@ -2715,8 +2770,6 @@ public final class KeyboardTextsTable { null, null, null, - "\u0449", - "\u044a", null, null, null, @@ -2763,39 +2816,39 @@ public final class KeyboardTextsTable { null, null, null, - null, - "\u04e9", - "\u0456", - null, - null, - "\u0493", - null, - null, - null, - null, - null, - null, - null, "\u04af,\u04b1", null, null, - null, - null, "\u04a3", null, null, + "\u0493", + "\u04e9", + null, + null, + null, + null, + null, + null, + "\u0456", + null, + null, + null, + null, + null, null, null, null, null, null, null, - "\u04bb", "\u04d9", null, null, null, - "\u049b" + "\u049b", + null, + "\u04bb" }; private static final String[] TEXTS_km = { @@ -2933,13 +2986,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, - null, "\u17db,\u00a2,\u00a3,\u20ac,\u00a5,\u20b1" }; @@ -3006,13 +3052,17 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0451", null, - "\u044b", + null, null, "\u0438", null, + "\u0449", + null, + null, + "\u044b", + "\u044a", null, "\u044d", null, @@ -3020,8 +3070,6 @@ public final class KeyboardTextsTable { null, null, null, - "\u0449", - "\u044a", null, null, null, @@ -3068,25 +3116,14 @@ public final class KeyboardTextsTable { null, null, null, - null, - "\u04e9", - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u04af", null, null, + "\u04a3", null, null, - "\u04a3" + null, + "\u04e9" }; private static final String[] TEXTS_lo = { @@ -3115,12 +3152,12 @@ public final class KeyboardTextsTable { "\u2019,\u201a,\u2018", "\u010d", null, - null, "\u0161", null, null, null, null, + null, "\u017e" }; @@ -3136,22 +3173,16 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", "\u010d", null, - "\u00e0,\u00e1,\u00e2,\u00e3,\u00e4,\u00e5,\u00e6,\u0105", "\u0161", "\u00f2,\u00f3,\u00f4,\u00f5,\u00f6,\u0153,\u0151,\u00f8", + "\u00e0,\u00e1,\u00e2,\u00e3,\u00e4,\u00e5,\u00e6,\u0105", "\u0173,\u00f9,\u00fa,\u00fb,\u00fc,\u016f,\u0171", "\u0117,\u00e8,\u00e9,\u00ea,\u00eb,\u0119,\u011b", "\u012f,\u00ec,\u00ed,\u00ee,\u00ef,\u0131", "\u017e", "\u0146", - "\u00e7,\u0107", "\u00df,\u015b,\u015f", - null, - null, - null, - null, - null, - null, + "\u00e7,\u0107", null, null, null, @@ -3185,28 +3216,21 @@ public final class KeyboardTextsTable { null, null, null, + null, "\u00f1,\u0144", null, null, null, null, + null, + null, + null, + null, + null, + null, + null, "\u013c", null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0157", null, null, @@ -3233,22 +3257,25 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u0159,\u0155", null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u011f", - "\u0137", null, + "\u0137", "\u0142,\u013a,\u013e" }; @@ -3301,7 +3328,6 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0450", null, null, @@ -3361,8 +3387,9 @@ public final class KeyboardTextsTable { null, null, null, + "\u0453", null, - null, + "\u045c", null, null, null, @@ -3371,15 +3398,15 @@ public final class KeyboardTextsTable { null, "\u045d", null, - "\u0453", - "\u045c", - null, - null, null, null, null, "\u0455", null, + null, + null, + null, + null, "\u0437" }; @@ -3436,28 +3463,28 @@ public final class KeyboardTextsTable { null, null, null, - "\u096f", - "\u096e", - "4", "8", - "3", - "5", - "9", - "7", - "\u0969", - "\u0968", + "6", null, - "2", + "\u096f", + null, + "9", "\u096b", + "\u096a", + "3", + null, "1", "\u096d", - null, - "\u096a", + "\u096e", "\u096c", + "\u0969", + "4", + "5", "0", + "2", + "7", "\u0967", - null, - "6", + "\u0968", "\u0966", "?\u0967\u0968\u0969" }; @@ -3516,14 +3543,26 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u104a", null, null, + null, + null, + null, + null, + null, "\u104b", null, null, null, + "\\", + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -3532,6 +3571,11 @@ public final class KeyboardTextsTable { null, null, "!autoColumnOrder!9,\u104a,.,?,!,#,),(,/,;,...,',@,:,-,\\\",+,\\%,&", + null, + "\u104a", + null, + null, + null, "\u104b", null, null, @@ -3543,13 +3587,6 @@ public final class KeyboardTextsTable { null, null, null, - "\\", - null, - null, - null, - null, - "\u104a", - null, null, null, null, @@ -3624,24 +3661,19 @@ public final class KeyboardTextsTable { null, null, null, - "\u00f8", - null, - null, - null, null, "\u00f6", null, null, - "\u00e5", + null, + null, + "\u00f8", null, null, "\u00e6", null, null, - null, - null, - null, - null, + "\u00e5", null, null, null, @@ -3688,31 +3720,35 @@ public final class KeyboardTextsTable { null, null, null, - "\u096f", - "\u096e", - "4", "8", - "3", - "5", - "9", - "7", - "\u0969", - "\u0968", + "6", null, - "2", + "\u096f", + null, + "9", "\u096b", + "\u096a", + "3", + null, "1", "\u096d", - null, - "\u096a", + "\u096e", "\u096c", + "\u0969", + "4", + "5", "0", + "2", + "7", "\u0967", - null, - "6", + "\u0968", "\u0966", "?\u0967\u0968\u0969", + null, "!autoColumnOrder!8,.,\\\\,',#,),(,/,;,@,:,-,\\\",+,\\%,&", + "!autoColumnOrder!9,.,\\\\,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&", + null, + null, null, null, null, @@ -3723,7 +3759,20 @@ public final class KeyboardTextsTable { null, "\u0964", null, - "!autoColumnOrder!9,.,\\\\,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -3748,9 +3797,9 @@ public final class KeyboardTextsTable { "!text/single_9qm_rqm", null, null, - "\u00e6,\u00e3,\u00e5,\u0101", null, "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e6,\u00e3,\u00e5,\u0101", "\u00fb,\u00f9,\u016b", "\u0119,\u0117,\u0113" }; @@ -3767,22 +3816,16 @@ public final class KeyboardTextsTable { "!text/single_9qm_rqm", "\u0107", null, - "\u00e1,\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", "\u015b", "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d", + "\u00e1,\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", null, "\u00e8,\u00e9,\u00ea,\u00eb,\u0117,\u0113", null, "\u017c,\u017a", "\u0144", - "\u00e7,\u010d", "\u00df,\u0161", - null, - null, - null, - null, - null, - null, + "\u00e7,\u010d", null, null, null, @@ -3816,11 +3859,19 @@ public final class KeyboardTextsTable { null, null, null, + null, "\u00f1", null, null, null, null, + null, + null, + null, + null, + null, + null, + null, "\u0142" }; @@ -3836,14 +3887,15 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - "\u00e4,\u00e5,\u00e6,\u00aa", null, "\u00f2,\u00f6,\u0153,\u00f8,\u014d,\u00ba", + "\u00e4,\u00e5,\u00e6,\u00aa", "\u00f9,\u00fb,\u016b", "\u00e8,\u0119,\u0117,\u0113,\u00eb", "\u00ee,\u00ec,\u00ef,\u012f,\u012b", null, null, + null, "\u010d,\u0107", null, null, @@ -3913,6 +3965,12 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, "\u00e7" }; @@ -3935,15 +3993,14 @@ public final class KeyboardTextsTable { "!text/single_9qm_rqm", null, null, - "\u00e3,\u00e0,\u00e1,\u00e4,\u00e6,\u00e5,\u0101", "\u0219", null, + "\u00e3,\u00e0,\u00e1,\u00e4,\u00e6,\u00e5,\u0101", null, null, "\u00ef,\u00ec,\u00ed,\u012f,\u012b", null, null, - null, "\u00df,\u015b,\u0161", null, null, @@ -3976,6 +4033,18 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u021b" }; @@ -4028,22 +4097,19 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0451", null, - "\u044b", + null, null, "\u0438", null, - null, - "\u044d", - null, - null, - null, - null, - null, "\u0449", - "\u044a" + null, + null, + "\u044b", + "\u044a", + null, + "\u044d" }; private static final String[] TEXTS_si = { @@ -4072,28 +4138,22 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", "\u010d", null, - "\u0101,\u00e0,\u00e2,\u00e3,\u00e5,\u00e6,\u0105", "\u0161", "\u00f6,\u00f2,\u00f5,\u0153,\u0151,\u00f8", + "\u0101,\u00e0,\u00e2,\u00e3,\u00e5,\u00e6,\u0105", "\u016f,\u00fc,\u016b,\u0173,\u00f9,\u00fb,\u0171", "\u011b,\u0113,\u0117,\u00e8,\u00ea,\u00eb,\u0119", "\u012b,\u012f,\u00ec,\u00ee,\u00ef,\u0131", "\u017e", "\u0148", - "\u00e7,\u0107", "\u00df,\u015b,\u015f", + "\u00e7,\u0107", "!text/double_raqm_laqm", "!text/single_raqm_laqm", "\u00fd", null, null, - null, - null, - null, - null, - null, - null, - null, + "\u010f", null, "\u017c,\u017a", null, @@ -4105,7 +4165,6 @@ public final class KeyboardTextsTable { null, null, null, - "\u010f", null, null, null, @@ -4113,7 +4172,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u0165", + null, + null, + null, null, null, null, @@ -4126,23 +4187,15 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + "\u0165", + null, + null, + null, "\u013e,\u013a", null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0155", null, null, @@ -4151,40 +4204,43 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u00ff", null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0159,\u0157", null, null, null, null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u013c,\u0142", null, null, @@ -4200,6 +4256,17 @@ public final class KeyboardTextsTable { null, null, null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, "\u0163" }; @@ -4215,16 +4282,16 @@ public final class KeyboardTextsTable { "!text/single_9qm_lqm", "\u010d", null, - null, "\u0161", null, null, null, null, + null, "\u017e", null, - "\u0107", null, + "\u0107", "!text/double_raqm_laqm", "!text/single_raqm_laqm" }; @@ -4278,7 +4345,6 @@ public final class KeyboardTextsTable { null, null, null, - null, "\u0450", null, null, @@ -4338,8 +4404,9 @@ public final class KeyboardTextsTable { null, null, null, + "\u0452", null, - null, + "\u045b", null, null, null, @@ -4348,15 +4415,15 @@ public final class KeyboardTextsTable { null, "\u045d", null, - "\u0452", - "\u045b", - null, - null, null, null, null, "\u0437", null, + null, + null, + null, + null, "\u0455" }; @@ -4372,12 +4439,12 @@ public final class KeyboardTextsTable { null, "\u010d,\u0107,%", null, - null, "\u0161,%", null, null, null, null, + null, "\u017e,%", null, null, @@ -4387,24 +4454,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0111,%", null, null, @@ -4470,18 +4519,20 @@ public final class KeyboardTextsTable { null, null, null, - "Tra\u017ei", - "Pauza", null, null, null, - "Preth", null, null, - "Gotov", null, null, - "\u010cekaj", + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -4490,8 +4541,24 @@ public final class KeyboardTextsTable { "\u0160alji", null, null, + null, + null, + null, + null, + null, + null, + null, + "Preth", + null, + "Sled", + "\u010cekaj", + "Pauza", + null, + null, + null, "Idi", - "Sled" + "Gotov", + "Tra\u017ei" }; private static final String[] TEXTS_sv = { @@ -4506,9 +4573,9 @@ public final class KeyboardTextsTable { null, null, null, - "\u00e6,\u00e1,\u00e0,\u00e2,\u0105,\u00e3", null, "\u00f8,\u0153,\u00f3,\u00f2,\u00f4,\u00f5,\u014d", + "\u00e6,\u00e1,\u00e0,\u00e2,\u0105,\u00e3", null, "\u00e8,\u00ea,\u00eb,\u0119", null, @@ -4545,24 +4612,19 @@ public final class KeyboardTextsTable { null, null, null, - "\u00f6", - null, - null, - null, null, "\u00f8,\u0153", null, null, - "\u00e5", + null, + null, + "\u00f6", null, null, "\u00e4", null, null, - null, - null, - null, - null, + "\u00e5", null, null, null, @@ -4596,13 +4658,13 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - null, "\u00df", null, null, null, null, null, + null, "\u00f1", null, null, @@ -4618,12 +4680,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, "g\\'" }; @@ -4722,22 +4778,16 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - null, "\u015f", "\u00f4,\u0153,\u00f2,\u00f3,\u00f5,\u00f8,\u014d", + null, "\u00fb,\u00f9,\u00fa,\u016b", null, "\u00ee,\u00ef,\u00ec,\u00ed,\u012f,\u012b", null, null, - "\u0107,\u010d", "\u00df,\u015b,\u0161", - null, - null, - null, - null, - null, - null, + "\u0107,\u010d", null, null, null, @@ -4805,10 +4855,14 @@ public final class KeyboardTextsTable { null, null, null, - "\u0456", null, "\u0438", null, + "\u0449", + null, + null, + "\u0456", + "\u044a", null, "\u0454", null, @@ -4816,8 +4870,6 @@ public final class KeyboardTextsTable { null, null, null, - "\u0449", - "\u044a", null, null, null, @@ -4866,10 +4918,19 @@ public final class KeyboardTextsTable { null, null, null, - "\u0457", null, null, - "\u0491" + null, + null, + "\u0491", + null, + null, + null, + null, + null, + null, + null, + "\u0457" }; private static final String[] TEXTS_uz = { @@ -4884,12 +4945,12 @@ public final class KeyboardTextsTable { null, "\u00e7,\u0107,\u010d", null, - null, "\u015f,\u00df,\u015b,\u0161", null, null, null, null, + null, "\u017e", "\u0148,\u00f1", null, @@ -4906,12 +4967,6 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, "\u011f" }; @@ -4942,24 +4997,6 @@ public final class KeyboardTextsTable { "\u1ef3,\u00fd,\u1ef7,\u1ef9,\u1ef5", null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0111" }; @@ -4975,13 +5012,13 @@ public final class KeyboardTextsTable { null, "\u00e7", null, - null, "\u00df", null, null, null, null, null, + null, "\u00f1" }; @@ -4997,12 +5034,12 @@ public final class KeyboardTextsTable { null, "\u00e7,\u0107,\u0109,\u010b,\u010d", null, - null, "\u00df,\u015b,\u015d,\u015f,\u0161,\u017f", null, null, null, null, + null, "\u017a,\u017c,\u017e", "\u00f1,\u0144,\u0146,\u0148,\u0149,\u014b", null, @@ -5012,13 +5049,7 @@ public final class KeyboardTextsTable { "\u00fd,\u0177,\u00ff,\u0133", null, null, - null, - null, - null, - null, - null, - null, - null, + "\u010f,\u0111,\u00f0", null, null, null, @@ -5030,7 +5061,24 @@ public final class KeyboardTextsTable { null, null, null, - "\u010f,\u0111,\u00f0", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, null, null, null, @@ -5042,32 +5090,8 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u013a,\u013c,\u013e,\u0140,\u0142", null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, "\u0155,\u0157,\u0159", null, null, @@ -5099,7 +5123,11 @@ public final class KeyboardTextsTable { null, null, null, - "\u0125", + null, + null, + null, + null, + null, null, null, null, @@ -5120,13 +5148,21 @@ public final class KeyboardTextsTable { null, null, null, - null, - null, - "\u0175", + "\u0125", null, null, null, - "\u0135" + null, + null, + "\u0135", + null, + null, + null, + null, + null, + null, + null, + "\u0175" }; private static final String[] TEXTS_DEFAULT = { @@ -5141,117 +5177,101 @@ public final class KeyboardTextsTable { "!text/single_lqm_rqm", EMPTY, "$", - "\u00e0,\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", EMPTY, "\u00f3,\u00f4,\u00f6,\u00f2,\u0153,\u00f8,\u014d,\u00f5", + "\u00e0,\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101", "\u00fa,\u00fb,\u00fc,\u00f9,\u016b", "\u00e9,\u00e8,\u00ea,\u00eb,\u0113", "\u00ed,\u00ee,\u00ef,\u012b,\u00ec", EMPTY, EMPTY, - "\u00e7", "\u00df", + "\u00e7", "!text/double_laqm_raqm", "!text/single_laqm_raqm", EMPTY, + EMPTY, + EMPTY, + EMPTY, "9", - "8", - EMPTY, - EMPTY, - EMPTY, - EMPTY, - EMPTY, - EMPTY, - "3", - "2", EMPTY, EMPTY, "5", + "4", + EMPTY, + EMPTY, EMPTY, "7", - EMPTY, - "4", + "8", "6", + "3", + EMPTY, + EMPTY, + EMPTY, + EMPTY, EMPTY, "1", - EMPTY, - EMPTY, + "2", "0", "?123", - "!text/morekeys_tablet_punctuation", EMPTY, + "!text/morekeys_tablet_punctuation", + "!text/morekeys_punctuation", + "\u00f8", + EMPTY, + ",", + EMPTY, + "\u00f1", "\u00f6", EMPTY, EMPTY, - EMPTY, - ",", - "\u00f8", + "\u00e4", EMPTY, ".", "\u00e5", - "!text/morekeys_punctuation", - "\u00f1", - "\u00e4", EMPTY, - EMPTY, - "\u00ab", - EMPTY, - "}", - ",", - "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&", - ".", "<", - "\u00bf", - "\u2020,\u2021,\u2605", - "{", - ")", - "\u00bb", - ">", - "\u2265", - "(", + EMPTY, "\u2039", EMPTY, - "\u2264", + "{", EMPTY, "]", - "\u203a", - EMPTY, - "\u00e6", + ")", + "\u00ab", + "\u2264", "[", - "\u00f1", - "\u2030", - EMPTY, - EMPTY, - "!fixedColumnOrder!3,!text/keyspecs_right_parenthesis_more_keys", - EMPTY, - "?", + ">", + "}", + ",", + "(", + "\u2020,\u2021,\u2605", + "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&", + "\u00e6", EMPTY, + "\u00bf", + "\u00bb", + "\u2265", + ".", + "\u203a", "%", + EMPTY, "\u266a,\u2665,\u2660,\u2666,\u2663", EMPTY, EMPTY, EMPTY, + "?", + "\u00f1", EMPTY, EMPTY, - EMPTY, + "!fixedColumnOrder!3,!text/keyspecs_right_parenthesis_more_keys", + "\u2030", + "!fixedColumnOrder!3,!text/keyspecs_left_parenthesis_more_keys", EMPTY, ";", - "!fixedColumnOrder!3,!text/keyspecs_left_parenthesis_more_keys", - "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&", - EMPTY, - "!string/label_search_key", - "!string/label_pause_key", EMPTY, EMPTY, EMPTY, - "!string/label_previous_key", - EMPTY, - EMPTY, - "!string/label_done_key", - EMPTY, - EMPTY, - "!string/label_wait_key", - EMPTY, EMPTY, EMPTY, EMPTY, @@ -5259,167 +5279,183 @@ public final class KeyboardTextsTable { "!string/label_send_key", EMPTY, EMPTY, - "!string/label_go_key", + EMPTY, + EMPTY, + EMPTY, + EMPTY, + "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&", + EMPTY, + EMPTY, + "!string/label_previous_key", + EMPTY, "!string/label_next_key", - "\u00b1", - "\u00a1,\u203d", - "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_right_double_angle_quote", + "!string/label_wait_key", + "!string/label_pause_key", + EMPTY, + EMPTY, + EMPTY, + "!string/label_go_key", + "!string/label_done_key", + "!string/label_search_key", + EMPTY, "q", + "y", + "\u00a2,\u00a3,\u20ac,\u00a5,\u20b1", + "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_left_double_angle_quote", + "\u00a1,\u203d", "x", EMPTY, EMPTY, EMPTY, - EMPTY, - EMPTY, - "\u00a2,\u00a3,\u20ac,\u00a5,\u20b1", - EMPTY, - "y", - EMPTY, - "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_left_double_angle_quote", "w", EMPTY, EMPTY, - "\u201c,\u201e,\u201d", - "= \\\\ <", EMPTY, - "#", - "|", - "}", + "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_right_double_angle_quote", + "\u00b1", EMPTY, - "*", - "?,/", - EMPTY, - EMPTY, - "\u2070,\u2080,\u207f,\u2205", - EMPTY, - EMPTY, - "\u201a,\u2018,\u2019", - "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo", - EMPTY, - "\u2074,\u2084", - EMPTY, - "\u2018,\u2019,\u201a", - "+,=", - EMPTY, - "!icon/action_paste|!code/action_paste", - "-,\u2013,\u2014,_", - EMPTY, - "\\%", - EMPTY, - EMPTY, - "\u201c,\u201d,\u201e", - EMPTY, - EMPTY, - EMPTY, - "\u2077,\u2087,\u215e", - EMPTY, - EMPTY, - "4", - "[", - EMPTY, - EMPTY, - "~ [ <", - "@", - "AM", ";", - "!icon/action_cut|!code/action_cut", - "\u2019,\u201a,\u2018", - "$,\u00a2,\u20ac,\u00a3,\u00a5,\u20b1", - ".com", - EMPTY, - "!text/keyspec_less_than,!text/keyspec_left_curly_bracket,!text/keyspec_left_square_bracket", - "'", - EMPTY, - "]", "!icon/action_redo|!code/action_redo", - "6", - "9", - "5", - "!icon/action_undo|!code/action_undo", - "\u00b3,\u2083,\u00be,\u215c", - "!", - "$,\u20ac,\u00a3,\u00a5,\u00a2", - "1", - "PM", - "!fixedColumnOrder!2,!hasLabels!,!text/keylabel_time_am,!text/keylabel_time_pm", - "8", EMPTY, - EMPTY, - "\u2079,\u2089", - EMPTY, - EMPTY, - "*", ":", EMPTY, - EMPTY, - "!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote", - EMPTY, - EMPTY, - EMPTY, ")", EMPTY, - "%", - "\u00b2,\u2082,\u2154", - "!icon/action_select_all|!code/action_select_all", - "!text/keyspec_right_double_angle_quote,!text/keyspec_left_double_angle_quote", - "!", - "),],},>", - "\uff0a\uff03", - "!text/keyspec_left_single_angle_quote,!text/keyspec_right_single_angle_quote", EMPTY, - "(,[,{,<", - "!icon/settings_key|!code/key_settings", + "}", EMPTY, - "!icon/shortcut_key|!code/key_shortcut", - "\u201d,\u201e,\u201c", - "\u2076,\u2086", - "#", - EMPTY, - "(", - EMPTY, - "!icon/action_copy|!code/action_copy", - "=", - "\"", - EMPTY, - "\\%", - "7", - ">", - "\u201e,\u201c,\u201d", - "2", - EMPTY, - EMPTY, - "$", - EMPTY, - "&", + "\u2019,\u201a,\u2018", EMPTY, EMPTY, "\u2018,\u201a,\u2019", - "!text/keyspec_greater_than,!text/keyspec_right_curly_bracket,!text/keyspec_right_square_bracket", + ">", + "\\\\", + EMPTY, + "@", + "5", + EMPTY, + "!icon/action_cut|!code/action_cut", + "\u201e,\u201c,\u201d", + "?,/", + EMPTY, + EMPTY, + EMPTY, "!text/keyspec_right_single_angle_quote,!text/keyspec_left_single_angle_quote", EMPTY, - "\u00b9,\u2081,\u00bd,\u2153,\u00bc,\u215b", - "^", - "@", - "{", - "!hasLabels!,.net,.org,.gov,.edu", - "&,|", - "\u2078,\u2088", - "!hasLabels!,!text/label_next_key|!code/key_action_next", - "!hasLabels!,!text/label_previous_key|!code/key_action_previous", EMPTY, - "\u2075,\u2085,\u215d", - "0", - "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes", - "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes", - "\\\\", - "<", + "!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote", + "$,\u00a2,\u20ac,\u00a3,\u00a5,\u20b1", + "7", + EMPTY, + "^", + "!", + "6", + "3", + "\u2078,\u2088", + EMPTY, + "(", + "(,[,{,<", + "'", + EMPTY, + "!text/keyspec_less_than,!text/keyspec_left_curly_bracket,!text/keyspec_left_square_bracket", + "\u201a,\u2018,\u2019", + "\u2018,\u2019,\u201a", + "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/previous_key|!code/key_action_previous,!icon/next_key|!code/key_action_next,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo", + "\\%", + "!fixedColumnOrder!2,!hasLabels!,!text/keylabel_time_am,!text/keylabel_time_pm", "123", EMPTY, - "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/previous_key|!code/key_action_previous,!icon/next_key|!code/key_action_next,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo", + ".com", + "~ [ <", EMPTY, + "\\%", + EMPTY, + "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes", + "4", + "= \\\\ <", + "\u201c,\u201e,\u201d", + EMPTY, + "=", + "\u2075,\u2085,\u215d", + "{", + "AM", + "\u2076,\u2086", + "-,\u2013,\u2014,_", + "!hasLabels!,!text/label_next_key|!code/key_action_next", + EMPTY, + "#", + "\u2074,\u2084", + "\u2079,\u2089", + "]", + EMPTY, + "@", + "!icon/action_select_all|!code/action_select_all", + "#", + "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo", + EMPTY, + "!text/keyspec_greater_than,!text/keyspec_right_curly_bracket,!text/keyspec_right_square_bracket", + EMPTY, + EMPTY, + "!icon/shortcut_key|!code/key_shortcut", + EMPTY, + "\uff0a\uff03", + EMPTY, + "!hasLabels!,.net,.org,.gov,.edu", + "&", + "!hasLabels!,!text/label_previous_key|!code/key_action_previous", + EMPTY, + "*", + "0", + EMPTY, + EMPTY, + "%", + EMPTY, + EMPTY, + EMPTY, + "\u201d,\u201e,\u201c", + EMPTY, + "1", + EMPTY, + "!icon/settings_key|!code/key_settings", + "<", + "!text/keyspec_right_double_angle_quote,!text/keyspec_left_double_angle_quote", "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes", + "\u00b3,\u2083,\u00be,\u215c", + "|", EMPTY, - "3" + EMPTY, + "2", + "8", + "!text/keyspec_left_single_angle_quote,!text/keyspec_right_single_angle_quote", + "!icon/action_undo|!code/action_undo", + "\u00b9,\u2081,\u00bd,\u2153,\u00bc,\u215b", + "\u00b2,\u2082,\u2154", + "$", + "\u2070,\u2080,\u207f,\u2205", + "$,\u20ac,\u00a3,\u00a5,\u00a2", + "!icon/action_copy|!code/action_copy", + "),],},>", + "*", + EMPTY, + "!icon/action_paste|!code/action_paste", + "&,|", + "!", + EMPTY, + EMPTY, + EMPTY, + EMPTY, + "\u201c,\u201d,\u201e", + "\"", + "\u2077,\u2087,\u215e", + EMPTY, + "[", + "9", + EMPTY, + EMPTY, + "+,=", + "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes", + "PM", + EMPTY }; diff --git a/java/src/org/futo/inputmethod/latin/InputView.java b/java/src/org/futo/inputmethod/latin/InputView.java index b73c4cacd..1137948dc 100644 --- a/java/src/org/futo/inputmethod/latin/InputView.java +++ b/java/src/org/futo/inputmethod/latin/InputView.java @@ -25,8 +25,6 @@ import android.widget.FrameLayout; import org.futo.inputmethod.accessibility.AccessibilityUtils; import org.futo.inputmethod.keyboard.MainKeyboardView; -import org.futo.inputmethod.latin.suggestions.MoreSuggestionsView; -import org.futo.inputmethod.latin.suggestions.SuggestionStripView; public final class InputView extends FrameLayout { private final Rect mInputViewRect = new Rect(); @@ -161,67 +159,6 @@ public final class InputView extends FrameLayout { } } - /** - * This class forwards {@link MotionEvent}s happened in the top padding of - * {@link MainKeyboardView} to {@link SuggestionStripView}. - */ - private static class KeyboardTopPaddingForwarder - extends MotionEventForwarder { - private int mKeyboardTopPadding; - - public KeyboardTopPaddingForwarder(final MainKeyboardView mainKeyboardView, - final SuggestionStripView suggestionStripView) { - super(mainKeyboardView, suggestionStripView); - } - - public void setKeyboardTopPadding(final int keyboardTopPadding) { - mKeyboardTopPadding = keyboardTopPadding; - } - - private boolean isInKeyboardTopPadding(final int y) { - return y < mEventSendingRect.top + mKeyboardTopPadding; - } - - @Override - protected boolean needsToForward(final int x, final int y) { - // Forwarding an event only when {@link MainKeyboardView} is visible. - // Because the visibility of {@link MainKeyboardView} is controlled by its parent - // view in {@link KeyboardSwitcher#setMainKeyboardFrame()}, we should check the - // visibility of the parent view. - final View mainKeyboardFrame = (View)mSenderView.getParent(); - return mainKeyboardFrame.getVisibility() == View.VISIBLE && isInKeyboardTopPadding(y); - } - - @Override - protected int translateY(final int y) { - final int translatedY = super.translateY(y); - if (isInKeyboardTopPadding(y)) { - // The forwarded event should have coordinates that are inside of the target. - return Math.min(translatedY, mEventReceivingRect.height() - 1); - } - return translatedY; - } - } - - /** - * This class forwards {@link MotionEvent}s happened in the {@link MainKeyboardView} to - * {@link SuggestionStripView} when the {@link MoreSuggestionsView} is showing. - * {@link SuggestionStripView} dismisses {@link MoreSuggestionsView} when it receives any event - * outside of it. - */ - private static class MoreSuggestionsViewCanceler - extends MotionEventForwarder { - public MoreSuggestionsViewCanceler(final MainKeyboardView mainKeyboardView, - final SuggestionStripView suggestionStripView) { - super(mainKeyboardView, suggestionStripView); - } - - @Override - protected boolean needsToForward(final int x, final int y) { - return false; - } - } - public void deallocateMemory() { mMainKeyboardView.deallocateMemory(); } diff --git a/java/src/org/futo/inputmethod/latin/LatinIMELegacy.java b/java/src/org/futo/inputmethod/latin/LatinIMELegacy.java index 5e1c07834..6ace162e3 100644 --- a/java/src/org/futo/inputmethod/latin/LatinIMELegacy.java +++ b/java/src/org/futo/inputmethod/latin/LatinIMELegacy.java @@ -82,10 +82,9 @@ import org.futo.inputmethod.latin.permissions.PermissionsManager; import org.futo.inputmethod.latin.personalization.PersonalizationHelper; import org.futo.inputmethod.latin.settings.Settings; import org.futo.inputmethod.latin.settings.SettingsValues; -import org.futo.inputmethod.latin.suggestions.SuggestionStripView; import org.futo.inputmethod.latin.suggestions.SuggestionStripViewAccessor; +import org.futo.inputmethod.latin.suggestions.SuggestionStripViewListener; import org.futo.inputmethod.latin.touchinputconsumer.GestureConsumer; -import org.futo.inputmethod.latin.uix.actions.SwitchLanguageActionKt; import org.futo.inputmethod.latin.uix.settings.SettingsActivity; import org.futo.inputmethod.latin.utils.ApplicationUtils; import org.futo.inputmethod.latin.utils.DialogUtils; @@ -112,7 +111,7 @@ import javax.annotation.Nullable; * Input method implementation for Qwerty'ish keyboard. */ public class LatinIMELegacy implements KeyboardActionListener, - SuggestionStripView.Listener, SuggestionStripViewAccessor, + SuggestionStripViewListener, SuggestionStripViewAccessor, DictionaryFacilitator.DictionaryInitializationListener, PermissionsManager.PermissionsResultCallback { diff --git a/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestions.java b/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestions.java deleted file mode 100644 index 53cdab034..000000000 --- a/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestions.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright (C) 2011 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 org.futo.inputmethod.latin.suggestions; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Paint; -import android.graphics.drawable.Drawable; - -import androidx.core.content.res.ResourcesCompat; - -import org.futo.inputmethod.keyboard.Key; -import org.futo.inputmethod.keyboard.Keyboard; -import org.futo.inputmethod.keyboard.internal.KeyboardBuilder; -import org.futo.inputmethod.keyboard.internal.KeyboardIconsSet; -import org.futo.inputmethod.keyboard.internal.KeyboardParams; -import org.futo.inputmethod.latin.R; -import org.futo.inputmethod.latin.SuggestedWords; -import org.futo.inputmethod.latin.common.Constants; -import org.futo.inputmethod.latin.utils.TypefaceUtils; - -public final class MoreSuggestions extends Keyboard { - public final SuggestedWords mSuggestedWords; - - MoreSuggestions(final MoreSuggestionsParam params, final SuggestedWords suggestedWords) { - super(params); - mSuggestedWords = suggestedWords; - } - - private static final class MoreSuggestionsParam extends KeyboardParams { - private final int[] mWidths = new int[SuggestedWords.MAX_SUGGESTIONS]; - private final int[] mRowNumbers = new int[SuggestedWords.MAX_SUGGESTIONS]; - private final int[] mColumnOrders = new int[SuggestedWords.MAX_SUGGESTIONS]; - private final int[] mNumColumnsInRow = new int[SuggestedWords.MAX_SUGGESTIONS]; - private static final int MAX_COLUMNS_IN_ROW = 3; - private int mNumRows; - public Drawable mDivider; - public int mDividerWidth; - - public MoreSuggestionsParam() { - super(); - } - - public int layout(final SuggestedWords suggestedWords, final int fromIndex, - final int maxWidth, final int minWidth, final int maxRow, final Paint paint, - final Resources res) { - clearKeys(); - mDivider = ResourcesCompat.getDrawable(res, R.drawable.more_suggestions_divider, null); - mDividerWidth = mDivider.getIntrinsicWidth(); - final float padding = res.getDimension( - R.dimen.config_more_suggestions_key_horizontal_padding); - - int row = 0; - int index = fromIndex; - int rowStartIndex = fromIndex; - final int size = Math.min(suggestedWords.size(), SuggestedWords.MAX_SUGGESTIONS); - while (index < size) { - final String word; - if (isIndexSubjectToAutoCorrection(suggestedWords, index)) { - // INDEX_OF_AUTO_CORRECTION and INDEX_OF_TYPED_WORD got swapped. - word = suggestedWords.getLabel(SuggestedWords.INDEX_OF_TYPED_WORD); - } else { - word = suggestedWords.getLabel(index); - } - // TODO: Should take care of text x-scaling. - mWidths[index] = (int)(TypefaceUtils.getStringWidth(word, paint) + padding); - final int numColumn = index - rowStartIndex + 1; - final int columnWidth = - (maxWidth - mDividerWidth * (numColumn - 1)) / numColumn; - if (numColumn > MAX_COLUMNS_IN_ROW - || !fitInWidth(rowStartIndex, index + 1, columnWidth)) { - if ((row + 1) >= maxRow) { - break; - } - mNumColumnsInRow[row] = index - rowStartIndex; - rowStartIndex = index; - row++; - } - mColumnOrders[index] = index - rowStartIndex; - mRowNumbers[index] = row; - index++; - } - mNumColumnsInRow[row] = index - rowStartIndex; - mNumRows = row + 1; - mBaseWidth = mOccupiedWidth = Math.max( - minWidth, calcurateMaxRowWidth(fromIndex, index)); - mBaseHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight + mVerticalGap; - return index - fromIndex; - } - - private boolean fitInWidth(final int startIndex, final int endIndex, final int width) { - for (int index = startIndex; index < endIndex; index++) { - if (mWidths[index] > width) - return false; - } - return true; - } - - private int calcurateMaxRowWidth(final int startIndex, final int endIndex) { - int maxRowWidth = 0; - int index = startIndex; - for (int row = 0; row < mNumRows; row++) { - final int numColumnInRow = mNumColumnsInRow[row]; - int maxKeyWidth = 0; - while (index < endIndex && mRowNumbers[index] == row) { - maxKeyWidth = Math.max(maxKeyWidth, mWidths[index]); - index++; - } - maxRowWidth = Math.max(maxRowWidth, - maxKeyWidth * numColumnInRow + mDividerWidth * (numColumnInRow - 1)); - } - return maxRowWidth; - } - - private static final int[][] COLUMN_ORDER_TO_NUMBER = { - { 0 }, // center - { 1, 0 }, // right-left - { 1, 0, 2 }, // center-left-right - }; - - public int getNumColumnInRow(final int index) { - return mNumColumnsInRow[mRowNumbers[index]]; - } - - public int getColumnNumber(final int index) { - final int columnOrder = mColumnOrders[index]; - final int numColumn = getNumColumnInRow(index); - return COLUMN_ORDER_TO_NUMBER[numColumn - 1][columnOrder]; - } - - public int getX(final int index) { - final int columnNumber = getColumnNumber(index); - return columnNumber * (getWidth(index) + mDividerWidth); - } - - public int getY(final int index) { - final int row = mRowNumbers[index]; - return (mNumRows -1 - row) * mDefaultRowHeight + mTopPadding; - } - - public int getWidth(final int index) { - final int numColumnInRow = getNumColumnInRow(index); - return (mOccupiedWidth - mDividerWidth * (numColumnInRow - 1)) / numColumnInRow; - } - - public void markAsEdgeKey(final Key key, final int index) { - final int row = mRowNumbers[index]; - if (row == 0) - key.markAsBottomEdge(this); - if (row == mNumRows - 1) - key.markAsTopEdge(this); - - final int numColumnInRow = mNumColumnsInRow[row]; - final int column = getColumnNumber(index); - if (column == 0) - key.markAsLeftEdge(this); - if (column == numColumnInRow - 1) - key.markAsRightEdge(this); - } - } - - static boolean isIndexSubjectToAutoCorrection(final SuggestedWords suggestedWords, - final int index) { - return suggestedWords.mWillAutoCorrect && index == SuggestedWords.INDEX_OF_AUTO_CORRECTION; - } - - public static final class Builder extends KeyboardBuilder { - private final MoreSuggestionsView mPaneView; - private SuggestedWords mSuggestedWords; - private int mFromIndex; - private int mToIndex; - - public Builder(final Context context, final MoreSuggestionsView paneView) { - super(context, new MoreSuggestionsParam()); - mPaneView = paneView; - } - - public Builder layout(final SuggestedWords suggestedWords, final int fromIndex, - final int maxWidth, final int minWidth, final int maxRow, - final Keyboard parentKeyboard) { - final int xmlId = R.xml.kbd_suggestions_pane_template; - load(xmlId, parentKeyboard.mId); - mParams.mVerticalGap = mParams.mTopPadding = parentKeyboard.mVerticalGap / 2; - mPaneView.updateKeyboardGeometry(mParams.mDefaultRowHeight); - final int count = mParams.layout(suggestedWords, fromIndex, maxWidth, minWidth, maxRow, - mPaneView.newLabelPaint(null /* key */), mResources); - mFromIndex = fromIndex; - mToIndex = fromIndex + count; - mSuggestedWords = suggestedWords; - return this; - } - - @Override - public MoreSuggestions build() { - final MoreSuggestionsParam params = mParams; - for (int index = mFromIndex; index < mToIndex; index++) { - final int x = params.getX(index); - final int y = params.getY(index); - final int width = params.getWidth(index); - final String word; - final String info; - if (isIndexSubjectToAutoCorrection(mSuggestedWords, index)) { - // INDEX_OF_AUTO_CORRECTION and INDEX_OF_TYPED_WORD got swapped. - word = mSuggestedWords.getLabel(SuggestedWords.INDEX_OF_TYPED_WORD); - info = mSuggestedWords.getDebugString(SuggestedWords.INDEX_OF_TYPED_WORD); - } else { - word = mSuggestedWords.getLabel(index); - info = mSuggestedWords.getDebugString(index); - } - final Key key = new MoreSuggestionKey(word, info, index, params); - params.markAsEdgeKey(key, index); - params.onAddKey(key); - final int columnNumber = params.getColumnNumber(index); - final int numColumnInRow = params.getNumColumnInRow(index); - if (columnNumber < numColumnInRow - 1) { - final Divider divider = new Divider(params, params.mDivider, x + width, y, - params.mDividerWidth, params.mDefaultRowHeight); - params.onAddKey(divider); - } - } - return new MoreSuggestions(params, mSuggestedWords); - } - } - - static final class MoreSuggestionKey extends Key { - public final int mSuggestedWordIndex; - - public MoreSuggestionKey(final String word, final String info, final int index, - final MoreSuggestionsParam params) { - super(word /* label */, KeyboardIconsSet.ICON_UNDEFINED, Constants.CODE_OUTPUT_TEXT, - word /* outputText */, info, 0 /* labelFlags */, Key.BACKGROUND_TYPE_NORMAL, - params.getX(index), params.getY(index), params.getWidth(index), - params.mDefaultRowHeight, params.mHorizontalGap, params.mVerticalGap, - Key.ACTION_FLAGS_NO_KEY_PREVIEW); - mSuggestedWordIndex = index; - } - } - - private static final class Divider extends Key.Spacer { - private final Drawable mIcon; - - public Divider(final KeyboardParams params, final Drawable icon, final int x, - final int y, final int width, final int height) { - super(params, x, y, width, height); - mIcon = icon; - } - - @Override - public Drawable getIcon(final KeyboardIconsSet iconSet, final int alpha) { - // KeyboardIconsSet and alpha are unused. Use the icon that has been passed to the - // constructor. - // TODO: Drawable itself should have an alpha value. - mIcon.setAlpha(128); - return mIcon; - } - } -} diff --git a/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestionsView.java deleted file mode 100644 index 7136d94d3..000000000 --- a/java/src/org/futo/inputmethod/latin/suggestions/MoreSuggestionsView.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2011 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 org.futo.inputmethod.latin.suggestions; - -import android.content.Context; -import android.util.AttributeSet; -import android.util.Log; - -import org.futo.inputmethod.keyboard.Key; -import org.futo.inputmethod.keyboard.Keyboard; -import org.futo.inputmethod.keyboard.KeyboardActionListener; -import org.futo.inputmethod.keyboard.MoreKeysKeyboardView; -import org.futo.inputmethod.latin.R; -import org.futo.inputmethod.latin.SuggestedWords; -import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo; -import org.futo.inputmethod.latin.suggestions.MoreSuggestions.MoreSuggestionKey; - -/** - * A view that renders a virtual {@link MoreSuggestions}. It handles rendering of keys and detecting - * key presses and touch movements. - */ -public final class MoreSuggestionsView extends MoreKeysKeyboardView { - private static final String TAG = MoreSuggestionsView.class.getSimpleName(); - - public static abstract class MoreSuggestionsListener extends KeyboardActionListener.Adapter { - public abstract void onSuggestionSelected(final SuggestedWordInfo info); - } - - private boolean mIsInModalMode; - - public MoreSuggestionsView(final Context context, final AttributeSet attrs) { - this(context, attrs, R.attr.moreKeysKeyboardViewStyle); - } - - public MoreSuggestionsView(final Context context, final AttributeSet attrs, - final int defStyle) { - super(context, attrs, defStyle); - } - - // TODO: Remove redundant override method. - @Override - public void setKeyboard(final Keyboard keyboard) { - super.setKeyboard(keyboard); - mIsInModalMode = false; - // With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the - // above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. - // With accessibility mode on, {@link #mAccessibilityDelegate} is set to a - // {@link MoreKeysKeyboardAccessibilityDelegate} object at the above - // {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. - if (mAccessibilityDelegate != null) { - mAccessibilityDelegate.setOpenAnnounce(R.string.spoken_open_more_suggestions); - mAccessibilityDelegate.setCloseAnnounce(R.string.spoken_close_more_suggestions); - } - } - - @Override - protected int getDefaultCoordX() { - final MoreSuggestions pane = (MoreSuggestions)getKeyboard(); - return pane.mOccupiedWidth / 2; - } - - public void updateKeyboardGeometry(final int keyHeight) { - updateKeyDrawParams(keyHeight); - } - - public void setModalMode() { - mIsInModalMode = true; - // Set vertical correction to zero (Reset more keys keyboard sliding allowance - // {@link R#dimen.config_more_keys_keyboard_slide_allowance}). - mKeyDetector.setKeyboard(getKeyboard(), -getPaddingLeft(), -getPaddingTop()); - } - - public boolean isInModalMode() { - return mIsInModalMode; - } - - @Override - protected void onKeyInput(final Key key, final int x, final int y) { - if (!(key instanceof MoreSuggestionKey)) { - Log.e(TAG, "Expected key is MoreSuggestionKey, but found " - + key.getClass().getName()); - return; - } - final Keyboard keyboard = getKeyboard(); - if (!(keyboard instanceof MoreSuggestions)) { - Log.e(TAG, "Expected keyboard is MoreSuggestions, but found " - + keyboard.getClass().getName()); - return; - } - final SuggestedWords suggestedWords = ((MoreSuggestions)keyboard).mSuggestedWords; - final int index = ((MoreSuggestionKey)key).mSuggestedWordIndex; - if (index < 0 || index >= suggestedWords.size()) { - Log.e(TAG, "Selected suggestion has an illegal index: " + index); - return; - } - if (!(mListener instanceof MoreSuggestionsListener)) { - Log.e(TAG, "Expected mListener is MoreSuggestionsListener, but found " - + mListener.getClass().getName()); - return; - } - ((MoreSuggestionsListener)mListener).onSuggestionSelected(suggestedWords.getInfo(index)); - } -} diff --git a/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStrip.kt b/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStrip.kt index cb915ddcc..7e3fdf5a5 100644 --- a/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStrip.kt +++ b/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStrip.kt @@ -13,81 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package org.futo.inputmethod.latin.suggestions -package org.futo.inputmethod.latin.suggestions; +import org.futo.inputmethod.latin.SuggestedWords +import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo -import android.content.Context; -import android.content.res.Resources; -import android.content.res.TypedArray; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import androidx.core.view.ViewCompat; -import android.text.TextUtils; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.view.GestureDetector; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; -import android.view.ViewGroup; -import android.view.ViewParent; -import android.view.accessibility.AccessibilityEvent; -import android.widget.ImageButton; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import org.futo.inputmethod.accessibility.AccessibilityUtils; -import org.futo.inputmethod.keyboard.Keyboard; -import org.futo.inputmethod.keyboard.MainKeyboardView; -import org.futo.inputmethod.keyboard.MoreKeysPanel; -import org.futo.inputmethod.latin.AudioAndHapticFeedbackManager; -import org.futo.inputmethod.latin.R; -import org.futo.inputmethod.latin.SuggestedWords; -import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo; -import org.futo.inputmethod.latin.common.Constants; -import org.futo.inputmethod.latin.define.DebugFlags; -import org.futo.inputmethod.latin.settings.Settings; -import org.futo.inputmethod.latin.settings.SettingsValues; -import org.futo.inputmethod.latin.suggestions.MoreSuggestionsView.MoreSuggestionsListener; -import org.futo.inputmethod.latin.utils.ImportantNoticeUtils; - -import java.util.ArrayList; - -public final class SuggestionStripView extends RelativeLayout implements OnClickListener, - OnLongClickListener { - @Override - public void onClick(View v) { - - } - - @Override - public boolean onLongClick(View v) { - return false; - } - - public interface Listener { - public void showImportantNoticeContents(); - public void pickSuggestionManually(SuggestedWordInfo word); - public void requestForgetWord(SuggestedWordInfo word); - public void onCodeInput(int primaryCode, int x, int y, boolean isKeyRepeat); - } - - static final boolean DBG = DebugFlags.DEBUG_ENABLED; - - /** - * Construct a {@link SuggestionStripView} for showing suggestions to be picked by the user. - * @param context - * @param attrs - */ - public SuggestionStripView(final Context context, final AttributeSet attrs) { - this(context, attrs, R.attr.suggestionStripViewStyle); - } - - public SuggestionStripView(final Context context, final AttributeSet attrs, - final int defStyle) { - super(context, attrs, defStyle); - - } +interface SuggestionStripViewListener { + fun showImportantNoticeContents() + fun pickSuggestionManually(word: SuggestedWordInfo?) + fun requestForgetWord(word: SuggestedWordInfo?) + fun onCodeInput(primaryCode: Int, x: Int, y: Int, isKeyRepeat: Boolean) +} + +/** + * An object that gives basic control of a suggestion strip and some info on it. + */ +interface SuggestionStripViewAccessor { + fun setNeutralSuggestionStrip() + fun showSuggestionStrip(suggestedWords: SuggestedWords?) } diff --git a/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStripViewAccessor.java b/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStripViewAccessor.java deleted file mode 100644 index bfc62d263..000000000 --- a/java/src/org/futo/inputmethod/latin/suggestions/SuggestionStripViewAccessor.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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 org.futo.inputmethod.latin.suggestions; - -import org.futo.inputmethod.latin.SuggestedWords; - -/** - * An object that gives basic control of a suggestion strip and some info on it. - */ -public interface SuggestionStripViewAccessor { - public void setNeutralSuggestionStrip(); - public void showSuggestionStrip(final SuggestedWords suggestedWords); -} diff --git a/java/src/org/futo/inputmethod/latin/uix/ActionBar.kt b/java/src/org/futo/inputmethod/latin/uix/ActionBar.kt index b639ab20b..da5424380 100644 --- a/java/src/org/futo/inputmethod/latin/uix/ActionBar.kt +++ b/java/src/org/futo/inputmethod/latin/uix/ActionBar.kt @@ -37,7 +37,6 @@ import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.TextButton -import androidx.compose.material3.contentColorFor import androidx.compose.material3.dynamicDarkColorScheme import androidx.compose.material3.dynamicLightColorScheme import androidx.compose.runtime.Composable @@ -89,7 +88,7 @@ import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo.KIND_EMOJI_SUGGESTION import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo.KIND_TYPED import org.futo.inputmethod.latin.common.Constants -import org.futo.inputmethod.latin.suggestions.SuggestionStripView +import org.futo.inputmethod.latin.suggestions.SuggestionStripViewListener import org.futo.inputmethod.latin.uix.actions.FavoriteActions import org.futo.inputmethod.latin.uix.actions.MoreActionsAction import org.futo.inputmethod.latin.uix.actions.PinnedActions @@ -646,7 +645,7 @@ fun ActionSep() { @Composable fun ActionBar( words: SuggestedWords?, - suggestionStripListener: SuggestionStripView.Listener, + suggestionStripListener: SuggestionStripViewListener, onActionActivated: (Action) -> Unit, onActionAltActivated: (Action) -> Unit, inlineSuggestions: List>, @@ -786,7 +785,7 @@ fun CollapsibleSuggestionsBar( onClose: () -> Unit, onCollapse: () -> Unit, words: SuggestedWords?, - suggestionStripListener: SuggestionStripView.Listener, + suggestionStripListener: SuggestionStripViewListener, ) { Column { ActionSep() @@ -851,7 +850,7 @@ fun CollapsibleSuggestionsBar( /* ---- Previews ---- */ -class ExampleListener : SuggestionStripView.Listener { +class ExampleListener : SuggestionStripViewListener { override fun showImportantNoticeContents() { } diff --git a/java/src/org/futo/inputmethod/latin/uix/UixManager.kt b/java/src/org/futo/inputmethod/latin/uix/UixManager.kt index 6cdfea2b8..709f29111 100644 --- a/java/src/org/futo/inputmethod/latin/uix/UixManager.kt +++ b/java/src/org/futo/inputmethod/latin/uix/UixManager.kt @@ -74,7 +74,7 @@ import org.futo.inputmethod.latin.SuggestedWords import org.futo.inputmethod.latin.SuggestedWords.SuggestedWordInfo import org.futo.inputmethod.latin.common.Constants import org.futo.inputmethod.latin.inputlogic.InputLogic -import org.futo.inputmethod.latin.suggestions.SuggestionStripView +import org.futo.inputmethod.latin.suggestions.SuggestionStripViewListener import org.futo.inputmethod.latin.uix.actions.ActionEditor import org.futo.inputmethod.latin.uix.actions.ActionRegistry import org.futo.inputmethod.latin.uix.actions.AllActions @@ -372,7 +372,7 @@ class UixManager(private val latinIME: LatinIME) { if(actionBarShown.value) { ActionBar( suggestedWordsOrNull, - latinIME.latinIMELegacy as SuggestionStripView.Listener, + latinIME.latinIMELegacy as SuggestionStripViewListener, inlineSuggestions = inlineSuggestions, onActionActivated = { keyboardManagerForAction.performHapticAndAudioFeedback( @@ -490,7 +490,7 @@ class UixManager(private val latinIME: LatinIME) { onCollapse = { toggleExpandAction() }, onClose = { returnBackToMainKeyboardViewFromAction() }, words = suggestedWordsOrNull, - suggestionStripListener = latinIME.latinIMELegacy as SuggestionStripView.Listener + suggestionStripListener = latinIME.latinIMELegacy as SuggestionStripViewListener ) } }