am fefda4e6: Refine InputMethodInfo API

* commit 'fefda4e6df5c2f8e2b2730dfe5b88644a1caaa6b':
  Refine InputMethodInfo API
main
Ken Wakasa 2011-01-20 08:14:22 -08:00 committed by Android Git Automerger
commit 6a12b693ee
2 changed files with 9 additions and 22 deletions

View File

@ -288,9 +288,9 @@ public class SubtypeSwitcher {
if (subtype != null) { if (subtype != null) {
return pm.getDrawable(imiPackageName, subtype.getIconResId(), return pm.getDrawable(imiPackageName, subtype.getIconResId(),
imi.getServiceInfo().applicationInfo); imi.getServiceInfo().applicationInfo);
} else if (imi.getSubtypes().size() > 0 && imi.getSubtypes().get(0) != null) { } else if (imi.getSubtypeCount() > 0 && imi.getSubtypeAt(0) != null) {
return pm.getDrawable(imiPackageName, return pm.getDrawable(imiPackageName,
imi.getSubtypes().get(0).getIconResId(), imi.getSubtypeAt(0).getIconResId(),
imi.getServiceInfo().applicationInfo); imi.getServiceInfo().applicationInfo);
} else { } else {
try { try {

View File

@ -33,19 +33,6 @@ public class SubtypeLocaleTests extends AndroidTestCase {
private Resources mRes; private Resources mRes;
private List<InputMethodSubtype> mKeyboardSubtypes; private List<InputMethodSubtype> mKeyboardSubtypes;
public interface Predicator<T> {
public boolean evaluate(T object);
}
private static <T> List<T> filter(List<T> source, Predicator<? super T> predicator) {
final ArrayList<T> filtered = new ArrayList<T>();
for (final T element : source) {
if (predicator.evaluate(element))
filtered.add(element);
}
return filtered;
}
@Override @Override
protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
@ -59,13 +46,13 @@ public class SubtypeLocaleTests extends AndroidTestCase {
Context.INPUT_METHOD_SERVICE); Context.INPUT_METHOD_SERVICE);
for (final InputMethodInfo imi : imm.getInputMethodList()) { for (final InputMethodInfo imi : imm.getInputMethodList()) {
if (imi.getPackageName().equals(PACKAGE)) { if (imi.getPackageName().equals(PACKAGE)) {
mKeyboardSubtypes = filter(imi.getSubtypes(), final int subtypeCount = imi.getSubtypeCount();
new Predicator<InputMethodSubtype>() { for (int i = 0; i < subtypeCount; ++i) {
@Override InputMethodSubtype subtype = imi.getSubtypeAt(i);
public boolean evaluate(InputMethodSubtype ims) { if (subtype.getMode().equals("keyboard")) {
return ims.getMode().equals("keyboard"); mKeyboardSubtypes.add(subtype);
} }
}); }
break; break;
} }
} }