Tab key preforms next action when EditorInfo.IME_ACTION_NEXT is specified

Bug: 6435484
Change-Id: Iccca7d1b770c547efae0b5e5931cebd910083d40
main
Tadashi G. Takaoka 2012-05-08 13:10:57 +09:00
parent 22d196cb17
commit 0b831ba2aa
2 changed files with 8 additions and 0 deletions

View File

@ -29,6 +29,7 @@ public class InputAttributes {
final public boolean mInputTypeNoAutoCorrect;
final public boolean mIsSettingsSuggestionStripOn;
final public boolean mApplicationSpecifiedCompletionOn;
final public int mEditorAction;
public InputAttributes(final EditorInfo editorInfo, final boolean isFullscreenMode) {
final int inputType = null != editorInfo ? editorInfo.inputType : 0;
@ -91,6 +92,8 @@ public class InputAttributes {
mApplicationSpecifiedCompletionOn = flagAutoComplete && isFullscreenMode;
}
mEditorAction = (editorInfo == null) ? EditorInfo.IME_ACTION_UNSPECIFIED
: editorInfo.imeOptions & EditorInfo.IME_MASK_ACTION;
}
@SuppressWarnings("unused")

View File

@ -1257,6 +1257,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
handleLanguageSwitchKey();
break;
default:
if (primaryCode == Keyboard.CODE_TAB
&& mInputAttributes.mEditorAction == EditorInfo.IME_ACTION_NEXT) {
performEditorAction(EditorInfo.IME_ACTION_NEXT);
break;
}
mSpaceState = SPACE_STATE_NONE;
if (mSettingsValues.isWordSeparator(primaryCode)) {
didAutoCorrect = handleSeparator(primaryCode, x, y, spaceState);