Use KeyboardSet for unit test

Change-Id: I6a08e04628bac0222140e5b1b108f6bcb39859a2
main
Tadashi G. Takaoka 2012-01-13 17:51:21 +09:00
parent ca132ce8e2
commit 4cabb04971
5 changed files with 25 additions and 19 deletions

View File

@ -21,7 +21,7 @@ import android.text.TextUtils;
import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.KeyDetector;
import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.keyboard.KeyboardSet;
import java.io.File; import java.io.File;
import java.util.Locale; import java.util.Locale;
@ -32,24 +32,20 @@ public class SuggestHelper {
protected final Keyboard mKeyboard; protected final Keyboard mKeyboard;
private final KeyDetector mKeyDetector; private final KeyDetector mKeyDetector;
public static final int ALPHABET_KEYBOARD = com.android.inputmethod.latin.R.xml.kbd_qwerty; public SuggestHelper(Context context, int dictionaryId, KeyboardSet keyboardSet) {
public SuggestHelper(Context context, int dictionaryId, KeyboardId keyboardId) {
// Use null as the locale for Suggest so as to force it to use the internal dictionary // Use null as the locale for Suggest so as to force it to use the internal dictionary
// (and not try to find a dictionary provider for a specified locale) // (and not try to find a dictionary provider for a specified locale)
mSuggest = new Suggest(context, dictionaryId, null); mSuggest = new Suggest(context, dictionaryId, null);
mKeyboard = new Keyboard.Builder<Keyboard.Params>(context, new Keyboard.Params()) mKeyboard = keyboardSet.getMainKeyboard();
.load(ALPHABET_KEYBOARD, keyboardId).build();
mKeyDetector = new KeyDetector(0); mKeyDetector = new KeyDetector(0);
init(); init();
} }
protected SuggestHelper(final Context context, final File dictionaryPath, protected SuggestHelper(final Context context, final File dictionaryPath,
final long startOffset, final long length, final KeyboardId keyboardId, final long startOffset, final long length, final KeyboardSet keyboardSet,
final Locale locale) { final Locale locale) {
mSuggest = new Suggest(context, dictionaryPath, startOffset, length, null, locale); mSuggest = new Suggest(context, dictionaryPath, startOffset, length, null, locale);
mKeyboard = new Keyboard.Builder<Keyboard.Params>(context, new Keyboard.Params()) mKeyboard = keyboardSet.getMainKeyboard();
.load(ALPHABET_KEYBOARD, keyboardId).build();
mKeyDetector = new KeyDetector(0); mKeyDetector = new KeyDetector(0);
init(); init();
} }

View File

@ -33,7 +33,7 @@ public class SuggestTests extends SuggestTestsBase {
final Locale locale = Locale.US; final Locale locale = Locale.US;
mHelper = new SuggestHelper( mHelper = new SuggestHelper(
getContext(), mTestPackageFile, dict.getStartOffset(), dict.getLength(), getContext(), mTestPackageFile, dict.getStartOffset(), dict.getLength(),
createKeyboardId(locale, Configuration.ORIENTATION_PORTRAIT), locale); createKeyboardSet(locale, Configuration.ORIENTATION_PORTRAIT), locale);
mHelper.setCorrectionMode(Suggest.CORRECTION_FULL_BIGRAM); mHelper.setCorrectionMode(Suggest.CORRECTION_FULL_BIGRAM);
} }

View File

@ -22,8 +22,9 @@ import android.test.AndroidTestCase;
import android.text.InputType; import android.text.InputType;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.keyboard.KeyboardSet;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
@ -38,7 +39,12 @@ public class SuggestTestsBase extends AndroidTestCase {
mTestPackageFile = new File(getTestContext().getApplicationInfo().sourceDir); mTestPackageFile = new File(getTestContext().getApplicationInfo().sourceDir);
} }
protected KeyboardId createKeyboardId(Locale locale, int orientation) { protected KeyboardSet createKeyboardSet(Locale locale, int orientation) {
return createKeyboardSet(locale, orientation, false);
}
protected KeyboardSet createKeyboardSet(Locale locale, int orientation,
boolean touchPositionCorrectionEnabled) {
final DisplayMetrics dm = getContext().getResources().getDisplayMetrics(); final DisplayMetrics dm = getContext().getResources().getDisplayMetrics();
final int width; final int width;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) { if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
@ -50,8 +56,12 @@ public class SuggestTestsBase extends AndroidTestCase {
+ "orientation=" + orientation); + "orientation=" + orientation);
return null; return null;
} }
return new KeyboardId(KeyboardId.ELEMENT_ALPHABET, locale, orientation, width, final EditorInfo editorInfo = new EditorInfo();
KeyboardId.MODE_TEXT, InputType.TYPE_CLASS_TEXT, 0, false, false, false, false); editorInfo.inputType = InputType.TYPE_CLASS_TEXT;
final KeyboardSet.Builder builder = new KeyboardSet.Builder(getContext(), editorInfo);
builder.setScreenGeometry(orientation, width);
builder.setSubtype(locale, true, touchPositionCorrectionEnabled);
return builder.build();
} }
protected InputStream openTestRawResource(int resIdInTest) { protected InputStream openTestRawResource(int resIdInTest) {

View File

@ -16,11 +16,11 @@
package com.android.inputmethod.latin; package com.android.inputmethod.latin;
import com.android.inputmethod.keyboard.KeyboardId;
import android.content.Context; import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import com.android.inputmethod.keyboard.KeyboardSet;
import java.io.File; import java.io.File;
import java.util.Locale; import java.util.Locale;
import java.util.StringTokenizer; import java.util.StringTokenizer;
@ -31,8 +31,8 @@ public class UserBigramSuggestHelper extends SuggestHelper {
public UserBigramSuggestHelper(final Context context, final File dictionaryPath, public UserBigramSuggestHelper(final Context context, final File dictionaryPath,
final long startOffset, final long length, final int userBigramMax, final long startOffset, final long length, final int userBigramMax,
final int userBigramDelete, final KeyboardId keyboardId, final Locale locale) { final int userBigramDelete, final KeyboardSet keyboardSet, final Locale locale) {
super(context, dictionaryPath, startOffset, length, keyboardId, locale); super(context, dictionaryPath, startOffset, length, keyboardSet, locale);
mContext = context; mContext = context;
mUserBigram = new UserBigramDictionary(context, null, locale.toString(), mUserBigram = new UserBigramDictionary(context, null, locale.toString(),
Suggest.DIC_USER); Suggest.DIC_USER);

View File

@ -37,7 +37,7 @@ public class UserBigramSuggestTests extends SuggestTestsBase {
mHelper = new UserBigramSuggestHelper( mHelper = new UserBigramSuggestHelper(
getContext(), mTestPackageFile, dict.getStartOffset(), dict.getLength(), getContext(), mTestPackageFile, dict.getStartOffset(), dict.getLength(),
MAX_DATA, DELETE_DATA, MAX_DATA, DELETE_DATA,
createKeyboardId(locale, Configuration.ORIENTATION_PORTRAIT), locale); createKeyboardSet(locale, Configuration.ORIENTATION_PORTRAIT), locale);
} }
/************************** Tests ************************/ /************************** Tests ************************/