am 5a1473ba: Merge "Implicitly/Explicitly subtypes bug." into honeycomb

* commit '5a1473bae0467693445b31454e4f736763276de8':
  Implicitly/Explicitly subtypes bug.
This commit is contained in:
satok
2011-01-16 23:50:06 -08:00
committed by Android Git Automerger
2 changed files with 8 additions and 7 deletions

View File

@@ -242,6 +242,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O
// Turn on the selected radio button at startup
private void updateRadioButtonsByImiAndSubtype(
InputMethodInfo imi, InputMethodSubtype subtype) {
if (imi == null) return;
if (DEBUG) {
Log.d(TAG, "Update radio buttons by " + imi.getId() + ", " + subtype);
}
@@ -253,7 +254,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O
return;
}
Pair<InputMethodInfo, InputMethodSubtype> imiAndSubtype =
mRadioViewAndImiMap.get(radioView);
mRadioViewAndImiMap.get(radioView);
if (imiAndSubtype.first.getId().equals(imi.getId())
&& (imiAndSubtype.second == null || imiAndSubtype.second.equals(subtype))) {
subtypeRadioButton.setChecked(true);

View File

@@ -2540,16 +2540,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
ArrayList<String>>> enabledImes, String imeId, String subtypeHashCode) {
for (Pair<String, ArrayList<String>> enabledIme: enabledImes) {
if (enabledIme.first.equals(imeId)) {
final ArrayList<String> enabledSubtypes = enabledIme.second;
if (enabledSubtypes.size() == 0) {
// If there are no enabled subtypes, applicable subtypes are enabled
// implicitly.
final ArrayList<String> explicitlyEnabledSubtypes = enabledIme.second;
if (explicitlyEnabledSubtypes.size() == 0) {
// If there are no explicitly enabled subtypes, applicable subtypes are
// enabled implicitly.
InputMethodInfo ime = mMethodMap.get(imeId);
// If IME is enabled and no subtypes are enabled, applicable subtypes
// are enabled implicitly, so needs to treat them to be enabled.
if (ime != null && ime.getSubtypes().size() > 0) {
List<InputMethodSubtype> implicitlySelectedSubtypes =
getApplicableSubtypesLocked(mRes, ime.getSubtypes());
getApplicableSubtypesLocked(mRes, ime.getSubtypes());
if (implicitlySelectedSubtypes != null) {
final int N = implicitlySelectedSubtypes.size();
for (int i = 0; i < N; ++i) {
@@ -2561,7 +2561,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
} else {
for (String s: enabledSubtypes) {
for (String s: explicitlyEnabledSubtypes) {
if (s.equals(subtypeHashCode)) {
// If both imeId and subtypeId are enabled, return subtypeId.
return s;