aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/AndroidManifest.xml17
-rw-r--r--java/res/values-bs/strings.xml6
-rw-r--r--java/res/values-ca/strings-action-keys.xml2
-rw-r--r--java/res/values-ca/strings.xml4
-rw-r--r--java/res/values-iw/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-pt-rPT/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-zh-rHK/strings-emoji-descriptions.xml2
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java37
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);