Merge "Import revised translations"
diff --git a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
index b1ddb21..b5a1101 100644
--- a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
@@ -23,6 +23,8 @@
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceActivity;
@@ -35,7 +37,7 @@
private String mSelectedLanguages;
private ArrayList<Loc> mAvailableLanguages = new ArrayList<Loc>();
private static final String[] BLACKLIST_LANGUAGES = {
- "ko", "ja", "zh"
+ "ko", "ja", "zh", "el"
};
private static class Loc implements Comparable {
@@ -75,6 +77,9 @@
pref.setTitle(LanguageSwitcher.toTitleCase(locale.getDisplayName(locale)));
boolean checked = isLocaleIn(locale, languageList);
pref.setChecked(checked);
+ if (hasDictionary(locale)) {
+ pref.setSummary(R.string.has_dictionary);
+ }
parent.addPreference(pref);
}
}
@@ -92,6 +97,25 @@
return false;
}
+ private boolean hasDictionary(Locale locale) {
+ Resources res = getResources();
+ Configuration conf = res.getConfiguration();
+ Locale saveLocale = conf.locale;
+ boolean haveDictionary = false;
+ conf.locale = locale;
+ res.updateConfiguration(conf, res.getDisplayMetrics());
+ BinaryDictionary bd = new BinaryDictionary(this, R.raw.main);
+ // Is the dictionary larger than a placeholder? Arbitrarily chose a lower limit of
+ // 4000-5000 words, whereas the LARGE_DICTIONARY is about 20000+ words.
+ if (bd.getSize() > Suggest.LARGE_DICTIONARY_THRESHOLD / 4) {
+ haveDictionary = true;
+ }
+ bd.close();
+ conf.locale = saveLocale;
+ res.updateConfiguration(conf, res.getDisplayMetrics());
+ return haveDictionary;
+ }
+
private String get5Code(Locale locale) {
String country = locale.getCountry();
return locale.getLanguage()
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 70d49f5..dc6be43 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1468,7 +1468,7 @@
mHandler.removeMessages(MSG_UPDATE_SUGGESTIONS);
updateSuggestions();
}
- if (mBestWord != null) {
+ if (mBestWord != null && mBestWord.length() > 0) {
TextEntryState.acceptedDefault(mWord.getTypedWord(), mBestWord);
mJustAccepted = true;
pickSuggestion(mBestWord);
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
index 2686a93..7ce1e4e 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
@@ -19,6 +19,7 @@
import java.util.List;
import android.content.Context;
+import android.content.res.Configuration;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.inputmethodservice.Keyboard;
@@ -178,6 +179,10 @@
Keyboard keyboard;
mExtension.setKeyboard(keyboard = new LatinKeyboard(getContext(),
((LatinKeyboard) getKeyboard()).getExtension()));
+ if (getContext().getResources().getConfiguration().orientation
+ == Configuration.ORIENTATION_LANDSCAPE) {
+ mExtension.setPreviewEnabled(false);
+ }
mExtensionPopup.setContentView(mExtension);
mExtensionPopup.setWidth(getWidth());
mExtensionPopup.setHeight(keyboard.getHeight());
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 712b9cf..b44717d 100755
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -39,7 +39,7 @@
public static final int CORRECTION_BASIC = 1;
public static final int CORRECTION_FULL = 2;
- private static final int LARGE_DICTIONARY_THRESHOLD = 200 * 1000;
+ static final int LARGE_DICTIONARY_THRESHOLD = 200 * 1000;
private BinaryDictionary mMainDict;