diff options
-rw-r--r-- | java/AndroidManifest.xml | 17 | ||||
-rw-r--r-- | java/res/values-bs/strings.xml | 6 | ||||
-rw-r--r-- | java/res/values-ca/strings-action-keys.xml | 2 | ||||
-rw-r--r-- | java/res/values-ca/strings.xml | 4 | ||||
-rw-r--r-- | java/res/values-iw/strings-emoji-descriptions.xml | 2 | ||||
-rw-r--r-- | java/res/values-pt-rPT/strings-emoji-descriptions.xml | 2 | ||||
-rw-r--r-- | java/res/values-zh-rHK/strings-emoji-descriptions.xml | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 37 |
8 files changed, 63 insertions, 9 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml index 9bb16c7ff..dedece55c 100644 --- a/java/AndroidManifest.xml +++ b/java/AndroidManifest.xml @@ -35,6 +35,23 @@ <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> + <!-- A signature-protected permission to ask AOSP Keyboard to close the software keyboard. + To use this, add the following line into calling application's AndroidManifest.xml + <pre> + {@code + <uses-permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/> + } + </pre> + then call {@link android.content.Context#sendBroadcast(Intent)} as follows: + <pre> + {@code + sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT") + .setPackage("com.android.inputmethod.latin")); + } + </pre> --> + <permission android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT" + android:protectionLevel="signature" /> + <application android:label="@string/english_ime_name" android:icon="@drawable/ic_launcher_keyboard" android:supportsRtl="true" diff --git a/java/res/values-bs/strings.xml b/java/res/values-bs/strings.xml index 8d47af91d..50395f0ab 100644 --- a/java/res/values-bs/strings.xml +++ b/java/res/values-bs/strings.xml @@ -100,7 +100,7 @@ <string name="account_selected" msgid="2846876462199625974">"Trenutno koristite račun <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string> <string name="account_select_ok" msgid="9141195141763227797">"Uredu"</string> <string name="account_select_cancel" msgid="5181012062618504340">"Otkaži"</string> - <string name="account_select_sign_out" msgid="3299651159390187933">"Odjavi me"</string> + <string name="account_select_sign_out" msgid="3299651159390187933">"Odjava"</string> <string name="account_select_title" msgid="6279711684772922649">"Odaberite račun koji ćete koristiti"</string> <string name="subtype_en_GB" msgid="88170601942311355">"engleski (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"engleski (SAD)"</string> @@ -140,7 +140,7 @@ <string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"Emoji za fizičku tastaturu"</string> <string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Tipka Alt na fizičkoj tastaturi aktivira paletu za emoji"</string> <string name="button_default" msgid="3988017840431881491">"Zadano"</string> - <string name="setup_welcome_title" msgid="6112821709832031715">"Dobrodošli u aplikaciju <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="setup_welcome_title" msgid="6112821709832031715">"Dobro došli u aplikaciju <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="setup_welcome_additional_description" msgid="8150252008545768953">"s kucanjem pokretima"</string> <string name="setup_start_action" msgid="8936036460897347708">"Započnite"</string> <string name="setup_next_action" msgid="371821437915144603">"Sljedeći korak"</string> @@ -153,7 +153,7 @@ <string name="setup_step2_instruction" msgid="9141481964870023336">"Zatim odaberite aplikaciju \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" kao vaš aktivni način unosa teksta."</string> <string name="setup_step2_action" msgid="1660330307159824337">"Zamijeni načine unosa"</string> <string name="setup_step3_title" msgid="3154757183631490281">"Odlično, sve je spremno!"</string> - <string name="setup_step3_instruction" msgid="8025981829605426000">"Sada možete kucati u svim omiljenim aplikacijama pomoću aplikacije <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string> + <string name="setup_step3_instruction" msgid="8025981829605426000">"Sada možete upisivati u svim omiljenim aplikacijama pomoću aplikacije <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string> <string name="setup_step3_action" msgid="600879797256942259">"Konfiguriraj dodatne jezike"</string> <string name="setup_finish_action" msgid="276559243409465389">"Završeno"</string> <string name="show_setup_wizard_icon" msgid="5008028590593710830">"Prikaži ikonu aplikacije"</string> diff --git a/java/res/values-ca/strings-action-keys.xml b/java/res/values-ca/strings-action-keys.xml index cd8b9e7f2..59f72cc5a 100644 --- a/java/res/values-ca/strings-action-keys.xml +++ b/java/res/values-ca/strings-action-keys.xml @@ -20,7 +20,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="label_go_key" msgid="4033615332628671065">"Vés"</string> + <string name="label_go_key" msgid="4033615332628671065">"Ves"</string> <string name="label_next_key" msgid="5586407279258592635">"Seg."</string> <string name="label_previous_key" msgid="1421141755779895275">"Ant."</string> <string name="label_done_key" msgid="7564866296502630852">"Fet"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 4d75ffa94..77ec50eb7 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -86,7 +86,7 @@ <string name="gesture_space_aware" msgid="2078291600664682496">"Gest de frase"</string> <string name="gesture_space_aware_summary" msgid="4371385818348528538">"Per afegir espais als gestos, apropa el dit a la tecla d\'espai"</string> <string name="voice_input" msgid="3583258583521397548">"Tecla d\'entrada de veu"</string> - <string name="voice_input_disabled_summary" msgid="6323489602945135165">"No hi ha cap mètode d\'entrada de veu activat. Comprova la configuració d\'Idioma i introducció de text."</string> + <string name="voice_input_disabled_summary" msgid="6323489602945135165">"No hi ha cap mètode d\'introducció de veu activat. Comprova la configuració d\'Idioma i introducció de text."</string> <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'introducció"</string> <string name="language_selection_title" msgid="3666971864764478269">"Idiomes"</string> <string name="help_and_feedback" msgid="5328219371839879161">"Ajuda i suggeriments"</string> @@ -147,7 +147,7 @@ <string name="setup_steps_title" msgid="6400373034871816182">"S\'està configurant <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="setup_step1_title" msgid="3147967630253462315">"Activa <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="setup_step1_instruction" msgid="4295448056733329661">"Marca <xliff:g id="APPLICATION_NAME">%s</xliff:g> a la configuració d\'Idioma i introducció de text. D\'aquesta manera, es podrà executar al dispositiu."</string> - <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"L\'aplicació <xliff:g id="APPLICATION_NAME">%s</xliff:g> ja està activada a la configuració d\'Idioma i introducció de text. Vés al pas següent."</string> + <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"L\'aplicació <xliff:g id="APPLICATION_NAME">%s</xliff:g> ja està activada a la configuració d\'Idioma i introducció de text. Ves al pas següent."</string> <string name="setup_step1_action" msgid="4366513534999901728">"Activa a la configuració"</string> <string name="setup_step2_title" msgid="6860725447906690594">"Canvi a <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="setup_step2_instruction" msgid="9141481964870023336">"A continuació, selecciona \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" com a mètode d\'introducció de text actiu."</string> diff --git a/java/res/values-iw/strings-emoji-descriptions.xml b/java/res/values-iw/strings-emoji-descriptions.xml index ff468bd04..0817b5931 100644 --- a/java/res/values-iw/strings-emoji-descriptions.xml +++ b/java/res/values-iw/strings-emoji-descriptions.xml @@ -545,7 +545,7 @@ <string name="spoken_emoji_1F3EB" msgid="7010966528205150525">"בית ספר"</string> <string name="spoken_emoji_1F3EC" msgid="4845978861878295154">"חנות כלבו"</string> <string name="spoken_emoji_1F3ED" msgid="3980316226665215370">"מפעל"</string> - <string name="spoken_emoji_1F3EE" msgid="1253964276770550248">"בר יפני"</string> + <string name="spoken_emoji_1F3EE" msgid="1253964276770550248">"פאב יפני"</string> <string name="spoken_emoji_1F3EF" msgid="1128975573507389883">"טירה יפנית"</string> <string name="spoken_emoji_1F3F0" msgid="1544632297502291578">"טירה אירופאית"</string> <!-- no translation found for spoken_emoji_1F3F3 (6471977885401554862) --> diff --git a/java/res/values-pt-rPT/strings-emoji-descriptions.xml b/java/res/values-pt-rPT/strings-emoji-descriptions.xml index 1096aac8d..6bc3dce58 100644 --- a/java/res/values-pt-rPT/strings-emoji-descriptions.xml +++ b/java/res/values-pt-rPT/strings-emoji-descriptions.xml @@ -25,7 +25,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Símbolo de direitos de autor"</string> + <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Símbolo de Direitos de Autor"</string> <string name="spoken_emoji_00AE" msgid="7708335454134589027">"Símbolo de marca registada"</string> <string name="spoken_emoji_203C" msgid="153340916701508663">"Duplo ponto de exclamação"</string> <string name="spoken_emoji_2049" msgid="4877256448299555371">"Pontos de exclamação e de interrogação"</string> diff --git a/java/res/values-zh-rHK/strings-emoji-descriptions.xml b/java/res/values-zh-rHK/strings-emoji-descriptions.xml index 61f519abd..a743e38c8 100644 --- a/java/res/values-zh-rHK/strings-emoji-descriptions.xml +++ b/java/res/values-zh-rHK/strings-emoji-descriptions.xml @@ -1138,7 +1138,7 @@ <string name="spoken_emoji_1F6AB" msgid="5313946262888343544">"禁止進入標誌"</string> <string name="spoken_emoji_1F6AC" msgid="6946858177965948288">"吸煙區符號"</string> <string name="spoken_emoji_1F6AD" msgid="6320088669185507241">"禁煙符號"</string> - <string name="spoken_emoji_1F6AE" msgid="1062469925352817189">"正確丟棄垃圾標誌"</string> + <string name="spoken_emoji_1F6AE" msgid="1062469925352817189">"正確捨棄垃圾標誌"</string> <string name="spoken_emoji_1F6AF" msgid="2286668056123642208">"請勿亂丟垃圾標誌"</string> <string name="spoken_emoji_1F6B0" msgid="179424763882990952">"飲用水標誌"</string> <string name="spoken_emoji_1F6B1" msgid="5585212805429161877">"非飲用水標誌"</string> diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 1764ded8c..00ed52cad 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -124,6 +124,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen static final long DELAY_DEALLOCATE_MEMORY_MILLIS = TimeUnit.SECONDS.toMillis(10); /** + * A broadcast intent action to hide the software keyboard. + */ + static final String ACTION_HIDE_SOFT_INPUT = + "com.android.inputmethod.latin.HIDE_SOFT_INPUT"; + + /** + * A custom permission for external apps to send {@link #ACTION_HIDE_SOFT_INPUT}. + */ + static final String PERMISSION_HIDE_SOFT_INPUT = + "com.android.inputmethod.latin.HIDE_SOFT_INPUT"; + + /** * The name of the scheme used by the Package Manager to warn of a new package installation, * replacement or removal. */ @@ -160,6 +172,25 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private final BroadcastReceiver mDictionaryDumpBroadcastReceiver = new DictionaryDumpBroadcastReceiver(this); + final static class HideSoftInputReceiver extends BroadcastReceiver { + private final InputMethodService mIms; + + public HideSoftInputReceiver(InputMethodService ims) { + mIms = ims; + } + + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + if (ACTION_HIDE_SOFT_INPUT.equals(action)) { + mIms.requestHideSelf(0 /* flags */); + } else { + Log.e(TAG, "Unexpected intent " + intent); + } + } + } + final HideSoftInputReceiver mHideSoftInputReceiver = new HideSoftInputReceiver(this); + private AlertDialog mOptionsDialog; private final boolean mIsHardwareAcceleratedDrawingEnabled; @@ -595,6 +626,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen dictDumpFilter.addAction(DictionaryDumpBroadcastReceiver.DICTIONARY_DUMP_INTENT_ACTION); registerReceiver(mDictionaryDumpBroadcastReceiver, dictDumpFilter); + final IntentFilter hideSoftInputFilter = new IntentFilter(); + hideSoftInputFilter.addAction(ACTION_HIDE_SOFT_INPUT); + registerReceiver(mHideSoftInputReceiver, hideSoftInputFilter, PERMISSION_HIDE_SOFT_INPUT, + null /* scheduler */); + StatsUtils.onCreate(mSettings.getCurrent(), mRichImm); } @@ -699,6 +735,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void onDestroy() { mDictionaryFacilitator.closeDictionaries(); mSettings.onDestroy(); + unregisterReceiver(mHideSoftInputReceiver); unregisterReceiver(mRingerModeChangeReceiver); unregisterReceiver(mDictionaryPackInstallReceiver); unregisterReceiver(mDictionaryDumpBroadcastReceiver); |