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 @@
+
+
+
"মাঝারি আকারের ছোট সাদা চৌকো"
"মাঝারি আকারের ছোট কালো চৌকো"
"রশ্মি সহ কালো সূর্য"
- "মেঘ"
+ "ক্লাউড"
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 @@
"Trenutno koristite račun %1$s"
"Uredu"
"Otkaži"
- "Odjavi me"
+ "Odjava"
"Odaberite račun koji ćete koristiti"
"engleski (UK)"
"engleski (SAD)"
@@ -140,7 +140,7 @@
"Emoji za fizičku tastaturu"
"Tipka Alt na fizičkoj tastaturi aktivira paletu za emoji"
"Zadano"
- "Dobrodošli u aplikaciju %s"
+ "Dobro došli u aplikaciju %s"
"s kucanjem pokretima"
"Započnite"
"Sljedeći korak"
@@ -153,7 +153,7 @@
"Zatim odaberite aplikaciju \"%s\" kao vaš aktivni način unosa teksta."
"Zamijeni načine unosa"
"Odlično, sve je spremno!"
- "Sada možete kucati u svim omiljenim aplikacijama pomoću aplikacije %s."
+ "Sada možete upisivati u svim omiljenim aplikacijama pomoću aplikacije %s."
"Konfiguriraj dodatne jezike"
"Završeno"
"Prikaži ikonu aplikacije"
diff --git a/java/res/values-eu/strings-emoji-descriptions.xml b/java/res/values-eu/strings-emoji-descriptions.xml
index 1aab9b82f..9af7e6429 100644
--- a/java/res/values-eu/strings-emoji-descriptions.xml
+++ b/java/res/values-eu/strings-emoji-descriptions.xml
@@ -464,7 +464,7 @@
"Txanpon-makina"
"Billarra"
"Dadoa"
- "Boloak"
+ "Bola-jokoa"
"Lore-joko japoniarren kartak"
"Musika-nota"
"Hainbat musika-nota"
diff --git a/java/res/values-hi/strings-appname.xml b/java/res/values-hi/strings-appname.xml
index f2c19edb0..926639425 100644
--- a/java/res/values-hi/strings-appname.xml
+++ b/java/res/values-hi/strings-appname.xml
@@ -21,7 +21,7 @@
"Android कीबोर्ड (AOSP)"
- "Android स्पेलिंग जांचने वाली सेवा (AOSP)"
+ "Android स्पेलिंग जाँचने वाली सेवा (AOSP)"
"Android कीबोर्ड सेटिंग (AOSP)"
- "Android स्पेलिंग जांचने वाली सेवा के लिए सेटिंग (AOSP)"
+ "Android स्पेलिंग जाँचने वाली सेवा के लिए सेटिंग (AOSP)"
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index 6cbeffcdd..3e7142513 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -22,7 +22,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
"इनपुट विकल्प"
"संपर्कों को सर्च करें"
- "स्पेलिंग जांचने वाली सेवा आपकी संपर्क सूची के संपर्कों इस्तेमाल करता है"
+ "स्पेलिंग जाँचने वाली सेवा आपकी संपर्क सूची के संपर्कों इस्तेमाल करता है"
"बटन दबाने पर कंपन (वाइब्रेशन) करे"
"बटन दबाने पर आवाज़"
"कुंजी दबाने पर पॉपअप दिखाएं"
@@ -57,7 +57,7 @@
"सिस्टम डिफ़ॉल्ट"
"संपर्क नाम सुझाएं"
"सुझाव और सुधार के लिए संपर्क से नामों का उपयोग करें"
- "वैयक्तिकृत सुझाव"
+ "मनमुताबिक सुझाव"
"%s को बेहतर बनाएं"
"दोहरे स्पेस वाला पीरियड"
"स्पेसबार पर डबल टैप करने से पीरियड शामिल हो जाता है जिसके बाद एक रिक्ति होती है"
@@ -86,7 +86,7 @@
"वाक्यांश जेस्चर"
"स्पेस कुंजी तक ग्लाइड करके जेस्चर के दौरान रिक्तियां इनपुट करें"
"ध्वनि संचालन बटन"
- "बोलकर फ़ोन को निर्देश देने का तरीका सक्षम नहीं है. भाषा और इनपुट सेटिंग जांचें."
+ "बोलकर फ़ोन को निर्देश देने का तरीका सक्षम नहीं है. भाषा और इनपुट सेटिंग जाँचें."
"इनपुट का तरीका कॉन्फ़िगर करें"
"भाषाएं"
"सहायता और फ़ीडबैक"
diff --git a/java/res/values-in/strings-emoji-descriptions.xml b/java/res/values-in/strings-emoji-descriptions.xml
index 0f51355bc..1e87027c0 100644
--- a/java/res/values-in/strings-emoji-descriptions.xml
+++ b/java/res/values-in/strings-emoji-descriptions.xml
@@ -856,7 +856,7 @@
"Bel"
"Bel dengan tanda coret"
"Bookmark"
- "Simbol tautan"
+ "Simbol link"
"Tombol radio"
"Tulisan BACK dengan panah ke kiri di atas"
"Tulisan END dengan panah ke kiri di atas"
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index f6b390623..22a3c8089 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -50,7 +50,7 @@
"Tombol beralih bahasa juga mencakup metode masukan lain"
"Tombol pengalih bahasa"
"Tampilkan saat beberapa bahasa masukan diaktifkan"
- "Tundaan singkir munculan kunci"
+ "Jeda tutup pop-up utama"
"Tanpa penundaan"
"Default"
"%s md"
diff --git a/java/res/values-mr/strings-talkback-descriptions.xml b/java/res/values-mr/strings-talkback-descriptions.xml
index dc0523279..ef406e56c 100644
--- a/java/res/values-mr/strings-talkback-descriptions.xml
+++ b/java/res/values-mr/strings-talkback-descriptions.xml
@@ -20,9 +20,9 @@
- "मोठ्याने बोललेल्या संकेतशब्द की ऐकण्यासाठी हेडसेट प्लग इन करा."
+ "मोठ्याने बोललेल्या पासवर्ड की ऐकण्यासाठी हेडसेट प्लग इन करा."
"वर्तमान मजकूर %s आहे"
- "मजकूर प्रविष्ट केला नाही"
+ "मजकूर एंटर केला नाही"
"%1$s %2$s ला %3$s मध्ये सुधारणा करते"
"%1$s स्वयं-सुधारणा करते"
"कोणतीही सूचना नाही"
@@ -55,7 +55,7 @@
"फोन मोड"
"फोन चिन्हे मोड"
"कीबोर्ड लपविलेला आहे"
- "%s कीबोर्ड दर्शवित आहे"
+ "%s कीबोर्ड दाखवत आहे"
"तारीख"
"तारीख आणि वेळ"
"ईमेल"
diff --git a/java/res/values-mr/strings.xml b/java/res/values-mr/strings.xml
index 8cd3c7693..b158b128f 100644
--- a/java/res/values-mr/strings.xml
+++ b/java/res/values-mr/strings.xml
@@ -97,7 +97,7 @@
"कीबोर्ड थीम"
"खाती स्विच करा"
"कोणतीही खाती निवडली नाहीत"
- "सध्या %1$s चा वापर करीत आहे"
+ "सध्या %1$s चा वापर करत आहे"
"ठीक आहे"
"रद्द करा"
"साइन आउट करा"
@@ -176,7 +176,7 @@
"रीफ्रेश करा"
"अंतिम अपडेट"
"अद्यतनांसाठी तपासत आहे"
- "लोड करीत आहे..."
+ "लोड करत आहे..."
"मु्ख्य शब्दकोश"
"रद्द करा"
"सेटिंग्ज"
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 8e50e4e6e..a3268d5dd 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -91,8 +91,8 @@
"Lugha"
"Usaidizi na maoni"
"Lugha"
- "Gonga tena ili uhifadhi"
- "Gonga hapa ili uhifadhi"
+ "Gusa tena ili uhifadhi"
+ "Gusa hapa ili uhifadhi"
"Kamusi inapatikana"
"Maandhari ya kibodi"
"Badili akaunti"
@@ -204,7 +204,7 @@
"Badilisha neno"
"Hariri"
"Futa"
- "Huna maneno yoyote katika kamusi ya mtumiaji. Gonga kitufe cha Ongeza (+) ili kuongeza neno."
+ "Huna maneno yoyote katika kamusi ya mtumiaji. Gusa kitufe cha Ongeza (+) ili kuongeza neno."
"Ya lugha zote"
"Lugha zingine..."
"Futa"
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
@@ -123,6 +123,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
static final long DELAY_WAIT_FOR_DICTIONARY_LOAD_MILLIS = TimeUnit.SECONDS.toMillis(2);
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);