mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
am fefda4e6
: Refine InputMethodInfo API
* commit 'fefda4e6df5c2f8e2b2730dfe5b88644a1caaa6b': Refine InputMethodInfo API
This commit is contained in:
commit
6a12b693ee
@ -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 {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user