am 50265509
: Merge "Always clear hashcodes when input method settings is changed" into honeycomb
* commit '5026550964ab62ff116958739321493fd8ff4f88': Always clear hashcodes when input method settings is changed
This commit is contained in:
@@ -177,12 +177,20 @@ public class InputMethodAndSubtypeUtil {
|
||||
enabledIMEAndSubtypesMap.put(imiId, new HashSet<String>());
|
||||
}
|
||||
HashSet<String> subtypesSet = enabledIMEAndSubtypesMap.get(imiId);
|
||||
|
||||
boolean subtypeCleared = false;
|
||||
for (InputMethodSubtype subtype : imi.getSubtypes()) {
|
||||
final String subtypeHashCodeStr = String.valueOf(subtype.hashCode());
|
||||
CheckBoxPreference subtypePref = (CheckBoxPreference) context.findPreference(
|
||||
imiId + subtypeHashCodeStr);
|
||||
// In the Configure input method screen which does not have subtype preferences.
|
||||
if (subtypePref == null) continue;
|
||||
// Once subtype checkbox is found, subtypeSet needs to be cleared.
|
||||
// Because of system change, hashCode value could have been changed.
|
||||
if (!subtypeCleared) {
|
||||
subtypesSet.clear();
|
||||
subtypeCleared = true;
|
||||
}
|
||||
if (subtypePref.isChecked()) {
|
||||
subtypesSet.add(subtypeHashCodeStr);
|
||||
if (isCurrentInputMethod) {
|
||||
|
Reference in New Issue
Block a user