Fix a settings dependency in tests
Bug: 11142685 Change-Id: I1db3488cee153358fa391817b3c03cad16eefdb7main
parent
a6fef7dcae
commit
2d8a2aa337
|
@ -45,6 +45,10 @@ import java.util.Locale;
|
||||||
public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
|
|
||||||
private static final String PREF_DEBUG_MODE = "debug_mode";
|
private static final String PREF_DEBUG_MODE = "debug_mode";
|
||||||
|
private static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
|
||||||
|
// Default value for auto-correction threshold. This is the string representation of the
|
||||||
|
// index in the resources array of auto-correction threshold settings.
|
||||||
|
private static final String DEFAULT_AUTO_CORRECTION_THRESHOLD = "1";
|
||||||
|
|
||||||
// The message that sets the underline is posted with a 500 ms delay
|
// The message that sets the underline is posted with a 500 ms delay
|
||||||
protected static final int DELAY_TO_WAIT_FOR_UNDERLINE = 500;
|
protected static final int DELAY_TO_WAIT_FOR_UNDERLINE = 500;
|
||||||
|
@ -56,6 +60,8 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
protected MyEditText mEditText;
|
protected MyEditText mEditText;
|
||||||
protected View mInputView;
|
protected View mInputView;
|
||||||
protected InputConnection mInputConnection;
|
protected InputConnection mInputConnection;
|
||||||
|
private boolean mPreviousDebugSetting;
|
||||||
|
private String mPreviousAutoCorrectSetting;
|
||||||
|
|
||||||
// A helper class to ease span tests
|
// A helper class to ease span tests
|
||||||
public static class SpanGetter {
|
public static class SpanGetter {
|
||||||
|
@ -137,7 +143,17 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
final boolean previousSetting = prefs.getBoolean(key, defaultValue);
|
final boolean previousSetting = prefs.getBoolean(key, defaultValue);
|
||||||
final SharedPreferences.Editor editor = prefs.edit();
|
final SharedPreferences.Editor editor = prefs.edit();
|
||||||
editor.putBoolean(key, value);
|
editor.putBoolean(key, value);
|
||||||
editor.commit();
|
editor.apply();
|
||||||
|
return previousSetting;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String setStringPreference(final String key, final String value,
|
||||||
|
final String defaultValue) {
|
||||||
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mLatinIME);
|
||||||
|
final String previousSetting = prefs.getString(key, defaultValue);
|
||||||
|
final SharedPreferences.Editor editor = prefs.edit();
|
||||||
|
editor.putString(key, value);
|
||||||
|
editor.apply();
|
||||||
return previousSetting;
|
return previousSetting;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,9 +172,10 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
mEditText.setEnabled(true);
|
mEditText.setEnabled(true);
|
||||||
setupService();
|
setupService();
|
||||||
mLatinIME = getService();
|
mLatinIME = getService();
|
||||||
final boolean previousDebugSetting = setDebugMode(true);
|
mPreviousDebugSetting = setDebugMode(true);
|
||||||
|
mPreviousAutoCorrectSetting = setStringPreference(PREF_AUTO_CORRECTION_THRESHOLD,
|
||||||
|
DEFAULT_AUTO_CORRECTION_THRESHOLD, DEFAULT_AUTO_CORRECTION_THRESHOLD);
|
||||||
mLatinIME.onCreate();
|
mLatinIME.onCreate();
|
||||||
setDebugMode(previousDebugSetting);
|
|
||||||
final EditorInfo ei = new EditorInfo();
|
final EditorInfo ei = new EditorInfo();
|
||||||
final InputConnection ic = mEditText.onCreateInputConnection(ei);
|
final InputConnection ic = mEditText.onCreateInputConnection(ei);
|
||||||
final LayoutInflater inflater =
|
final LayoutInflater inflater =
|
||||||
|
@ -174,6 +191,13 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
changeLanguage("en_US");
|
changeLanguage("en_US");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void tearDown() {
|
||||||
|
setStringPreference(PREF_AUTO_CORRECTION_THRESHOLD, mPreviousAutoCorrectSetting,
|
||||||
|
DEFAULT_AUTO_CORRECTION_THRESHOLD);
|
||||||
|
setDebugMode(mPreviousDebugSetting);
|
||||||
|
}
|
||||||
|
|
||||||
// We need to run the messages added to the handler from LatinIME. The only way to do
|
// We need to run the messages added to the handler from LatinIME. The only way to do
|
||||||
// that is to call Looper#loop() on the right looper, so we're going to get the looper
|
// that is to call Looper#loop() on the right looper, so we're going to get the looper
|
||||||
// object and call #loop() here. The messages in the handler actually run on the UI
|
// object and call #loop() here. The messages in the handler actually run on the UI
|
||||||
|
@ -255,7 +279,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
||||||
+ SubtypeLocaleUtils.QWERTY
|
+ SubtypeLocaleUtils.QWERTY
|
||||||
+ "," + Constants.Subtype.ExtraValue.ASCII_CAPABLE
|
+ "," + Constants.Subtype.ExtraValue.ASCII_CAPABLE
|
||||||
+ "," + Constants.Subtype.ExtraValue.ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE
|
+ "," + Constants.Subtype.ExtraValue.ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE
|
||||||
+ Constants.Subtype.ExtraValue.EMOJI_CAPABLE,
|
+ "," + Constants.Subtype.ExtraValue.EMOJI_CAPABLE,
|
||||||
false /* isAuxiliary */, false /* overridesImplicitlyEnabledSubtype */);
|
false /* isAuxiliary */, false /* overridesImplicitlyEnabledSubtype */);
|
||||||
SubtypeSwitcher.getInstance().forceSubtype(subtype);
|
SubtypeSwitcher.getInstance().forceSubtype(subtype);
|
||||||
mLatinIME.loadKeyboard();
|
mLatinIME.loadKeyboard();
|
||||||
|
|
Loading…
Reference in New Issue