Don't apply autotext to the wrong input language.

Since autotext is tied to the display language, if the input lang
is different from the display lang, don't apply autotext.

Bug: 2417495
main
Amith Yamasani 2010-02-18 11:09:43 -08:00
parent db84e0318c
commit fac5dcb5fe
2 changed files with 31 additions and 21 deletions

View File

@ -318,12 +318,14 @@ public class LatinIME extends InputMethodService
Resources orig = getResources();
Configuration conf = orig.getConfiguration();
Locale saveLocale = conf.locale;
boolean different = !conf.locale.getCountry().equalsIgnoreCase(locale.substring(0, 2));
conf.locale = new Locale(locale);
orig.updateConfiguration(conf, orig.getDisplayMetrics());
if (mSuggest != null) {
mSuggest.close();
}
mSuggest = new Suggest(this, R.raw.main);
mSuggest.setAutoTextEnabled(!different);
if (mUserDictionary != null) mUserDictionary.close();
mUserDictionary = new UserDictionary(this);
if (mContactsDictionary == null) {

View File

@ -51,6 +51,8 @@ public class Suggest implements Dictionary.WordCallback {
private int mPrefMaxSuggestions = 12;
private boolean mAutoTextEnabled;
private int[] mPriorities = new int[mPrefMaxSuggestions];
// Handle predictive correction for only the first 1280 characters for performance reasons
// If we support scripts that need latin characters beyond that, we should probably use some
@ -76,6 +78,10 @@ public class Suggest implements Dictionary.WordCallback {
}
}
public void setAutoTextEnabled(boolean enabled) {
mAutoTextEnabled = enabled;
}
public int getCorrectionMode() {
return mCorrectionMode;
}
@ -208,6 +214,7 @@ public class Suggest implements Dictionary.WordCallback {
}
}
if (mAutoTextEnabled) {
int i = 0;
int max = 6;
// Don't autotext the suggestions from the dictionaries
@ -231,6 +238,7 @@ public class Suggest implements Dictionary.WordCallback {
}
i++;
}
}
removeDupes();
return mSuggestions;