Filter Spacer before keyboard layout test

Bug: 13017434
Change-Id: I836d2f79a839ee77325535c08d7a59bb02b83c28
main
Tadashi G. Takaoka 2014-03-07 19:01:25 +09:00
parent 0dc53b0699
commit 8c6b34e51d
1 changed files with 15 additions and 4 deletions

View File

@ -24,7 +24,6 @@ import com.android.inputmethod.latin.utils.CollectionUtils;
import com.android.inputmethod.latin.utils.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
@ -44,15 +43,27 @@ public final class ActualKeyboardBuilder extends AbstractKeyboardBuilder<Key> {
}
};
private static ArrayList<Key> filterOutSpacerAndSortKeys(final Key[] keys) {
final ArrayList<Key> filteredKeys = CollectionUtils.newArrayList();
for (final Key key : keys) {
if (key.isSpacer()) {
continue;
}
filteredKeys.add(key);
}
Collections.sort(filteredKeys, ROW_COLUMN_COMPARATOR);
return filteredKeys;
}
/**
* Create the keyboard that consists of the array of rows of the actual keyboard's keys.
* @param keys the array of keys of the actual keyboard.
* @return the actual keyboard grouped with rows.
*/
public static Key[][] buildKeyboard(final Key[] keys) {
// Sort keys from top-left to bottom-right order to prepare to create rows.
final ArrayList<Key> sortedKeys = CollectionUtils.newArrayList(Arrays.asList(keys));
Collections.sort(sortedKeys, ROW_COLUMN_COMPARATOR);
// Filter out spacer and sort keys from top-left to bottom-right order to prepare to
// create rows.
final ArrayList<Key> sortedKeys = filterOutSpacerAndSortKeys(keys);
// Grouping keys into rows.
final ArrayList<ArrayList<Key>> rows = CollectionUtils.newArrayList();