Fix messages in tests
They are not failing because of this right now, but future tests would fail without this. Concretely, since the Handler for any given main thread is a singleton managed by the framework, the messages won't be removed automatically. In particular, messages posted with a delay have a large destructive potential, because they will go through before the startInputViewInternal method is called, because it's called with a message too (in turn, this is because of working around framework bugs). Bug: 11142685 Change-Id: If81a168efcfd7d93806ddc4ea432d438c45a3e1d
This commit is contained in:
parent
fd15afae46
commit
dfc5aade2d
2 changed files with 10 additions and 0 deletions
|
@ -233,6 +233,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
private static final int MSG_REOPEN_DICTIONARIES = 5;
|
||||
private static final int MSG_ON_END_BATCH_INPUT = 6;
|
||||
private static final int MSG_RESET_CACHES = 7;
|
||||
// Update this when adding new messages
|
||||
private static final int MSG_LAST = MSG_RESET_CACHES;
|
||||
|
||||
private static final int ARG1_NOT_GESTURE_INPUT = 0;
|
||||
private static final int ARG1_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT = 1;
|
||||
|
@ -344,6 +346,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
removeMessages(MSG_UPDATE_SHIFT_STATE);
|
||||
}
|
||||
|
||||
@UsedForTesting
|
||||
public void removeAllMessages() {
|
||||
for (int i = 0; i <= MSG_LAST; ++i) {
|
||||
removeMessages(i);
|
||||
}
|
||||
}
|
||||
|
||||
public void showGesturePreviewAndSuggestionStrip(final SuggestedWords suggestedWords,
|
||||
final boolean dismissGestureFloatingPreviewText) {
|
||||
removeMessages(MSG_SHOW_GESTURE_PREVIEW_AND_SUGGESTION_STRIP);
|
||||
|
|
|
@ -193,6 +193,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
|||
|
||||
@Override
|
||||
protected void tearDown() {
|
||||
mLatinIME.mHandler.removeAllMessages();
|
||||
setStringPreference(PREF_AUTO_CORRECTION_THRESHOLD, mPreviousAutoCorrectSetting,
|
||||
DEFAULT_AUTO_CORRECTION_THRESHOLD);
|
||||
setDebugMode(mPreviousDebugSetting);
|
||||
|
|
Loading…
Reference in a new issue