Browse files

Merge pull request #54 from menny/master

Finishing touches for the RC
  • Loading branch information...
2 parents c6e8a5f + 29b5821 commit 5619a340f11aaf6db31b073035cd44eeb3cb1c10 @menny menny committed Aug 1, 2012
View
4 AndroidManifest.xml
@@ -1,7 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.menny.android.anysoftkeyboard"
android:versionCode="75"
- android:versionName="20120725-eye-candy" >
+ android:versionName="20120801-eye-candy" >
<supports-screens
android:anyDensity="true"
@@ -191,4 +191,4 @@
android:windowSoftInputMode="stateAlwaysHidden" />
</application>
-</manifest>
+</manifest>
View
4 res/layout/changelog_layout_75.xml
@@ -15,7 +15,7 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:tag="20120725-eye-candy"
+ android:tag="20120801-eye-candy"
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:layout_height="wrap_content" android:layout_width="fill_parent"
android:text="* User-words editor now supports backup to and restore from SDCARD!! YA! Want to try?" style="@android:style/TextAppearance.Small"/>
@@ -35,6 +35,6 @@
android:layout_gravity="center"/>
<TextView android:layout_height="wrap_content" android:layout_width="fill_parent"
- android:text="* Eye candy in the form of animations.\n* New translations: CA, DE, EL, ES, HU, PL, PT-BR, BE, RU.\n* Bug fixes." style="@android:style/TextAppearance.Small"/>
+ android:text="* Eye candy in the form of animations.\n* New translations: CA, DE, EL, ES, HU, PL, PT-BR, BE, RU, HY, HE, MY.\n* Bug fixes." style="@android:style/TextAppearance.Small"/>
</LinearLayout>
View
14 res/values-ca/strings.xml
@@ -17,11 +17,7 @@
<string name="tip_3_hidden_kbds">Trucs i consells</string>
<string name="tip_3_hidden_kbds_tip">Existeixen teclats amagats:\n1) Llisqueu el dit cap amunt per sobre de la tecla «Espai» i trobareu els cursors de direcció i el micròfon (per dictar-hi text).\n2) Llisqueu el dit per sobre del teclat cap amunt de la pantalla i accedireu a un teclat nimèric i simbòlic bàsic.</string>
<string name="tip_4_top_generic_row">Fila superior</string>
- <string name="tip_4_top_generic_row_tip">
- <![CDATA[
- La fila superior és genèrica per a tots els teclats, però es pot modificar! Per defecte aquesta fila està representada com a <i>« <- 123 <- »</i> per als caràcters numèrics i símbols, i com a <i>« -> ABC -> »</i> pel teclat d\'idioma. Podeu canviar aquest comportament al menú «Fila superior genèrica».
- ]]>
- </string>
+ <string name="tip_4_top_generic_row_tip">La fila superior és genèrica per a tots els teclats, però es pot modificar! Per defecte aquesta fila està representada com a <i>« 123 »</i> per als caràcters numèrics i símbols, i com a <i>« ABC »</i> pel teclat d\'idioma. Podeu canviar aquest comportament al menú «Fila superior genèrica».</string>
<string name="tip_4_top_generic_row_go_to_top_row_settings">Modifica l\'aparença</string>
<string name="tip_5_key_feedback">Vibració i so</string>
<string name="tip_5_key_feedback_tip">Comptar amb una ajuda no visual per saber si premem el teclat correctament pot ser útil. Aquí podeu activar la vibració de tecles, el so, o tot alhora.</string>
@@ -283,6 +279,11 @@
<string name="action_key_invisible_on_disable">Tecla d\'acció invisible</string>
<string name="action_key_invisible_on_disable_on_summary">No es mostra la tecla d\'acció</string>
<string name="action_key_invisible_on_disable_off_summary">Es mostra la tecla d\'acció</string>
+ <string name="tweak_animations_level_title">Efectes</string>
+ <string name="tweak_animations_level_summary">Quantitat d\'efectes a emprar</string>
+ <string name="tweak_animations_level_types_full">Tot</string>
+ <string name="tweak_animations_level_types_some">Només les principals</string>
+ <string name="tweak_animations_level_types_none">Cap efecte</string>
<string name="cycle_all_symbols_keyboards">Rotació simbòlic/numèric</string>
<string name="cycle_all_symbols_keyboards_on_summary">Prement « ← 123 ← » canvia el tipus de teclat</string>
<string name="cycle_all_symbols_keyboards_off_summary">Prement « ... » canvia el tipus de teclat</string>
@@ -348,6 +349,9 @@
<string name="light_plain_keyboard_theme_description">Color clar i gràfics simples</string>
<string name="blacktheme_keyboard_theme_name">Simple black glow</string>
<string name="blacktheme_keyboard_theme_description">Tema negre bàsic amb atenuació dels colors</string>
+ <string name="lean_dark_keyboard_theme_name">Pinzellada fosca</string>
+ <string name="lean_dark_keyboard_theme_description">Tema fosc i minimalista</string>
+ <string name="lean_dark_2_keyboard_theme_name">Pinzellada fosca - 2ª opció</string>
<string name="extension_kbd_top_none">Sense fila superior</string>
<string name="extension_kbd_top_small">Tecles petites</string>
<string name="extension_kbd_top_regular">Tecles normals</string>
View
8 res/values-el/strings.xml
@@ -279,6 +279,11 @@
<string name="action_key_invisible_on_disable">Αόρατο κουμπί ενέργειας</string>
<string name="action_key_invisible_on_disable_on_summary">Το κουμπί ενέργειας θα είναι αόρατο όταν ζητείται απο το GUI</string>
<string name="action_key_invisible_on_disable_off_summary">Το κουμπί ενέργειας θα είναι ορατό ακόμη και αν ζητείται από το GUI</string>
+ <string name="tweak_animations_level_title">Κινούμενες εικόνες</string>
+ <string name="tweak_animations_level_summary">Πόσες κινούμενες εικόνες θα πρέπει να χρησιμοποιούνται</string>
+ <string name="tweak_animations_level_types_full">Πλήρης</string>
+ <string name="tweak_animations_level_types_some">Μερικές</string>
+ <string name="tweak_animations_level_types_none">Καμία</string>
<string name="cycle_all_symbols_keyboards">Εμφάνιση όλων των συμβόλων</string>
<string name="cycle_all_symbols_keyboards_on_summary">Το πλήκτρο συμβόλων θα εμφανίζει όλα τα πληκτρολόγια συμβόλων</string>
<string name="cycle_all_symbols_keyboards_off_summary">Το πλήκτρο συμβόλων θα εμφανίζει μόνο τα βασικά σύμβολα του πληκτρολόγιου</string>
@@ -344,6 +349,9 @@
<string name="light_plain_keyboard_theme_description">Φωτεινά χρώματα, απλά γραφικά</string>
<string name="blacktheme_keyboard_theme_name">Απλή μαύρη λάμψη</string>
<string name="blacktheme_keyboard_theme_description">Απλό μαύρο θέμα με φωτισμένα χρώματα</string>
+ <string name="lean_dark_keyboard_theme_name">Ελαφρώς σκούρο</string>
+ <string name="lean_dark_keyboard_theme_description">Σκούρο θέμα, με ελάχιστα στοιχεία UI</string>
+ <string name="lean_dark_2_keyboard_theme_name">Ελαφρώς σκούρο - Επιλογή 2</string>
<string name="extension_kbd_top_none">Χωρίς πάνω σειρά</string>
<string name="extension_kbd_top_small">Μικρά πλήκτρα</string>
<string name="extension_kbd_top_regular">Πλήκτρα κανονικού μεγέθους</string>
View
211 res/values-hy/strings.xml
@@ -1,184 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ime_name">ԷնիՍոֆթՔիբորդ</string>
<string name="main_tab_welcome">Բարի գալուստ</string>
<string name="main_tab_links">Հղումներ</string>
<string name="main_tab_credits">Հեղինակներ</string>
<string name="how_to_pointer_title">Բարի գալուստ ԷնիՍոֆթՔիբորդ</string>
<string name="how_to_pointer_version_prefix">Վարկած</string>
- <string name="how_to_pointer_not_app">AnySoftKeyboard is not a regular application - it is a on-screen keyboard replacement.</string>
- <string name="how_to_pointer_go_to_links">For further information, go to the Links tab.</string>
- <string name="how_to_pointer_how_to_url">Details about how to use this keyboard:</string>
- <string name="how_to_pointer_site">General details:</string>
- <string name="how_to_pointer_changelog">Details about the latest version:</string>
- <string name="how_to_pointer_issues">Bug reporting:</string>
- <string name="main_tab_credits_title">This application was created with the help of the following people-</string>
<string name="main_tab_credits_created_by">Ստեղծողներ՝</string>
<string name="main_tab_credits_additional_work_by">Հավելյալ ծրագրավորում՝</string>
<string name="main_tab_credits_localization_by">Տեղայնացում՝</string>
<string name="main_tab_credits_GUI_by">Պատկերները՝</string>
- <string name="testers_version">Testers version!</string>
+ <string name="how_to_enable_dialog_title">Ակտիվացնե՞լ ԷնիՍոթֆՔիբորդը</string>
+ <string name="how_to_enable_dialog_dont_show_me">Ավելի ուշ</string>
<string name="license_title">Թույլատրագիր</string>
+ <string name="languages_cat">Լեզուներ</string>
<string name="about">Ծրագրի մասին</string>
<string name="changelog">Փոփոխություններ</string>
<string name="search_market_for_addons">Որոնել հավելումներ</string>
- <string name="close_button">Close</string>
- <string name="how_to_active_text">How to active AnySoftKeyboard</string>
- <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string>
- <string name="hint_add_to_dictionary">\u2190 Touch again to save</string>
- <string name="menu_insert_smiley">Insert emoticon</string>
+ <string name="close_button">Փակել</string>
<string name="click_for_help">Օգնություն</string>
- <string name="click_for_help_summary">Սեղմեք առցանց օգնության համար</string>
<string name="ui_group">Օգագործողի միջներես</string>
- <string name="physical_keyboard_change_notification_title">Keyboard layout notification</string>
- <string name="physical_keyboard_change_notification_summary">Type of notification about the active layout</string>
- <string name="physical_keyboard_change_notification_dialog_title">Select notification type</string>
- <string name="lengthy_operations_toast_notification">Notify on lengthy operations</string>
- <string name="lengthy_operations_toast_notification_summary">Show short notifications on lengthy operations</string>
<string name="change_ime">Փոխել գրելու եղանակը</string>
- <string name="override_dictionary">Override default dictionary</string>
- <string name="override_dictionary_title">Override <xliff:g id="word">%s</xliff:g> dictionary</string>
<string name="override_dictionary_default">Լռելյայն</string>
- <string name="override_disabled">Override cleared</string>
- <string name="override_enabled">Overriding to <xliff:g id="word">%s</xliff:g></string>
- <string name="effects_group">Effects</string>
- <string name="ime_settings">Keyboard settings</string>
- <string name="vibrate_on_key_press_title">Vibrate on key-press</string>
- <string name="vibrate_on_key_press_summary">Select to have keys vibrate when tapped</string>
- <string name="vibrate_on_key_press_dialog_title">Select vibration type</string>
- <string name="sound_on">Sound on key-press</string>
- <string name="sound_on_summary">Sound effects on soft keyboard press.</string>
- <string name="use_custom_sound_volume">Set custom volume</string>
- <string name="use_custom_sound_volume_on_summary">Sounds effects volume is custom.</string>
- <string name="use_custom_sound_volume_off_summary">Sounds effects volume is the system\'s notifications volume.</string>
- <string name="custom_sound_volume">Custom key-press volume</string>
<string name="speacial_fetures_group">Հատուկ հնարավորություններ</string>
- <string name="switch_keyboard_on_space">Space switches keyboards</string>
- <string name="switch_keyboard_on_space_on_summary">Switch from symbols/numbers to alphabet when pressing space</string>
- <string name="switch_keyboard_on_space_off_summary">Do not switch from symbols/numbers to alphabet when pressing space</string>
- <string name="hide_soft_when_physical">Hide keyboard on physical key</string>
- <string name="hide_soft_when_physical_on_summary">Hide soft keyboard when physical keyboard is used</string>
- <string name="hide_soft_when_physical_off_summary">Show soft keyboard when physical keyboard is used</string>
- <string name="fullscreen_input_connection_supported">Use landscape full-screen</string>
- <string name="fullscreen_input_connection_supported_on_summary">Full-screen input in landscape</string>
- <string name="fullscreen_input_connection_supported_off_summary">Do not use full-screen input in landscape</string>
- <string name="fullscreen_portrait_input_connection_supported">Use portrait full-screen</string>
- <string name="fullscreen_portrait_input_connection_supported_on_summary">Full-screen input in portrait</string>
- <string name="fullscreen_portrait_input_connection_supported_off_summary">Do not use full-screen input in portrait</string>
- <string name="backword_support">Back-word support</string>
- <string name="backword_support_on_summary">Shifted Backspace will delete the last word</string>
- <string name="backword_support_off_summary">Shifted Backspace will delete the last character</string>
- <string name="swipe_tweak_group">Change swipe gesture actions</string>
- <string name="swipe_up_action">Swipe up</string>
- <string name="swipe_up_action_summary">Define the swipe up gesture action</string>
- <string name="swipe_up_action_title">Select swipe up action</string>
- <string name="swipe_down_action">Swipe down</string>
- <string name="swipe_down_action_summary">Define the swipe down gesture action</string>
- <string name="swipe_down_action_title">Select swipe down action</string>
- <string name="swipe_left_action">Swipe left</string>
- <string name="swipe_left_action_summary">Define the swipe left gesture action</string>
- <string name="swipe_left_action_title">Select swipe left action</string>
- <string name="swipe_right_action">Swipe right</string>
- <string name="swipe_right_action_summary">Define the swipe right gesture action</string>
- <string name="swipe_right_action_title">Select swipe right action</string>
- <string name="swipe_action_name_none">No action</string>
<string name="swipe_action_name_next_alphabet">Հաջորդ այբենական ստեղնաշար</string>
<string name="swipe_action_name_next_symbols">Հաջորդ նշանների ստեղնաշար</string>
- <string name="swipe_action_name_next_inside_mode">Next in current mode</string>
- <string name="swipe_action_name_cycle_keyboards">Cycle through all keyboards</string>
- <string name="swipe_action_name_reverse_cycle_keyboards">Reverse cycle through all keyboards</string>
- <string name="swipe_action_name_shift">Shift</string>
<string name="swipe_action_name_hide">Թաքցնել ստեղնաշարը</string>
- <string name="swipe_action_name_backspace">Back-space</string>
- <string name="swipe_action_name_cursor_up">Move cursor up</string>
- <string name="swipe_action_name_cursor_down">Move cursor down</string>
- <string name="swipe_action_name_cursor_left">Move cursor left</string>
- <string name="swipe_action_name_cursor_right">Move cursor right</string>
- <string name="swipe_action_name_other_keyboards_mode">Switch layout mode</string>
- <string name="hardware_keys_group">Hardware keys mapping</string>
- <string name="volume_key_for_left_right_support">Volume key for left/right</string>
- <string name="volume_key_for_left_right_support_on_summary">Disable left/right via volume up/down</string>
- <string name="volume_key_for_left_right_support_off_summary">Volume up turns cursor left, volume down turns cursor right</string>
- <string name="camera_key_for_backspace_backword_support">Use Camera key for backspace/backword</string>
- <string name="camera_key_for_backspace_backword_support_on_summary">Restore the camera key function</string>
- <string name="camera_key_for_backspace_backword_support_off_summary">Half press on camera button deletes last character, full press deletes last word</string>
+ <string name="swipe_action_name_clear_input">Ջնջել ողջ գրվածքը</string>
+ <string name="settings_swipe_velocity_very_slow">Շատ դանդաղ</string>
+ <string name="settings_swipe_velocity_slow">Դանդաղ</string>
+ <string name="settings_swipe_velocity_normal">Նորմալ</string>
+ <string name="settings_swipe_velocity_fast">Արագ</string>
+ <string name="settings_swipe_velocity_very_fast">Շատ արագ</string>
+ <string name="settings_swipe_distance_very_short">Շատ կարճ</string>
+ <string name="settings_swipe_distance_short">Կարճ</string>
+ <string name="settings_swipe_distance_normal">Նորմալ</string>
+ <string name="settings_swipe_distance_long">Երկար</string>
+ <string name="settings_swipe_distance_very_long">Շատ երկար</string>
<string name="special_dictionaries_group">Հատուկ բառարաններ</string>
<string name="use_user_dictionary">Օգտագործողի բառարաններ</string>
- <string name="use_user_dictionary_on_summary">Suggest user added words (long press on suggestion to add)</string>
- <string name="use_user_dictionary_off_summary">&lt;string name="use_user_dictionary_off_summary"/&gt;</string>
- <string name="use_auto_dictionary">Auto dictionary</string>
<string name="use_auto_dictionary_on_summary">Առաջարկել նաև հաճախ գործածվող բառեր</string>
- <string name="use_auto_dictionary_off_summary">&lt;string name="use_auto_dictionary_off_summary"/&gt;</string>
<string name="use_contacts_dictionary">Հեռախոսագրքի բառարան</string>
<string name="use_contacts_dictionary_on_summary">Առաջարկել անուններ հեռախոսագրքից</string>
- <string name="use_contacts_dictionary_off_summary">&lt;string name="use_contacts_dictionary_off_summary"/&gt;</string>
- <string name="use_contacts_dictionary_not_supported_summary">Unsupported under your OS version. Sorry.</string>
- <string name="tweaks_group">Tweaks</string>
- <string name="show_new_version_notifications_again">Show new version notifications</string>
- <string name="show_new_version_notifications_again_on_summary">Upon installing a new version, a change-log will be shown</string>
- <string name="show_new_version_notifications_again_off_summary">Will not notify you when a new version is installed</string>
- <string name="use_keyrepeat">Use key repeat</string>
- <string name="use_keyrepeat_on_summary">Key repeat is enabled</string>
- <string name="use_keyrepeat_off_summary">Key repeat is disabled</string>
- <string name="emoticon_long_press_opens_popup">Long-press smiley popup</string>
- <string name="emoticon_long_press_opens_popup_on_summary">Show emoticons popup on long-press</string>
- <string name="emoticon_long_press_opens_popup_off_summary">Show emoticons popup on short-press</string>
- <string name="emoticon_popup_type_title">Emoticon popup type</string>
- <string name="emoticon_popup_type_summary">Select the type of popup to show for emoticon selection</string>
- <string name="default_smiley_text">Smiley text</string>
- <string name="default_domain_text">Domain text</string>
- <string name="smiley_icon_on_smileys_key">Use icon for smiley key</string>
- <string name="smiley_icon_on_smileys_key_on_summary">Icon will be drawn on smiley key</string>
- <string name="smiley_icon_on_smileys_key_off_summary">Smiley default text will be drawn on smiley key</string>
- <string name="key_press_preview_popup">Key preview popup</string>
- <string name="key_press_preview_popup_on_summary">Show popup upon key-press</string>
- <string name="key_press_preview_popup_off_summary">Do not show popup upon key-press</string>
- <string name="zoom_factor_keys_in_portrait">Keys height factor in portrait mode</string>
- <string name="zoom_factor_keys_in_landscape">Keys height factor in landscape mode</string>
- <string name="insert_space_after_word_suggestion_selection">Space after candidate pick</string>
- <string name="insert_space_after_word_suggestion_selection_on_summary">Insert space after word suggestion select</string>
- <string name="insert_space_after_word_suggestion_selection_off_summary">&lt;string name="insert_space_after_word_suggestion_selection_off_summary"/&gt;</string>
- <string name="double_space_to_period">Double space to period</string>
- <string name="double_space_to_period_summary">Double space tap will become period+space</string>
- <string name="action_key_invisible_on_disable">Invisible action key</string>
- <string name="action_key_invisible_on_disable_on_summary">Action key will be invisible when GUI requests</string>
- <string name="action_key_invisible_on_disable_off_summary">Action key will be visible even if GUI requests</string>
- <string name="cycle_all_symbols_keyboards">Cycle over all symbols</string>
- <string name="cycle_all_symbols_keyboards_on_summary">Symbols key will cycle over all symbols keyboards</string>
- <string name="cycle_all_symbols_keyboards_off_summary">Symbols key will only show main symbols keyboard</string>
- <string name="lang_key_shows_popup">Language switch by popup</string>
- <string name="lang_key_shows_popup_on_summary">Language key will pop-up a selection dialog</string>
- <string name="lang_key_shows_popup_off_summary">Language key will cycle languages</string>
- <string name="auto_caps">Auto-capitalization</string>
- <string name="grammer_group">Grammar</string>
- <string name="candidates_on">Show suggestions</string>
- <string name="quick_fix">Quick fixes</string>
- <string name="quick_fix_summary">Corrects commonly typed mistakes</string>
- <string name="auto_complete">Auto select suggestion</string>
- <string name="auto_complete_summary">Space will select highlighted suggestion</string>
- <string name="physical_keyboard_suggestions">Suggestions in device keyboard</string>
- <string name="physical_keyboard_suggestions_summary">Show suggestions when using device keyboard</string>
- <string name="keyboard_sandbox">Click for text testing</string>
- <string name="keyboard_sandbox_title">Type below to test your settings</string>
- <string name="contacts_dict">Contacts dictionary</string>
- <string name="contacts_dict_summary">Include contact names in suggestions</string>
- <string name="auto_dict">Auto dictionary</string>
- <string name="auto_dict_summary">Add commonly used or selected words automatically to the dictionary</string>
+ <string name="key_preview_position_override_summary">Սղմած ստեղնից կամ ողջ ստեղնաշարից վեր</string>
+ <string name="key_preview_position_override_above_key">Սղմած ստեղնից վեր</string>
+ <string name="key_preview_position_override_above_keyboard">Ստեղնաշարից վեր</string>
+ <string name="double_space_to_period">Կրկնակի բացատը՝ վերջակետ</string>
+ <string name="double_space_to_period_summary">Կրկնակի հպում բացատին կտա վերջակետ+բացատ</string>
+ <string name="tweak_animations_level_title">Անիմացիա</string>
+ <string name="tweak_animations_level_types_full">Ամբողջական</string>
+ <string name="tweak_animations_level_types_some">Մասնակի</string>
+ <string name="tweak_animations_level_types_none">Անջատված</string>
<string name="keyboards_group">Ստեղնաշարեր</string>
<string name="symbols_keyboard">Նշաններ</string>
<string name="eng_keyboard">Անգլերեն</string>
- <string name="eng_keyboard_16keys">16 Keys English</string>
- <string name="quick_text_keys_group">Quick text keys</string>
- <string name="quick_text_key_active">Active quick text key</string>
- <string name="quick_text_key_dialog_title">Select key</string>
- <string name="quick_text_key_summary">Select quick text key to show on keyboards</string>
- <string name="show_tutorial_on_startup">Show this tutorial on startup</string>
- <string name="tutorial_swipe_title">Swipe for keyboard change</string>
- <string name="tutorial_swipe_text">Keyboard layout can be changed by swiping you finger over the keyboard. Swipe left-to-right to change language, swipe right-to-left to change to symbols.</string>
- <string name="label_go_key">Go</string>
+ <string name="extension_keyboard_dialog_title">Ընտրեք ստեղնաշար</string>
+ <string name="extension_keyboard_list_title">Ընտրեք ստեղնաշար</string>
+ <string name="extension_kbd_top_small">Փոքր ստեղներ</string>
+ <string name="extension_kbd_top_regular">Սովորական ստեղներ</string>
+ <string name="extension_kbd_top_small_numbers">Թվանշանային</string>
+ <string name="extension_kbd_extension_numbers_symbols">Թվանշեր և նշաններ</string>
<string name="label_next_key">Հաջորդ</string>
+ <string name="label_previous_key">Նախ․</string>
<string name="label_send_key">Ուղղարկել</string>
+ <string name="label_search_key">Որոնել</string>
<string name="label_done_key">Արված է</string>
<string name="change_lang_wide">→ ԱԲԳ →</string>
<string name="change_lang_regular">ԱԲԳ</string>
@@ -187,10 +73,28 @@
<string name="please_wait">Խնդրում ենք սպասել</string>
<string name="toast_lengthy_words_long_operation">Բառարանի բեռնում...</string>
<string name="toast_lengthy_start_up_operation">ԷնիՍոֆթՔիբորդը մեկնարկում է...</string>
- <string name="lengthy_creating_keyboard_operation">Creating keyboards...</string>
<string name="select_keyboard_popup_title">Ընտրեք ստեղնաշարը</string>
<string name="eng_dictionary">Անգլերեն</string>
- <string name="simley_key_name">Smiley key</string>
+ <string name="settings_multitap_timeout_disabled">Անջատված</string>
+ <string name="settings_multitap_timeout_faster">Ավելի արագ</string>
+ <string name="settings_multitap_timeout_fast">Արագ</string>
+ <string name="settings_multitap_timeout_normal">Նորմալ</string>
+ <string name="settings_multitap_timeout_slow">Դանդաղ</string>
+ <string name="settings_multitap_timeout_slower">Ավելի դանդաղ</string>
+ <string name="settings_multitap_timeout_never">Սպասել հավերժ</string>
+ <string name="settings_long_press_timeout_faster">Ավելի արագ</string>
+ <string name="settings_long_press_timeout_fast">Արագ</string>
+ <string name="settings_long_press_timeout_normal">Նորմալ</string>
+ <string name="settings_long_press_timeout_slow">Դանդաղ</string>
+ <string name="settings_long_press_timeout_slower">Ավելի դանդաղ</string>
+ <string name="settings_long_press_timeout_never">Երբեք</string>
+ <string name="user_dictionary_select_locale">Լեզու՝</string>
+ <string name="user_dict_settings_titlebar">Օգտագործողի բառարան</string>
+ <string name="user_dict_settings_title">Օգտագործողի բառարան</string>
+ <string name="user_dict_settings_add_menu_title">Ավելացնել</string>
+ <string name="user_dict_settings_context_menu_edit_title">Խմբագրել</string>
+ <string name="user_dict_settings_context_menu_delete_title">Ջնջել</string>
+ <string name="user_dict_settings_empty_text">Օգտագործողի բառարանում ոչ մի բառ չկա։ Կարող եք բառ ավելացնել ցանկում։</string>
<string-array name="physical_keyboard_change_notification_types">
<item>Always show layout icon</item>
<item>On physical keyboard change</item>
@@ -202,4 +106,13 @@
<item>Միջին</item>
<item>Ուժեղ</item>
</string-array>
+ <string-array name="custom_hint_align_types">
+ <item>Left</item>
+ <item>Center</item>
+ <item>Right</item>
+ </string-array>
+ <string-array name="custom_hint_valign_types">
+ <item>Top</item>
+ <item>Bottom</item>
+ </string-array>
</resources>
View
25 res/values-iw/strings.xml
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ime_name">AnySoftKeyboard</string>
<string name="settings_app_name">הגדרות AnySoftKeyboard</string>
<string name="tips_notification_text">טיפים!</string>
+ <string name="tips_button">עצות לשימוש יעיל</string>
<string name="tips_button_description">לחץ לקבלת עצות לשימוש ב AnySoftKeyboard</string>
<string name="tips_title">טיפים ל AnySoftKeyboard</string>
<string name="click_for_previous_tip">↓ טיפ קודם</string>
@@ -14,11 +15,14 @@
<string name="tip_2_gestures_tip">על ידי החלקה פשוטה תוכל לעשות הרבה! החלקת האצבע משמאל לימין תוכל להחליף שפות, החלקה לשמאל תעבור למקלדת סימנים וספרות, החלקה ממקש הרווח כלפי מעלה תחשוף את מקלדת הכלים, והחלקה כלפי מטה תסתיר את המקלדת.\nניתן להגדיר את הפעולות המקושרות למחוות במסף ההגדרות (לחיצה ארוכה על ENTER, זוכרים?).</string>
<string name="tip_3_hidden_kbds">פנינים נסתרות</string>
<string name="tip_4_top_generic_row">שורה עליונה</string>
+ <string name="tip_4_top_generic_row_tip">השורה העליונה זהה לכל הפריסות, וניתן לשנותה! ברירת המחדל מכילה מקש לסמלים (<i>123</i>), מקשי חצים ימינה ושמאלה, ומקש להחלפת שפה (<i>ABC</i>). תוכל לשנות את השורה הזאת דרך ההגדרות.</string>
<string name="tip_4_top_generic_row_go_to_top_row_settings">שינוי השורה העליונה כעת</string>
<string name="tip_5_key_feedback">משוב</string>
<string name="tip_5_key_feedback_test">רוצה לבדוק את המשוב?</string>
<string name="tip_6_bottom_rows">שורה תחתונה</string>
+ <string name="tip_6_top_generic_row_go_to_bottom_row_settings">שנה שורה תחתונה כעת</string>
<string name="tip_7_voice_input">דבר איתי*</string>
+ <string name="tip_7_voice_input_tip_dont_forget_bottom_row">אם אתה רוצה להציג תמיד את סמל המיקרופון, ודא כי בחרת את השורה התחתונה הנכונה (כמו שמופיע בטיפ הקודם).\nמכל מקום- המיקרופון זמין תמיד דרך תפריט ההגדרות הנסתר (משוך את האצבע מכיוון מקש הרווח כלפי מעלה).</string>
<string name="tip_7_voice_input_tip_note">* דורש אנדרויד 2.2+ וחיבור לאינטרנט.</string>
<string name="tip_8_suggestions">משלים אותך</string>
<string name="main_tab_welcome">ברוכים הבאים</string>
@@ -130,8 +134,6 @@
<string name="pinch_gesture_action">מחוות צביטה</string>
<string name="pinch_gesture_action_title">בחר פעולה למחוות צביטה</string>
<string name="pinch_gesture_action_summary">הגדר פעולה למחוות צביטה</string>
- <string name="separate_gesture_action">מחוות הפרדה</string>
- <string name="separate_gesture_action_title">בחר פעולה למחוות הפרדה</string>
<string name="swipe_action_name_none">ללא פעולה</string>
<string name="swipe_action_name_next_alphabet">מקלדת אלפבית הבאה</string>
<string name="swipe_action_name_next_symbols">מקלדת סימנים הבאה</string>
@@ -183,6 +185,7 @@
<string name="tweak_physical_keyboard_group">התאמת מקלדת חומרה</string>
<string name="tweak_ui_group">שיפורי גרפיקה</string>
<string name="tweak_ux_group">שיפורי התנהגות</string>
+ <string name="settings_min_length_for_word_correction">אורך מילה מינימלי להצעת תיקון</string>
<string name="show_hint_text">הצג טקסט רמז</string>
<string name="show_hint_text_on_summary">הצג רמז על המקשים, אם ערכת הנושא תומכת</string>
<string name="show_hint_text_off_summary">לעולם אל תציג רמזים על המקשים</string>
@@ -323,6 +326,7 @@
<string name="workaround_disable_rtl_fix_summary_on">השתמש בתמיכת מימין-לשמאל של מערכת ההפעלה (עבור טלפוני סוני-אריקסון)</string>
<string name="workaround_disable_rtl_fix_summary_off">השתמש בתמיכת מימין-לשמאל של התוכנה</string>
<string name="user_dictionary_select_locale">שפה:</string>
+ <string name="user_dictionary_read_please_wait">קורא מילים...</string>
<string name="user_dict_settings_titlebar">מילון משתמש</string>
<string name="user_dict_editor">עורך מילים</string>
<string name="user_dict_settings_title">מילון משתמש</string>
@@ -333,7 +337,13 @@
<string name="user_dict_settings_context_menu_edit_title">עריכה</string>
<string name="user_dict_settings_context_menu_delete_title">מחק</string>
<string name="user_dict_settings_empty_text">אין מילים במילון המשתמש. באפשרותך להוסיף מילה באמצעות התפריט.</string>
+ <string name="user_dict_backup_success_title">הגיבוי הושלם בהצלחה!</string>
+ <string name="user_dict_backup_fail_title">הגיבוי נכשל!</string>
+ <string name="user_dict_restore_success_title">השחזור הושלם בהצלחה!</string>
+ <string name="user_dict_restore_fail_title">השחזור נכשל!</string>
<string name="fast_scroll_alphabet"> אבגדהוזחטיכלמנסעפצקרשת</string>
+ <string name="should_swap_punctuation_and_space_yes">כן</string>
+ <string name="should_swap_punctuation_and_space_no">לא</string>
<string-array name="physical_keyboard_change_notification_types">
<item>הראה תמיד</item>
<item>בשינוי מקלדת פיזית בלבד</item>
@@ -345,4 +355,13 @@
<item>רגיל</item>
<item>ארוך</item>
</string-array>
+ <string-array name="custom_hint_align_types">
+ <item>Left</item>
+ <item>Center</item>
+ <item>Right</item>
+ </string-array>
+ <string-array name="custom_hint_valign_types">
+ <item>Top</item>
+ <item>Bottom</item>
+ </string-array>
</resources>
View
18 res/values-my/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ime_name">ဘာသာစံုလက်ကွက်</string>
<string name="tips_button">ဘယ်လိုအသံုးြပုမလဲ</string>
<string name="tip_5_key_feedback">ေဝဖန်အြကံြပုပါ။</string>
@@ -78,19 +78,26 @@
<string name="use_user_dictionary">သံုးသူအဘီဓာန်</string>
<string name="use_auto_dictionary">အလိုအေလျာက်သံုး အဘိဓာန်</string>
<string name="use_contacts_dictionary_on_summary">ဖံုမှတ်တမ်းထဲမှစာရင်း</string>
+ <string name="default_smiley_text">ြပံုးြပရုန်စာသား</string>
+ <string name="action_key_invisible_on_disable">မြမင်နိုင်ေသာ​လည်း​စွမ်းေဆာင်နိုင်ေသာ​ခလုပ်</string>
+ <string name="lang_key_shows_popup">ဘာသာစကားေြပာင်းရန်</string>
<string name="grammer_group">သဒ္ဒါ</string>
<string name="candidates_on">အြကံြပုချက်များ</string>
<string name="quick_fix">အြမန်ြပင်ရန်</string>
<string name="quick_fix_summary">မှားေလ့ရှိသည့် မှားရိုက်ချက်များ</string>
<string name="auto_complete">အလိုအေလျာက် ေရွးေပးသည့် အြကံေပးချက်</string>
<string name="auto_complete_summary">စေပ့ြဖင့် ေရွးြပီး အြကံေပးချက်ကို ထင်ရှားြပသရန်</string>
<string name="keyboard_sandbox_title">ေအာက်တွင် နမူနာ စမ်းရိုက် စစ်ေဆးြကည့်ပါ။</string>
+ <string name="no_extrenal_packs_support_title">ေထာက်ကူမှုမြပုပါ။</string>
<string name="keyboards_group">လက်ကွက်ပံုစံများ</string>
<string name="symbols_keyboard">ပံုစံြပအရုပ်များ</string>
<string name="eng_keyboard">အဂင်္လိပ်</string>
<string name="eng_keyboard_16keys">၁၆လံုးသံုး အဂင်္လိပ်စနစ်</string>
<string name="quick_text_key_dialog_title">ခလုပ်ေရွးပါ။</string>
+ <string name="keyboard_theme_dialog_title">အြပင်ဒီဇိုင်းေရွးပါ။</string>
<string name="keyboard_theme_list_title">သံုးစွဲမှုအြပင်အဆင်​ကိုေရွးပါ။</string>
+ <string name="extension_kbd_top_small_numbers">ဂဏန်းကွက်များ</string>
+ <string name="extension_kbd_extension_numbers_symbols">ဂဏန်းဏှင့်​သေကင်္တများ</string>
<string name="show_tutorial_on_startup">နမူနာ လမ်းညွန်ချက်ြပပါ။</string>
<string name="tutorial_swipe_title">လက်ကွက်ပံုစံေြပာင်းရန်</string>
<string name="tutorial_swipe_text">မိမိအလိုရှိရာ လက်ကွက် ပံုစံအတိုင်းေြပာင်းလွဲ အသံုးြပု နိုင်သည်။ စိတ်ြကိုက် ဖန်တီး ြပုြပင်ြခင်းကို အသိအမှတ်ြပုေပးပါသည်။</string>
@@ -148,4 +155,13 @@
<item>အလယ်အလတ်</item>
<item>ထင်ထင်ရှားရှား</item>
</string-array>
+ <string-array name="custom_hint_align_types">
+ <item>Left</item>
+ <item>Center</item>
+ <item>Right</item>
+ </string-array>
+ <string-array name="custom_hint_valign_types">
+ <item>Top</item>
+ <item>Bottom</item>
+ </string-array>
</resources>
View
14 res/values-pl/strings.xml
@@ -99,6 +99,7 @@
<string name="voice_input_not_installed_text">Wymagane jest zainstalowanie Wyszukiwanie głosowe Google ze Sklepu zanim zaczniesz używać tej funkcji.</string>
<string name="voice_input_not_installed_action_install">Zainstaluj</string>
<string name="voice_input_not_installed_action_do_not_install">Nie</string>
+ <string name="voice_input_not_voice_pack_in_market">Nie można znaleźć głosowego wprowadzania (com.google.android.voicesearch) w Markecie. Niestety wprowadzanie głosowe nie będzie działać na tym urządzeniu.</string>
<string name="change_ime">Zmień metodę wprowadzania</string>
<string name="override_dictionary">Zastąpić domyślny słownik</string>
<string name="override_dictionary_title">Nadpisz <xliff:g id="word">%s</xliff:g> słownik</string>
@@ -231,6 +232,8 @@
<string name="is_sticky_extesion_keyboard_on_summary">Zostaje widoczna aż do jawnego zamknięcia</string>
<string name="is_sticky_extesion_keyboard_off_summary">Zamyka się po naciśnięciu klawisza</string>
<string name="is_extesion_keyboard_above_keyboard">Górna klawiatura rozszerzająca</string>
+ <string name="is_extesion_keyboard_above_keyboard_on_summary">Rysuj nad główną klawiaturą</string>
+ <string name="is_extesion_keyboard_above_keyboard_off_summary">Rysuj na głównej klawiaturze</string>
<string name="show_new_tips_notifications_again">Pokaż nowe porady</string>
<string name="show_new_tips_notifications_again_on_summary">Gdy dostępne będą nowe porady, zostaną one wyświetlone</string>
<string name="show_new_tips_notifications_again_off_summary">Nie powiadomi, kiedy nowe porady będą dostępne</string>
@@ -269,6 +272,14 @@
<string name="insert_space_after_word_suggestion_selection_on_summary">Wstaw spację po wybraniu sugerowanego wyrazu</string>
<string name="double_space_to_period">Podwójna spacja da kropkę</string>
<string name="double_space_to_period_summary">Podwójne wpisanie spacji stanie się kropką+spacja</string>
+ <string name="action_key_invisible_on_disable">Niewidoczny klawisz akcji</string>
+ <string name="action_key_invisible_on_disable_on_summary">Klawisz akcji będzie niewidoczny, gdy zażąda GUI</string>
+ <string name="action_key_invisible_on_disable_off_summary">Klawisz akcji będzie widoczny, nawet jeśli zażąda GUI</string>
+ <string name="tweak_animations_level_title">Animacje</string>
+ <string name="tweak_animations_level_summary">Ile animacji powinno być używane</string>
+ <string name="tweak_animations_level_types_full">Pełne</string>
+ <string name="tweak_animations_level_types_some">Niektóre</string>
+ <string name="tweak_animations_level_types_none">Żadne</string>
<string name="cycle_all_symbols_keyboards">Kolejno po wszystkich symbolach</string>
<string name="cycle_all_symbols_keyboards_on_summary">Klawisz symboli będzie przechodził po wszystkich klawiaturach znakowych</string>
<string name="cycle_all_symbols_keyboards_off_summary">Klawisz symboli pokaże tylko główną klawiaturę z symbolami</string>
@@ -334,6 +345,9 @@
<string name="light_plain_keyboard_theme_description">Jasne kolory, proste grafiki</string>
<string name="blacktheme_keyboard_theme_name">Prosta czarna poświata</string>
<string name="blacktheme_keyboard_theme_description">Prosty czarny motyw z kolorowymi podświetleniami</string>
+ <string name="lean_dark_keyboard_theme_name">Lean Dark</string>
+ <string name="lean_dark_keyboard_theme_description">Ciemny motyw z minimum elementów interfejsu</string>
+ <string name="lean_dark_2_keyboard_theme_name">Lean Dark - Opcja 2</string>
<string name="extension_kbd_top_none">Bez górnego wiersza</string>
<string name="extension_kbd_top_small">Małe klawisze</string>
<string name="extension_kbd_top_regular">Klawisze normalnych rozmiarów</string>
View
2 res/values/strings.xml
@@ -40,7 +40,7 @@
<string name="tip_7_voice_input_tip_note">* Requires Android 2.2+ and Internet connection to work.</string>
<!-- tip 8 -->
<string name="tip_8_suggestions">I complete you</string>
- <string name="tip_8_suggestions_tip">Depending on you language support level, AnySoftKeyboard can help you finish you words and correct your typos. As you start typing, AnySoftKeyboard will suggest words based on what you already typed.</string>
+ <string name="tip_8_suggestions_tip">Depending on you language support level, AnySoftKeyboard can help you finish your words and correct your typos. As you start typing, AnySoftKeyboard will suggest words based on what you already typed.</string>
<string name="tip_8_suggestions_editor">If I don\'t know a word, you can teach me! Type that word, and click it in the suggestions strip. I\'ll remember it.\nYou can also edit those User-Words in our built-in editor. Look for the editor in AnySoftKeyboard Dictionary Settings.</string>
<!-- tip 9 -->
<string name="tip_9_suggestions_restart">Suggestions Restarting</string>
View
27 src/com/anysoftkeyboard/AnySoftKeyboard.java
@@ -130,6 +130,7 @@
private boolean mTipsCalled = false;
private LayoutSwitchAnimationListener mSwitchAnimator;
+ private boolean mDistinctMultiTouch = true;
private AnyKeyboardView mInputView;
private View mCandidatesParent;
private CandidateView mCandidateView;
@@ -379,6 +380,8 @@ public View onCreateInputView() {
mKeyboardSwitcher.setInputView(mInputView);
mInputView.setOnKeyboardActionListener(this);
+ mDistinctMultiTouch = mInputView.hasDistinctMultitouch();
+
return mInputView;
}
@@ -1451,8 +1454,12 @@ public void updateShiftKeyState(EditorInfo attr) {
InputConnection ic = getCurrentInputConnection();
if (ic != null && attr != null && mKeyboardSwitcher.isAlphabetMode()
&& (mInputView != null)) {
+ final boolean inputSaysCaps = getCursorCapsMode(ic, attr) != 0;
+ if (inputSaysCaps)
+ mShiftStartTime = SystemClock.elapsedRealtime();
+
mInputView.setShifted(mShiftKeyState.isMomentary() || mCapsLock
- || getCursorCapsMode(ic, attr) != 0);
+ || inputSaysCaps);
}
}
@@ -1621,7 +1628,7 @@ public void onKey(int primaryCode, Key key, int multiTapIndex, int[] nearByKeyCo
&& mInputView.isShifted()
&& !mInputView.getKeyboard().isShiftLocked()
&&
- ((mInputView.hasDistinctMultitouch() && mShiftKeyState.isMomentary()) || mConfig
+ ((mDistinctMultiTouch && mShiftKeyState.isMomentary()) || mConfig
.useBackword()))
{
handleBackword(ic);
@@ -1641,11 +1648,11 @@ public void onKey(int primaryCode, Key key, int multiTapIndex, int[] nearByKeyCo
}
break;
case KeyCodes.SHIFT:
- if ((!mInputView.hasDistinctMultitouch()) || !fromUI)
+ if ((!mDistinctMultiTouch) || !fromUI)
handleShift(false);
break;
case KeyCodes.CTRL:
- if ((!mInputView.hasDistinctMultitouch()) || !fromUI)
+ if ((!mDistinctMultiTouch) || !fromUI)
handleControl(false);
break;
case KeyCodes.ARROW_LEFT:
@@ -2864,6 +2871,8 @@ private void setKeyboardFinalStuff(EditorInfo currentEditorInfo,
KeyboardSwitcher.NextKeyboardType type, AnyKeyboard currentKeyboard) {
updateShiftKeyState(currentEditorInfo);
mCapsLock = currentKeyboard.isShiftLocked();
+ mShiftKeyState.reset();
+ mControlKeyState.reset();
// changing dictionary
setDictionariesForCurrentKeyboard();
// Notifying if needed
@@ -2952,15 +2961,14 @@ public void onPress(int primaryCode) {
mVibrator.vibrate(mVibrationDuration);
}
- final boolean distinctMultiTouch = mInputView.hasDistinctMultitouch();
- if (distinctMultiTouch && primaryCode == KeyCodes.SHIFT) {
+ if (mDistinctMultiTouch && primaryCode == KeyCodes.SHIFT) {
mShiftKeyState.onPress();
handleShift(false);
} else {
mShiftKeyState.onOtherKeyPressed();
}
- if (distinctMultiTouch && primaryCode == KeyCodes.CTRL) {
+ if (mDistinctMultiTouch && primaryCode == KeyCodes.CTRL) {
mControlKeyState.onPress();
handleControl(false);
sendKeyDown(ic, 113); // KeyEvent.KEYCODE_CTRL_LEFT (API 11 and up)
@@ -3033,13 +3041,12 @@ public void onRelease(int primaryCode) {
// Reset any drag flags in the keyboard
// ((AnyKeyboard) mInputView.getKeyboard()).keyReleased();
// vibrate();
- final boolean distinctMultiTouch = mInputView.hasDistinctMultitouch();
- if (distinctMultiTouch && primaryCode == KeyCodes.SHIFT) {
+ if (mDistinctMultiTouch && primaryCode == KeyCodes.SHIFT) {
if (mShiftKeyState.isMomentary())
handleShift(true);
mShiftKeyState.onRelease();
}
- if (distinctMultiTouch && primaryCode == KeyCodes.CTRL) {
+ if (mDistinctMultiTouch && primaryCode == KeyCodes.CTRL) {
if (mControlKeyState.isMomentary())
handleControl(true);
sendKeyUp(ic, 113); // KeyEvent.KEYCODE_CTRL_LEFT
View
1,183 src/com/anysoftkeyboard/keyboards/KeyboardSwitcher.java
@@ -29,20 +29,21 @@
public class KeyboardSwitcher
{
- private static String TAG = "ASK_KeySwitcher";
-
- public static final AnyKeyboard[] EMPTY_AnyKeyboards = new AnyKeyboard[]{};
-
- public enum NextKeyboardType
- {
- Symbols,
- Alphabet,
- AlphabetSupportsPhysical,
- Any,
- PreviousAny,
- AnyInsideMode,
- OtherMode
- }
+ private static String TAG = "ASK_KeySwitcher";
+
+ public static final AnyKeyboard[] EMPTY_AnyKeyboards = new AnyKeyboard[] {};
+
+ public enum NextKeyboardType
+ {
+ Symbols,
+ Alphabet,
+ AlphabetSupportsPhysical,
+ Any,
+ PreviousAny,
+ AnyInsideMode,
+ OtherMode
+ }
+
public static final int MODE_TEXT = 1;
public static final int MODE_SYMBOLS = 2;
public static final int MODE_PHONE = 3;
@@ -51,15 +52,15 @@
public static final int MODE_IM = 6;
public static final int MODE_DATETIME = 7;
public static final int MODE_NUMBERS = 8;
-
+
private final int KEYBOARDMODE_NORMAL;
private final int KEYBOARDMODE_URL;
private final int KEYBOARDMODE_EMAIL;
private final int KEYBOARDMODE_IM;
AnyKeyboardView mInputView;
private final AnySoftKeyboard mContext;
-
+
private static final int SYMBOLS_KEYBOARD_REGULAR_INDEX = 0;
private static final int SYMBOLS_KEYBOARD_ALT_INDEX = 1;
private static final int SYMBOLS_KEYBOARD_ALT_NUMBERS_INDEX = 2;
@@ -70,645 +71,689 @@
private static final int SYMBOLS_KEYBOARDS_COUNT = 6;
private int mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
-
+
private AnyKeyboard[] mSymbolsKeyboardsArray = EMPTY_AnyKeyboards;
- //my working keyboards
+ // my working keyboards
private AnyKeyboard[] mAlphabetKeyboards = EMPTY_AnyKeyboards;
private KeyboardAddOnAndBuilder[] mAlphabetKeyboardsCreators = null;
- //issue 146
+ // issue 146
private boolean mRightToLeftMode = false;
- //this flag will be used for inputs which require specific layout
- //thus disabling the option to move to another layout
+ // this flag will be used for inputs which require specific layout
+ // thus disabling the option to move to another layout
private boolean mKeyboardLocked = false;
-
+
private int mLastSelectedKeyboard = 0;
- //private int mImeOptions;
+ // private int mImeOptions;
private boolean mAlphabetMode = true;
- private int mLastKeyboardMode;
- private int mLatinKeyboardIndex;
+ private int mLastKeyboardMode;
+ private int mLatinKeyboardIndex;
- private final KeyboardDimens mKeyboardDimens;
-
- // Constructor hidden
+ private final KeyboardDimens mKeyboardDimens;
+
+ // Constructor hidden
public KeyboardSwitcher(AnySoftKeyboard context) {
- mContext = context;
- final Resources res = mContext.getResources();
- mKeyboardDimens = new KeyboardDimens() {
-
- public int getSmallKeyHeight() {
- return (int)res.getDimensionPixelOffset(R.dimen.default_key_half_height);
- }
-
- public float getRowVerticalGap() {
- return (int)res.getDimensionPixelOffset(R.dimen.default_key_vertical_gap);
- }
-
- public int getNormalKeyHeight() {
- return (int)res.getDimensionPixelOffset(R.dimen.default_key_height);
- }
-
- public int getLargeKeyHeight() {
- return (int)res.getDimensionPixelOffset(R.dimen.default_key_tall_height);
- }
-
- public int getKeyboardMaxWidth() {
- return mContext.getResources().getDisplayMetrics().widthPixels;
- }
-
- public float getKeyHorizontalGap() {
- return (int)res.getDimensionPixelOffset(R.dimen.default_key_horizontal_gap);
- }
- };
- KEYBOARDMODE_NORMAL = res.getInteger(R.integer.keyboard_mode_normal);
- KEYBOARDMODE_IM = res.getInteger(R.integer.keyboard_mode_im);
- KEYBOARDMODE_URL = res.getInteger(R.integer.keyboard_mode_url);
- KEYBOARDMODE_EMAIL = res.getInteger(R.integer.keyboard_mode_email);
+ mContext = context;
+ final Resources res = mContext.getResources();
+ mKeyboardDimens = new KeyboardDimens() {
+
+ public int getSmallKeyHeight() {
+ return (int) res.getDimensionPixelOffset(R.dimen.default_key_half_height);
+ }
+
+ public float getRowVerticalGap() {
+ return (int) res.getDimensionPixelOffset(R.dimen.default_key_vertical_gap);
+ }
+
+ public int getNormalKeyHeight() {
+ return (int) res.getDimensionPixelOffset(R.dimen.default_key_height);
+ }
+
+ public int getLargeKeyHeight() {
+ return (int) res.getDimensionPixelOffset(R.dimen.default_key_tall_height);
+ }
+
+ public int getKeyboardMaxWidth() {
+ return mContext.getResources().getDisplayMetrics().widthPixels;
+ }
+
+ public float getKeyHorizontalGap() {
+ return (int) res.getDimensionPixelOffset(R.dimen.default_key_horizontal_gap);
+ }
+ };
+ KEYBOARDMODE_NORMAL = res.getInteger(R.integer.keyboard_mode_normal);
+ KEYBOARDMODE_IM = res.getInteger(R.integer.keyboard_mode_im);
+ KEYBOARDMODE_URL = res.getInteger(R.integer.keyboard_mode_url);
+ KEYBOARDMODE_EMAIL = res.getInteger(R.integer.keyboard_mode_email);
}
public void setInputView(AnyKeyboardView inputView) {
- //TODO could this param be null? Why?
+ // TODO could this param be null? Why?
mInputView = inputView;
- if(inputView == null){
+ if (inputView == null) {
return;
}
makeKeyboards(true);
}
private synchronized AnyKeyboard getSymbolsKeyboard(int keyboardIndex, int mode)
{
- makeKeyboards(false);
- AnyKeyboard keyboard = mSymbolsKeyboardsArray[keyboardIndex];
-// if (requiredToRecreateKeyboard(keyboard))
-// {
-// Log.d(TAG, "Symbols keyboard width is "+keyboard.getMinWidth()+", while view width is "+mContext.getMaxWidth()+". Recreating.");
-// keyboard = null;
-// mSymbolsKeyboardsArray[keyboardIndex] = null;
-// }
- if (keyboard == null)
- {
- switch(keyboardIndex)
- {
- case SYMBOLS_KEYBOARD_REGULAR_INDEX:
- if (AnyApplication.getConfig().use16KeysSymbolsKeyboards())
- keyboard = new GenericKeyboard(mContext, R.xml.symbols_16keys, R.xml.symbols, R.string.symbols_keyboard, "symbols_keyboard", mode);
- else
- keyboard = new GenericKeyboard(mContext, R.xml.symbols, R.string.symbols_keyboard, "symbols_keyboard", mode, false);
- break;
- case SYMBOLS_KEYBOARD_ALT_INDEX:
- if (AnyApplication.getConfig().use16KeysSymbolsKeyboards())
- keyboard = new GenericKeyboard(mContext, R.xml.symbols_alt_16keys, R.xml.symbols_alt, R.string.symbols_keyboard, "symbols_keyboard", mode);
- else
- keyboard = new GenericKeyboard(mContext, R.xml.symbols_alt, R.string.symbols_keyboard, "alt_symbols_keyboard", mode, false);
- break;
- case SYMBOLS_KEYBOARD_ALT_NUMBERS_INDEX:
- keyboard = new GenericKeyboard(mContext, R.xml.simple_alt_numbers, R.string.symbols_keyboard, "alt_numbers_symbols_keyboard", mode, false);
- break;
- case SYMBOLS_KEYBOARD_PHONE_INDEX:
- keyboard = new GenericKeyboard(mContext, R.xml.simple_phone, R.string.symbols_keyboard, "phone_symbols_keyboard", mode, true);
- break;
- case SYMBOLS_KEYBOARD_NUMBERS_INDEX:
- keyboard = new GenericKeyboard(mContext, R.xml.simple_numbers, R.string.symbols_keyboard, "numbers_symbols_keyboard", mode, false);
- break;
- case SYMBOLS_KEYBOARD_DATETIME_INDEX:
- keyboard = new GenericKeyboard(mContext, R.xml.simple_datetime, R.string.symbols_keyboard, "datetime_symbols_keyboard", mode, false);
- break;
- }
- mSymbolsKeyboardsArray[keyboardIndex] = keyboard;
- mLastSelectedSymbolsKeyboard = keyboardIndex;
- if (mInputView != null)
- {
- keyboard.loadKeyboard(mInputView.getThemedKeyboardDimens());
- mContext.setKeyboardStuffBeforeSetToView(keyboard);
- mInputView.setKeyboard(keyboard);
- }
- else
- {
- keyboard.loadKeyboard(mKeyboardDimens);
- }
- }
-
- return keyboard;
+ makeKeyboards(false);
+ AnyKeyboard keyboard = mSymbolsKeyboardsArray[keyboardIndex];
+ // if (requiredToRecreateKeyboard(keyboard))
+ // {
+ // Log.d(TAG,
+ // "Symbols keyboard width is "+keyboard.getMinWidth()+", while view width is "+mContext.getMaxWidth()+". Recreating.");
+ // keyboard = null;
+ // mSymbolsKeyboardsArray[keyboardIndex] = null;
+ // }
+ if (keyboard == null)
+ {
+ switch (keyboardIndex)
+ {
+ case SYMBOLS_KEYBOARD_REGULAR_INDEX:
+ if (AnyApplication.getConfig().use16KeysSymbolsKeyboards())
+ keyboard = new GenericKeyboard(mContext, R.xml.symbols_16keys,
+ R.xml.symbols, R.string.symbols_keyboard, "symbols_keyboard", mode);
+ else
+ keyboard = new GenericKeyboard(mContext, R.xml.symbols,
+ R.string.symbols_keyboard, "symbols_keyboard", mode, false);
+ break;
+ case SYMBOLS_KEYBOARD_ALT_INDEX:
+ if (AnyApplication.getConfig().use16KeysSymbolsKeyboards())
+ keyboard = new GenericKeyboard(mContext, R.xml.symbols_alt_16keys,
+ R.xml.symbols_alt, R.string.symbols_keyboard, "symbols_keyboard",
+ mode);
+ else
+ keyboard = new GenericKeyboard(mContext, R.xml.symbols_alt,
+ R.string.symbols_keyboard, "alt_symbols_keyboard", mode, false);
+ break;
+ case SYMBOLS_KEYBOARD_ALT_NUMBERS_INDEX:
+ keyboard = new GenericKeyboard(mContext, R.xml.simple_alt_numbers,
+ R.string.symbols_keyboard, "alt_numbers_symbols_keyboard", mode, false);
+ break;
+ case SYMBOLS_KEYBOARD_PHONE_INDEX:
+ keyboard = new GenericKeyboard(mContext, R.xml.simple_phone,
+ R.string.symbols_keyboard, "phone_symbols_keyboard", mode, true);
+ break;
+ case SYMBOLS_KEYBOARD_NUMBERS_INDEX:
+ keyboard = new GenericKeyboard(mContext, R.xml.simple_numbers,
+ R.string.symbols_keyboard, "numbers_symbols_keyboard", mode, false);
+ break;
+ case SYMBOLS_KEYBOARD_DATETIME_INDEX:
+ keyboard = new GenericKeyboard(mContext, R.xml.simple_datetime,
+ R.string.symbols_keyboard, "datetime_symbols_keyboard", mode, false);
+ break;
+ }
+ mSymbolsKeyboardsArray[keyboardIndex] = keyboard;
+ mLastSelectedSymbolsKeyboard = keyboardIndex;
+ if (mInputView != null)
+ {
+ keyboard.loadKeyboard(mInputView.getThemedKeyboardDimens());
+ mContext.setKeyboardStuffBeforeSetToView(keyboard);
+ mInputView.setKeyboard(keyboard);
+ }
+ else
+ {
+ keyboard.loadKeyboard(mKeyboardDimens);
+ }
+ }
+
+ return keyboard;
}
private AnyKeyboard[] getAlphabetKeyboards()
{
- makeKeyboards(false);
- return mAlphabetKeyboards;
+ makeKeyboards(false);
+ return mAlphabetKeyboards;
}
public synchronized KeyboardAddOnAndBuilder[] getEnabledKeyboardsBuilders()
{
- makeKeyboards(false);
- return mAlphabetKeyboardsCreators;
+ makeKeyboards(false);
+ return mAlphabetKeyboardsCreators;
}
-
+
public synchronized void makeKeyboards(boolean force) {
- if(mContext == null) return;
+ if (mContext == null)
+ return;
if (force)
{
- resetKeyboardsCache();
+ resetKeyboardsCache();
}
if ((force || mAlphabetKeyboards.length == 0) || (mSymbolsKeyboardsArray.length == 0))
{
- if (AnyApplication.DEBUG)Log.d(TAG, "makeKeyboards: force:"+force);
+ if (AnyApplication.DEBUG)
+ Log.d(TAG, "makeKeyboards: force:" + force);
if (mAlphabetKeyboards.length == 0)
{
- if (AnyApplication.DEBUG)Log.d(TAG, "makeKeyboards: creating alphabets");
- mAlphabetKeyboardsCreators = KeyboardFactory.getEnabledKeyboards(mContext).toArray(new KeyboardAddOnAndBuilder[]{});
- mLatinKeyboardIndex = findLatinKeyboardIndex();
- mAlphabetKeyboards = new AnyKeyboard[mAlphabetKeyboardsCreators.length];
- if (mLastSelectedKeyboard >= mAlphabetKeyboards.length)
- mLastSelectedKeyboard = 0;
+ if (AnyApplication.DEBUG)
+ Log.d(TAG, "makeKeyboards: creating alphabets");
+ mAlphabetKeyboardsCreators = KeyboardFactory.getEnabledKeyboards(mContext).toArray(
+ new KeyboardAddOnAndBuilder[] {});
+ mLatinKeyboardIndex = findLatinKeyboardIndex();
+ mAlphabetKeyboards = new AnyKeyboard[mAlphabetKeyboardsCreators.length];
+ if (mLastSelectedKeyboard >= mAlphabetKeyboards.length)
+ mLastSelectedKeyboard = 0;
}
if (mSymbolsKeyboardsArray.length == 0)
{
- if (AnyApplication.DEBUG)Log.d(TAG, "makeKeyboards: creating symbols");
- mSymbolsKeyboardsArray = new AnyKeyboard[SYMBOLS_KEYBOARDS_COUNT];
- if (mLastSelectedSymbolsKeyboard >= mSymbolsKeyboardsArray.length)
- mLastSelectedSymbolsKeyboard = 0;
+ if (AnyApplication.DEBUG)
+ Log.d(TAG, "makeKeyboards: creating symbols");
+ mSymbolsKeyboardsArray = new AnyKeyboard[SYMBOLS_KEYBOARDS_COUNT];
+ if (mLastSelectedSymbolsKeyboard >= mSymbolsKeyboardsArray.length)
+ mLastSelectedSymbolsKeyboard = 0;
}
- //freeing old keyboards.
- System.gc();
+ // freeing old keyboards.
+ System.gc();
}
}
/*
* This is used for url and emails fields
*/
private int findLatinKeyboardIndex() {
- if (mAlphabetKeyboardsCreators == null)
- return -1;
-
- for(int index=0; index < mAlphabetKeyboardsCreators.length; index++)
- {
- final KeyboardAddOnAndBuilder builder = mAlphabetKeyboardsCreators[index];
- if (builder.getNameResId() == R.string.eng_keyboard)
- return index;
- }
-
- return -1;
- }
-
- synchronized void resetKeyboardsCache() {
- if (AnyApplication.DEBUG)
- {
- Log.d(TAG, "Forcing Keyboards cache clear");
- //Thread.dumpStack();
- }
- mAlphabetKeyboards = EMPTY_AnyKeyboards;
- mSymbolsKeyboardsArray = EMPTY_AnyKeyboards;
- }
+ if (mAlphabetKeyboardsCreators == null)
+ return -1;
+
+ for (int index = 0; index < mAlphabetKeyboardsCreators.length; index++)
+ {
+ final KeyboardAddOnAndBuilder builder = mAlphabetKeyboardsCreators[index];
+ if (builder.getNameResId() == R.string.eng_keyboard)
+ return index;
+ }
+
+ return -1;
+ }
+
+ synchronized void resetKeyboardsCache() {
+ if (AnyApplication.DEBUG)
+ {
+ Log.d(TAG, "Forcing Keyboards cache clear");
+ // Thread.dumpStack();
+ }
+ mAlphabetKeyboards = EMPTY_AnyKeyboards;
+ mSymbolsKeyboardsArray = EMPTY_AnyKeyboards;
+ }
public void setKeyboardMode(int mode, EditorInfo attr) {
- //mMode = mode;
- //mImeOptions = (attr == null)? 0 : attr.imeOptions;
+ // mMode = mode;
+ // mImeOptions = (attr == null)? 0 : attr.imeOptions;
AnyKeyboard keyboard = null;
switch (mode) {
- case MODE_DATETIME:
- keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_DATETIME_INDEX, getKeyboardMode(attr));
- mAlphabetMode = false;
- mKeyboardLocked = true;
- break;
- case MODE_NUMBERS:
- keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_NUMBERS_INDEX, getKeyboardMode(attr));
- mAlphabetMode = false;
- mKeyboardLocked = true;
- break;
- case MODE_SYMBOLS:
- keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_REGULAR_INDEX, getKeyboardMode(attr));
- mAlphabetMode = false;
- mKeyboardLocked = true;
- break;
- case MODE_PHONE:
- keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_PHONE_INDEX, getKeyboardMode(attr));
- mAlphabetMode = false;
- mKeyboardLocked = true;
- break;
- case MODE_URL:
- case MODE_EMAIL:
- //starting with English
- if (mLatinKeyboardIndex >= 0)
- mLastSelectedKeyboard = mLatinKeyboardIndex;
- //note: letting it fallthru to the default branch
- default:
- mKeyboardLocked = false;
- keyboard = getAlphabetKeyboard(mLastSelectedKeyboard, getKeyboardMode(attr));
- mAlphabetMode = true;
- break;
+ case MODE_DATETIME:
+ keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_DATETIME_INDEX,
+ getKeyboardMode(attr));
+ mAlphabetMode = false;
+ mKeyboardLocked = true;
+ break;
+ case MODE_NUMBERS:
+ keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_NUMBERS_INDEX, getKeyboardMode(attr));
+ mAlphabetMode = false;
+ mKeyboardLocked = true;
+ break;
+ case MODE_SYMBOLS:
+ keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_REGULAR_INDEX, getKeyboardMode(attr));
+ mAlphabetMode = false;
+ mKeyboardLocked = true;
+ break;
+ case MODE_PHONE:
+ keyboard = getSymbolsKeyboard(SYMBOLS_KEYBOARD_PHONE_INDEX, getKeyboardMode(attr));
+ mAlphabetMode = false;
+ mKeyboardLocked = true;
+ break;
+ case MODE_URL:
+ case MODE_EMAIL:
+ // starting with English
+ if (mLatinKeyboardIndex >= 0)
+ mLastSelectedKeyboard = mLatinKeyboardIndex;
+ // note: letting it fallthru to the default branch
+ default:
+ mKeyboardLocked = false;
+ keyboard = getAlphabetKeyboard(mLastSelectedKeyboard, getKeyboardMode(attr));
+ mAlphabetMode = true;
+ break;
}
- //keyboard.setShiftLocked(keyboard.isShiftLocked());
+ // keyboard.setShiftLocked(keyboard.isShiftLocked());
keyboard.setImeOptions(mContext.getResources(), attr);
- //keyboard.setTextVariation(mContext.getResources(), (attr == null)? 0 : attr.inputType);
- //now show
+ // keyboard.setTextVariation(mContext.getResources(), (attr == null)? 0
+ // : attr.inputType);
+ // now show
mContext.setKeyboardStuffBeforeSetToView(keyboard);
if (mInputView != null)
{
- mInputView.setKeyboard(keyboard);//keyboard.setShifted(mInputView.isShifted());
+ mInputView.setKeyboard(keyboard);// keyboard.setShifted(mInputView.isShifted());
}
}
private int getKeyboardMode(EditorInfo attr) {
- if (attr == null)
- return mLastKeyboardMode = KEYBOARDMODE_NORMAL;
-
- int variation = attr.inputType & EditorInfo.TYPE_MASK_VARIATION;
-
- switch (variation) {
- case EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS:
- return mLastKeyboardMode = KEYBOARDMODE_EMAIL;
- case EditorInfo.TYPE_TEXT_VARIATION_URI:
- return mLastKeyboardMode = KEYBOARDMODE_URL;
- case EditorInfo.TYPE_TEXT_VARIATION_SHORT_MESSAGE:
- case EditorInfo.TYPE_TEXT_VARIATION_EMAIL_SUBJECT:
- case EditorInfo.TYPE_TEXT_VARIATION_LONG_MESSAGE:
- return mLastKeyboardMode = KEYBOARDMODE_IM;
- default:
- return mLastKeyboardMode = KEYBOARDMODE_NORMAL;
+ if (attr == null)
+ return mLastKeyboardMode = KEYBOARDMODE_NORMAL;
+
+ int variation = attr.inputType & EditorInfo.TYPE_MASK_VARIATION;
+
+ switch (variation) {
+ case EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS:
+ return mLastKeyboardMode = KEYBOARDMODE_EMAIL;
+ case EditorInfo.TYPE_TEXT_VARIATION_URI:
+ return mLastKeyboardMode = KEYBOARDMODE_URL;
+ case EditorInfo.TYPE_TEXT_VARIATION_SHORT_MESSAGE:
+ case EditorInfo.TYPE_TEXT_VARIATION_EMAIL_SUBJECT:
+ case EditorInfo.TYPE_TEXT_VARIATION_LONG_MESSAGE:
+ return mLastKeyboardMode = KEYBOARDMODE_IM;
+ default:
+ return mLastKeyboardMode = KEYBOARDMODE_NORMAL;
}
- }
+ }
- public boolean isAlphabetMode() {
- return mAlphabetMode;
+ public boolean isAlphabetMode() {
+ return mAlphabetMode;
}
-// void toggleShift()
-// {
-// Keyboard currentKeyboard = mInputView.getKeyboard();
-//
-// if (currentKeyboard == mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_REGULAR_INDEX])
-// {
-// mLastSelectedSymbolsKeyboard = 1;
-// }
-// else if (currentKeyboard == mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_SHIFTED_INDEX])
-// {
-// mLastSelectedSymbolsKeyboard = 0;
-// }
-// else return;
-//
-// AnyKeyboard nextKeyboard = getSymbolsKeyboard(mLastSelectedSymbolsKeyboard);
-// boolean shiftStateToSet = currentKeyboard == mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_REGULAR_INDEX];
-// currentKeyboard.setShifted(shiftStateToSet);
-// mInputView.setKeyboard(nextKeyboard);
-// nextKeyboard.setShifted(shiftStateToSet);
-// nextKeyboard.setImeOptions(mContext.getResources()/*, mMode*/, mImeOptions);
-// }
+ // void toggleShift()
+ // {
+ // Keyboard currentKeyboard = mInputView.getKeyboard();
+ //
+ // if (currentKeyboard ==
+ // mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_REGULAR_INDEX])
+ // {
+ // mLastSelectedSymbolsKeyboard = 1;
+ // }
+ // else if (currentKeyboard ==
+ // mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_SHIFTED_INDEX])
+ // {
+ // mLastSelectedSymbolsKeyboard = 0;
+ // }
+ // else return;
+ //
+ // AnyKeyboard nextKeyboard =
+ // getSymbolsKeyboard(mLastSelectedSymbolsKeyboard);
+ // boolean shiftStateToSet = currentKeyboard ==
+ // mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_REGULAR_INDEX];
+ // currentKeyboard.setShifted(shiftStateToSet);
+ // mInputView.setKeyboard(nextKeyboard);
+ // nextKeyboard.setShifted(shiftStateToSet);
+ // nextKeyboard.setImeOptions(mContext.getResources()/*, mMode*/,
+ // mImeOptions);
+ // }
public AnyKeyboard nextAlphabetKeyboard(EditorInfo currentEditorInfo, String keyboardId)
- {
- AnyKeyboard current = getLockedKeyboard(currentEditorInfo);
- if (current != null)
- return current;
-
- final int keyboardsCount = getAlphabetKeyboards().length;
- for(int keyboardIndex = 0; keyboardIndex<keyboardsCount; keyboardIndex++)
- {
- current = getAlphabetKeyboard(keyboardIndex, getKeyboardMode(currentEditorInfo));
- if (current.getKeyboardPrefId().equals(keyboardId))
- {
- mAlphabetMode = true;
- mLastSelectedKeyboard = keyboardIndex;
- //returning to the regular symbols keyboard, no matter what
- mLastSelectedSymbolsKeyboard = 0;
- //Issue 146
- mRightToLeftMode = !current.isLeftToRightLanguage();
-
- return setKeyboard(currentEditorInfo, current);
- }
- }
-
- Log.w(TAG, "For some reason, I can't find keyboard with ID "+keyboardId);
- return null;
- }
-
- private AnyKeyboard getLockedKeyboard(EditorInfo currentEditorInfo)
{
- if (mKeyboardLocked)
- {
- AnyKeyboard current = getCurrentKeyboard();
- Log.i(TAG, "Request for nextAlphabetKeyboard, but the keyboard-switcher is locked! Returning "+current.getKeyboardName());
- //Issue 146
- mRightToLeftMode = !current.isLeftToRightLanguage();
- return setKeyboard(currentEditorInfo, current);
- }
- else
- {
- return null;
- }
+ AnyKeyboard current = getLockedKeyboard(currentEditorInfo);
+ if (current != null)
+ return current;
+
+ final int keyboardsCount = getAlphabetKeyboards().length;
+ for (int keyboardIndex = 0; keyboardIndex < keyboardsCount; keyboardIndex++)
+ {
+ current = getAlphabetKeyboard(keyboardIndex, getKeyboardMode(currentEditorInfo));
+ if (current.getKeyboardPrefId().equals(keyboardId))
+ {
+ mAlphabetMode = true;
+ mLastSelectedKeyboard = keyboardIndex;
+ // returning to the regular symbols keyboard, no matter what
+ mLastSelectedSymbolsKeyboard = 0;
+ // Issue 146
+ mRightToLeftMode = !current.isLeftToRightLanguage();
+
+ return setKeyboard(currentEditorInfo, current);
+ }
+ }
+
+ Log.w(TAG, "For some reason, I can't find keyboard with ID " + keyboardId);
+ return null;
}
-
+
+ private AnyKeyboard getLockedKeyboard(EditorInfo currentEditorInfo)
+ {
+ if (mKeyboardLocked)
+ {
+ AnyKeyboard current = getCurrentKeyboard();
+ Log.i(TAG,
+ "Request for nextAlphabetKeyboard, but the keyboard-switcher is locked! Returning "
+ + current.getKeyboardName());
+ // Issue 146
+ mRightToLeftMode = !current.isLeftToRightLanguage();
+ return setKeyboard(currentEditorInfo, current);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
private AnyKeyboard nextAlphabetKeyboard(EditorInfo currentEditorInfo, boolean supportsPhysical)
{
- AnyKeyboard current = getLockedKeyboard(currentEditorInfo);
-
- if (current == null)
- {
- final int keyboardsCount = getAlphabetKeyboards().length;
- if (isAlphabetMode())
- mLastSelectedKeyboard++;
-
- mAlphabetMode = true;
-
- if (mLastSelectedKeyboard >= keyboardsCount)
- mLastSelectedKeyboard = 0;
-
- current = getAlphabetKeyboard(mLastSelectedKeyboard, getKeyboardMode(currentEditorInfo));
- //returning to the regular symbols keyboard, no matter what
- mLastSelectedSymbolsKeyboard = 0;
-
- if (supportsPhysical)
- {
- int testsLeft = keyboardsCount;
- while(!(current instanceof HardKeyboardTranslator) && (testsLeft > 0))
- {
- mLastSelectedKeyboard++;
- if (mLastSelectedKeyboard >= keyboardsCount)
- mLastSelectedKeyboard = 0;
- current = getAlphabetKeyboard(mLastSelectedKeyboard, getKeyboardMode(currentEditorInfo));
- testsLeft--;
- }
- //if we scanned all keyboards... we screwed...
- if (testsLeft == 0)
- {
- Log.w(TAG, "Could not locate the next physical keyboard. Will continue with "+current.getKeyboardName());
- }
- }
-
- //Issue 146
- mRightToLeftMode = !current.isLeftToRightLanguage();
-
- return setKeyboard(currentEditorInfo, current);
- }
- else
- return current;
+ AnyKeyboard current = getLockedKeyboard(currentEditorInfo);
+
+ if (current == null)
+ {
+ final int keyboardsCount = getAlphabetKeyboards().length;
+ if (isAlphabetMode())
+ mLastSelectedKeyboard++;
+
+ mAlphabetMode = true;
+
+ if (mLastSelectedKeyboard >= keyboardsCount)
+ mLastSelectedKeyboard = 0;
+
+ current = getAlphabetKeyboard(mLastSelectedKeyboard, getKeyboardMode(currentEditorInfo));
+ // returning to the regular symbols keyboard, no matter what
+ mLastSelectedSymbolsKeyboard = 0;
+
+ if (supportsPhysical)
+ {
+ int testsLeft = keyboardsCount;
+ while (!(current instanceof HardKeyboardTranslator) && (testsLeft > 0))
+ {
+ mLastSelectedKeyboard++;
+ if (mLastSelectedKeyboard >= keyboardsCount)
+ mLastSelectedKeyboard = 0;
+ current = getAlphabetKeyboard(mLastSelectedKeyboard,
+ getKeyboardMode(currentEditorInfo));
+ testsLeft--;
+ }
+ // if we scanned all keyboards... we screwed...
+ if (testsLeft == 0)
+ {
+ Log.w(TAG, "Could not locate the next physical keyboard. Will continue with "
+ + current.getKeyboardName());
+ }
+ }
+
+ // Issue 146
+ mRightToLeftMode = !current.isLeftToRightLanguage();
+
+ return setKeyboard(currentEditorInfo, current);
+ }
+ else
+ return current;
}
private AnyKeyboard nextSymbolsKeyboard(EditorInfo currentEditorInfo)
{
- AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
- if (locked != null)
- return locked;
-
- if (AnyApplication.getConfig().getCycleOverAllSymbols())
- {
- if (!isAlphabetMode())
- {
- if (mLastSelectedSymbolsKeyboard >= SYMBOLS_KEYBOARD_LAST_CYCLE_INDEX)
- mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
- else
- mLastSelectedSymbolsKeyboard++;
- }
- else
- mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
- }
- else
- {
- mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
- }
- mAlphabetMode = false;
- AnyKeyboard current = getSymbolsKeyboard(mLastSelectedSymbolsKeyboard, getKeyboardMode(currentEditorInfo));
- return setKeyboard(currentEditorInfo, current);
+ AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
+ if (locked != null)
+ return locked;
+
+ if (AnyApplication.getConfig().getCycleOverAllSymbols())
+ {
+ if (!isAlphabetMode())
+ {
+ if (mLastSelectedSymbolsKeyboard >= SYMBOLS_KEYBOARD_LAST_CYCLE_INDEX)
+ mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
+ else
+ mLastSelectedSymbolsKeyboard++;
+ }
+ else
+ mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
+ }
+ else
+ {
+ mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
+ }
+ mAlphabetMode = false;
+ AnyKeyboard current = getSymbolsKeyboard(mLastSelectedSymbolsKeyboard,
+ getKeyboardMode(currentEditorInfo));
+ return setKeyboard(currentEditorInfo, current);
+ }
+
+ private AnyKeyboard setKeyboard(EditorInfo currentEditorInfo, AnyKeyboard current) {
+ if (mContext == null)
+ return current;
+ /*
+ * //all keyboards start as un-shifted, except the second symbols //due
+ * to lazy loading the keyboards, the symbols may not be created yet.
+ * current.setShifted(current ==
+ * mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_ALT_INDEX]);
+ */
+ current.setImeOptions(mContext.getResources(), currentEditorInfo);
+ // current.setTextVariation(mContext.getResources(),
+ // currentEditorInfo.inputType);
+
+ // now show
+ mContext.setKeyboardStuffBeforeSetToView(current);
+ if (mInputView != null)
+ mInputView.setKeyboard(current);
+
+ return current;
+ }
+
+ public AnyKeyboard getCurrentKeyboard()
+ {
+ if (isAlphabetMode())
+ return getAlphabetKeyboard(mLastSelectedKeyboard, mLastKeyboardMode);
+ else
+ return getSymbolsKeyboard(mLastSelectedSymbolsKeyboard, mLastKeyboardMode);
}
- private AnyKeyboard setKeyboard(EditorInfo currentEditorInfo, AnyKeyboard current) {
- if(mContext == null) return current;
- /*
- //all keyboards start as un-shifted, except the second symbols
- //due to lazy loading the keyboards, the symbols may not be created yet.
- current.setShifted(current == mSymbolsKeyboardsArray[SYMBOLS_KEYBOARD_ALT_INDEX]);
- */
- current.setImeOptions(mContext.getResources(), currentEditorInfo);
- //current.setTextVariation(mContext.getResources(), currentEditorInfo.inputType);
-
- //now show
- mContext.setKeyboardStuffBeforeSetToView(current);
- if (mInputView != null)
- mInputView.setKeyboard(current);
-
- return current;
- }
-
- public AnyKeyboard getCurrentKeyboard()
- {
- if (isAlphabetMode())
- return getAlphabetKeyboard(mLastSelectedKeyboard, mLastKeyboardMode);
- else
- return getSymbolsKeyboard(mLastSelectedSymbolsKeyboard, mLastKeyboardMode);
- }
-
- private synchronized AnyKeyboard getAlphabetKeyboard(int index, int mode) {
- AnyKeyboard[] keyboards = getAlphabetKeyboards();
- if (index >= keyboards.length)
- index = 0;
-
- AnyKeyboard keyboard = keyboards[index];
-
- if (keyboard == null || keyboard.getKeyboardMode() != mode)
- {
- KeyboardAddOnAndBuilder creator = mAlphabetKeyboardsCreators[index];
- if (AnyApplication.DEBUG)Log.d(TAG, "About to create keyboard: "+creator.getId());
- keyboards[index] = creator.createKeyboard(mContext, mode);
- keyboard = keyboards[index];
- if (mInputView != null)
- {
- keyboard.loadKeyboard(mInputView.getThemedKeyboardDimens());
- mContext.setKeyboardStuffBeforeSetToView(keyboard);
- mInputView.setKeyboard(keyboard);
- }
- else
- {
- keyboard.loadKeyboard(mKeyboardDimens);
- }
- }
- return keyboard;
- }
-
-// private boolean requiredToRecreateKeyboard(AnyKeyboard keyboard) {
-// return (keyboard != null) && (keyboard.getMinWidth() != mContext.getMaxWidth())
-// //this is some tolerance, since sometimes the keyboard ends a bit after
-// //the end of the screen (see issue 305)
-// && (Math.abs(keyboard.getMinWidth() - mContext.getMaxWidth()) > 5);
-// }
-
- public AnyKeyboard nextKeyboard(EditorInfo currentEditorInfo, NextKeyboardType type)
- {
- AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
- if (locked != null)
- return locked;
-
- switch(type)
- {
- case Alphabet:
- case AlphabetSupportsPhysical:
- return nextAlphabetKeyboard(currentEditorInfo, (type == NextKeyboardType.AlphabetSupportsPhysical));
- case Symbols:
- return nextSymbolsKeyboard(currentEditorInfo);
- case Any:
- case PreviousAny://currently we'll support only one direction
- //cycling through the alphabet, and at the end, going to the symbols.
- final int alphabetKeyboardsCount = getAlphabetKeyboards().length;
- if (mAlphabetMode)
- {
- if (mLastSelectedKeyboard >= (alphabetKeyboardsCount-1))
- {//we are at the last alphabet keyboard
- mLastSelectedKeyboard = 0;
- return nextSymbolsKeyboard(currentEditorInfo);
- }
- else
- {
- return nextAlphabetKeyboard(currentEditorInfo, false);
- }
- }
- else
- {
- if (mLastSelectedSymbolsKeyboard >= SYMBOLS_KEYBOARD_LAST_CYCLE_INDEX)
- {//we are at the last symbols keyboard
- mLastSelectedSymbolsKeyboard = 0;
- return nextAlphabetKeyboard(currentEditorInfo, false);
+ private synchronized AnyKeyboard getAlphabetKeyboard(int index, int mode) {
+ AnyKeyboard[] keyboards = getAlphabetKeyboards();
+ if (index >= keyboards.length)
+ index = 0;
+
+ AnyKeyboard keyboard = keyboards[index];
+
+ if (keyboard == null || keyboard.getKeyboardMode() != mode)
+ {
+ KeyboardAddOnAndBuilder creator = mAlphabetKeyboardsCreators[index];
+ if (AnyApplication.DEBUG)
+ Log.d(TAG, "About to create keyboard: " + creator.getId());
+ keyboards[index] = creator.createKeyboard(mContext, mode);
+ keyboard = keyboards[index];
+ if (mInputView != null)
+ {
+ keyboard.loadKeyboard(mInputView.getThemedKeyboardDimens());
+ mContext.setKeyboardStuffBeforeSetToView(keyboard);
+ mInputView.setKeyboard(keyboard);
+ }
+ else
+ {
+ keyboard.loadKeyboard(mKeyboardDimens);
+ }
+ }
+ return keyboard;
+ }
+
+ // private boolean requiredToRecreateKeyboard(AnyKeyboard keyboard) {
+ // return (keyboard != null) && (keyboard.getMinWidth() !=
+ // mContext.getMaxWidth())
+ // //this is some tolerance, since sometimes the keyboard ends a bit after
+ // //the end of the screen (see issue 305)
+ // && (Math.abs(keyboard.getMinWidth() - mContext.getMaxWidth()) > 5);
+ // }
+
+ public AnyKeyboard nextKeyboard(EditorInfo currentEditorInfo, NextKeyboardType type)
+ {
+ AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
+ if (locked != null)
+ return locked;
+
+ switch (type)
+ {
+ case Alphabet:
+ case AlphabetSupportsPhysical:
+ return nextAlphabetKeyboard(currentEditorInfo,
+ (type == NextKeyboardType.AlphabetSupportsPhysical));
+ case Symbols:
+ return nextSymbolsKeyboard(currentEditorInfo);
+ case Any:
+ case PreviousAny:// currently we'll support only one direction
+ // cycling through the alphabet, and at the end, going to the
+ // symbols.
+ final int alphabetKeyboardsCount = getAlphabetKeyboards().length;
+ if (mAlphabetMode)
+ {
+ if (mLastSelectedKeyboard >= (alphabetKeyboardsCount - 1))
+ {// we are at the last alphabet keyboard
+ mLastSelectedKeyboard = 0;
+ return nextSymbolsKeyboard(currentEditorInfo);
+ }
+ else
+ {
+ return nextAlphabetKeyboard(currentEditorInfo, false);
+ }
+ }
+ else
+ {
+ if (mLastSelectedSymbolsKeyboard >= SYMBOLS_KEYBOARD_LAST_CYCLE_INDEX)
+ {// we are at the last symbols keyboard
+ mLastSelectedSymbolsKeyboard = 0;
+ return nextAlphabetKeyboard(currentEditorInfo, false);
}
else
{
return nextSymbolsKeyboard(currentEditorInfo);
}
- }
- case AnyInsideMode:
- if (mAlphabetMode)
- {
- //re-calling this function,but with Alphabet
- return nextKeyboard(currentEditorInfo, NextKeyboardType.Alphabet);
- }
- else
- {
- //re-calling this function,but with Symbols
- return nextKeyboard(currentEditorInfo, NextKeyboardType.Symbols);
- }
- case OtherMode:
- if (mAlphabetMode)
- {
- //re-calling this function,but with Symbols
- return nextKeyboard(currentEditorInfo, NextKeyboardType.Symbols);
- }
- else
- {
- //re-calling this function,but with Alphabet
- return nextKeyboard(currentEditorInfo, NextKeyboardType.Alphabet);
- }
- default:
- return nextAlphabetKeyboard(currentEditorInfo, false);
- }
- }
-
- public AnyKeyboard nextAlterKeyboard(EditorInfo currentEditorInfo)
- {
- AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
- if (locked != null)
- return locked;
-
- AnyKeyboard currentKeyboard = getCurrentKeyboard();
-
- if (!isAlphabetMode())
- {
- if (mLastSelectedSymbolsKeyboard == SYMBOLS_KEYBOARD_REGULAR_INDEX)
- {
- mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_ALT_INDEX;
- }
- else// if (mLastSelectedSymbolsKeyboard == SYMBOLS_KEYBOARD_ALT_INDEX)
- {
- mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
- }
- //else return currentKeyboard;
-
- currentKeyboard = getSymbolsKeyboard(mLastSelectedSymbolsKeyboard, getKeyboardMode(currentEditorInfo));
-
- return setKeyboard(currentEditorInfo, currentKeyboard);
- }
-
- return currentKeyboard;
- }
-
- public boolean isCurrentKeyboardPhysical()
- {
- AnyKeyboard current = getCurrentKeyboard();
- return (current != null) && (current instanceof HardKeyboardTranslator);
- }
-
- public void onLowMemory() {
- if (mSymbolsKeyboardsArray != null)
- {
- for(int index=0; index<mSymbolsKeyboardsArray.length; index++)
- {
- AnyKeyboard current = mSymbolsKeyboardsArray[index];
- if ((current != null) && (isAlphabetMode() || (mLastSelectedSymbolsKeyboard!=index)))
- {
- Log.i(TAG, "KeyboardSwitcher::onLowMemory: Removing "+current.getKeyboardName());
- mSymbolsKeyboardsArray[index] = null;
- }
- }
- //in alphabet we are a bit cautious..
- //just removing the not selected keyboards.
- for(int index=0; index<mAlphabetKeyboards.length; index++)
- {
- AnyKeyboard current = mAlphabetKeyboards[index];
- if ((current != null) && (mLastSelectedKeyboard!=index))
- {
- Log.i(TAG, "KeyboardSwitcher::onLowMemory: Removing "+current.getKeyboardName());
- mAlphabetKeyboards[index] = null;
- }
- }
- }
- }
-
- public boolean isRightToLeftMode() {
- return mRightToLeftMode;
- }
-
- public boolean isKeyRequireSwitchToAlphabet(int primaryCode) {
- if (primaryCode == KeyCodes.ENTER || primaryCode == KeyCodes.SPACE)
- {
- return (!isAlphabetMode()) && AnyApplication.getConfig().getSwitchKeyboardOnSpace();
- }
- else
- return false;
- }
-
- public boolean shouldPopupForLanguageSwitch() {
- //only in alphabet mode,
- //and only if there are more than two keyboards
- //and only if user requested to have a popup
- return mAlphabetMode &&
- (getAlphabetKeyboards().length > 2) &&
- AnyApplication.getConfig().shouldShowPopupForLanguageSwitch();
- }
-
-// void toggleSymbols() {
-// Keyboard current = mInputView.getKeyboard();
-// if (mSymbolsKeyboard == null) {
-// mSymbolsKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols);
-// }
-// if (mSymbolsShiftedKeyboard == null) {
-// mSymbolsShiftedKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols_shift);
-// }
-// if (current == mSymbolsKeyboard || current == mSymbolsShiftedKeyboard) {
-// setKeyboardMode(mMode, mImeOptions); // Could be qwerty, alpha, url, email or im
-// return;
-// } else if (current == mPhoneKeyboard) {
-// current = mPhoneSymbolsKeyboard;
-// mPhoneSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-// } else if (current == mPhoneSymbolsKeyboard) {
-// current = mPhoneKeyboard;
-// mPhoneKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-// } else {
-// current = mSymbolsKeyboard;
-// mSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-// }
-// mInputView.setKeyboard(current);
-// if (current == mSymbolsKeyboard) {
-// current.setShifted(false);
-// }
-// }
+ }
+ case AnyInsideMode:
+ if (mAlphabetMode)
+ {
+ // re-calling this function,but with Alphabet
+ return nextKeyboard(currentEditorInfo, NextKeyboardType.Alphabet);
+ }
+ else
+ {
+ // re-calling this function,but with Symbols
+ return nextKeyboard(currentEditorInfo, NextKeyboardType.Symbols);
+ }
+ case OtherMode:
+ if (mAlphabetMode)
+ {
+ // re-calling this function,but with Symbols
+ return nextKeyboard(currentEditorInfo, NextKeyboardType.Symbols);
+ }
+ else
+ {
+ // re-calling this function,but with Alphabet
+ return nextKeyboard(currentEditorInfo, NextKeyboardType.Alphabet);
+ }
+ default:
+ return nextAlphabetKeyboard(currentEditorInfo, false);
+ }
+ }
+
+ public AnyKeyboard nextAlterKeyboard(EditorInfo currentEditorInfo)
+ {
+ AnyKeyboard locked = getLockedKeyboard(currentEditorInfo);
+ if (locked != null)
+ return locked;
+
+ AnyKeyboard currentKeyboard = getCurrentKeyboard();
+
+ if (!isAlphabetMode())
+ {
+ if (mLastSelectedSymbolsKeyboard == SYMBOLS_KEYBOARD_REGULAR_INDEX)
+ {
+ mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_ALT_INDEX;
+ }
+ else// if (mLastSelectedSymbolsKeyboard ==
+ // SYMBOLS_KEYBOARD_ALT_INDEX)
+ {
+ mLastSelectedSymbolsKeyboard = SYMBOLS_KEYBOARD_REGULAR_INDEX;
+ }
+ // else return currentKeyboard;
+
+ currentKeyboard = getSymbolsKeyboard(mLastSelectedSymbolsKeyboard,
+ getKeyboardMode(currentEditorInfo));
+
+ return setKeyboard(currentEditorInfo, currentKeyboard);
+ }
+
+ return currentKeyboard;
+ }
+
+ public boolean isCurrentKeyboardPhysical()
+ {
+ AnyKeyboard current = getCurrentKeyboard();
+ return (current != null) && (current instanceof HardKeyboardTranslator);
+ }
+
+ public void onLowMemory() {
+ if (mSymbolsKeyboardsArray != null)
+ {
+ for (int index = 0; index < mSymbolsKeyboardsArray.length; index++)
+ {
+ AnyKeyboard current = mSymbolsKeyboardsArray[index];
+ if ((current != null)
+ && (isAlphabetMode() || (mLastSelectedSymbolsKeyboard != index)))
+ {
+ Log.i(TAG,
+ "KeyboardSwitcher::onLowMemory: Removing " + current.getKeyboardName());
+ mSymbolsKeyboardsArray[index] = null;
+ }
+ }
+ // in alphabet we are a bit cautious..
+ // just removing the not selected keyboards.
+ for (int index = 0; index < mAlphabetKeyboards.length; index++)
+ {
+ AnyKeyboard current = mAlphabetKeyboards[index];
+ if ((current != null) && (mLastSelectedKeyboard != index))
+ {
+ Log.i(TAG,
+ "KeyboardSwitcher::onLowMemory: Removing " + current.getKeyboardName());
+ mAlphabetKeyboards[index] = null;
+ }
+ }
+ }
+ }
+
+ public boolean isRightToLeftMode() {
+ return mRightToLeftMode;
+ }
+
+ public boolean isKeyRequireSwitchToAlphabet(int primaryCode) {
+ if (primaryCode == KeyCodes.ENTER || primaryCode == KeyCodes.SPACE)
+ {
+ return (!isAlphabetMode()) && AnyApplication.getConfig().getSwitchKeyboardOnSpace();
+ }
+ else
+ return false;
+ }
+
+ public boolean shouldPopupForLanguageSwitch() {
+ // only in alphabet mode,
+ // and only if there are more than two keyboards
+ // and only if user requested to have a popup
+ return mAlphabetMode &&
+ (getAlphabetKeyboards().length > 2) &&
+ AnyApplication.getConfig().shouldShowPopupForLanguageSwitch();
+ }
+
+ // void toggleSymbols() {
+ // Keyboard current = mInputView.getKeyboard();
+ // if (mSymbolsKeyboard == null) {
+ // mSymbolsKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols);
+ // }
+ // if (mSymbolsShiftedKeyboard == null) {
+ // mSymbolsShiftedKeyboard = new LatinKeyboard(mContext,
+ // R.xml.kbd_symbols_shift);
+ // }
+ // if (current == mSymbolsKeyboard || current == mSymbolsShiftedKeyboard) {
+ // setKeyboardMode(mMode, mImeOptions); // Could be qwerty, alpha, url,
+ // email or im
+ // return;
+ // } else if (current == mPhoneKeyboard) {
+ // current = mPhoneSymbolsKeyboard;
+ // mPhoneSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode,
+ // mImeOptions);
+ // } else if (current == mPhoneSymbolsKeyboard) {
+ // current = mPhoneKeyboard;
+ // mPhoneKeyboard.setImeOptions(mContext.getResources(), mMode,
+ // mImeOptions);
+ // } else {
+ // current = mSymbolsKeyboard;
+ // mSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode,
+ // mImeOptions);
+ // }
+ // mInputView.setKeyboard(current);
+ // if (current == mSymbolsKeyboard) {
+ // current.setShifted(false);
+ // }
+ // }
}
View
4 src/com/anysoftkeyboard/utils/ModifierKeyState.java
@@ -31,6 +31,10 @@ public void onRelease() {
mState = RELEASING;
}
+ public void reset() {
+ mState = RELEASING;
+ }
+
public void onOtherKeyPressed() {
if (mState == PRESSING)
mState = MOMENTARY;
View
2 src/com/menny/android/anysoftkeyboard/AnyApplication.java
@@ -20,7 +20,7 @@
public class AnyApplication extends Application implements OnSharedPreferenceChangeListener {
- public static final boolean DEBUG = true;
+ public static final boolean DEBUG = false;
//public static final boolean BLEEDING_EDGE = true;
private static final String TAG = "ASK_APP";

0 comments on commit 5619a34

Please sign in to comment.