Java Code Examples for android.view.inputmethod.EditorInfo#IME_ACTION_GO

The following examples show how to use android.view.inputmethod.EditorInfo#IME_ACTION_GO . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CtrlInputAction.java    From remotekeyboard with Apache License 2.0 6 votes vote down vote up
/**
 * Figure out how we are connected to the edittext and what it expects the
 * enter key to do.
 */
private void handleEnterKey(InputConnection con) {
	EditorInfo ei = myService.getCurrentInputEditorInfo();
	if (ei != null
			&& ((ei.imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
		int[] acts = { EditorInfo.IME_ACTION_DONE, EditorInfo.IME_ACTION_SEARCH,
				EditorInfo.IME_ACTION_GO, EditorInfo.IME_ACTION_NEXT };

		for (int i : acts) {
			if ((ei.imeOptions & i) == i) {
				con.performEditorAction(i);
				return;
			}
		}
	}
	typeKey(con, KeyEvent.KEYCODE_ENTER);
}
 
Example 2
Source File: EditorInfoCompatUtils.java    From Indic-Keyboard with Apache License 2.0 6 votes vote down vote up
public static String imeActionName(final int imeOptions) {
    final int actionId = imeOptions & EditorInfo.IME_MASK_ACTION;
    switch (actionId) {
    case EditorInfo.IME_ACTION_UNSPECIFIED:
        return "actionUnspecified";
    case EditorInfo.IME_ACTION_NONE:
        return "actionNone";
    case EditorInfo.IME_ACTION_GO:
        return "actionGo";
    case EditorInfo.IME_ACTION_SEARCH:
        return "actionSearch";
    case EditorInfo.IME_ACTION_SEND:
        return "actionSend";
    case EditorInfo.IME_ACTION_NEXT:
        return "actionNext";
    case EditorInfo.IME_ACTION_DONE:
        return "actionDone";
    case EditorInfo.IME_ACTION_PREVIOUS:
        return "actionPrevious";
    default:
        return "actionUnknown(" + actionId + ")";
    }
}
 
Example 3
Source File: EditorInfoCompatUtils.java    From LokiBoard-Android-Keylogger with Apache License 2.0 6 votes vote down vote up
public static String imeActionName(final int imeOptions) {
    final int actionId = imeOptions & EditorInfo.IME_MASK_ACTION;
    switch (actionId) {
    case EditorInfo.IME_ACTION_UNSPECIFIED:
        return "actionUnspecified";
    case EditorInfo.IME_ACTION_NONE:
        return "actionNone";
    case EditorInfo.IME_ACTION_GO:
        return "actionGo";
    case EditorInfo.IME_ACTION_SEARCH:
        return "actionSearch";
    case EditorInfo.IME_ACTION_SEND:
        return "actionSend";
    case EditorInfo.IME_ACTION_NEXT:
        return "actionNext";
    case EditorInfo.IME_ACTION_DONE:
        return "actionDone";
    case EditorInfo.IME_ACTION_PREVIOUS:
        return "actionPrevious";
    default:
        return "actionUnknown(" + actionId + ")";
    }
}
 
Example 4
Source File: ErrorEditText.java    From android-card-form with MIT License 6 votes vote down vote up
/**
 * Request focus for the next view.
 */
@SuppressWarnings("WrongConstant")
public View focusNextView() {
    if (getImeActionId() == EditorInfo.IME_ACTION_GO) {
        return null;
    }

    View next;
    try {
        next = focusSearch(View.FOCUS_FORWARD);
    } catch (IllegalArgumentException e) {
        // View.FOCUS_FORWARD results in a crash in some versions of Android
        // https://github.com/braintree/braintree_android/issues/20
        next = focusSearch(View.FOCUS_DOWN);
    }
    if (next != null && next.requestFocus()) {
        return next;
    }

    return null;
}
 
Example 5
Source File: KeyboardWidget.java    From FirefoxReality with Mozilla Public License 2.0 6 votes vote down vote up
private void handleDone() {
    if (mComposingDisplayText.length() > 0) {
        // Finish current composing
        mComposingText = "";
        postInputCommand(() -> {
            displayComposingText(StringUtils.removeSpaces(mComposingDisplayText), ComposingAction.FINISH);
            postUICommand(this::updateCandidates);
        });
        return;
    }
    final InputConnection connection = mInputConnection;
    final int action = mEditorInfo.imeOptions & EditorInfo.IME_MASK_ACTION;
    postInputCommand(() -> connection.performEditorAction(action));

    boolean hide = (action == EditorInfo.IME_ACTION_DONE) || (action == EditorInfo.IME_ACTION_GO) ||
            (action == EditorInfo.IME_ACTION_SEARCH) || (action == EditorInfo.IME_ACTION_SEND);

    if (hide && mFocusedView != null) {
        mFocusedView.clearFocus();
    }
}
 
Example 6
Source File: BaseKeyboard.java    From FirefoxReality with Mozilla Public License 2.0 6 votes vote down vote up
@Override
public String getEnterKeyText(int aIMEOptions, String aComposingText) {
    Locale locale = getLocale();
    switch (aIMEOptions & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
        case EditorInfo.IME_ACTION_GO:
            return StringUtils.getStringByLocale(mContext, R.string.keyboard_go_label, locale);
        case EditorInfo.IME_ACTION_NEXT:
            return StringUtils.getStringByLocale(mContext, R.string.keyboard_next_label, locale);
        case EditorInfo.IME_ACTION_SEARCH:
            return StringUtils.getStringByLocale(mContext, R.string.keyboard_search_label, locale);
        case EditorInfo.IME_ACTION_SEND:
            return StringUtils.getStringByLocale(mContext, R.string.keyboard_send_label, locale);
        default:
            return StringUtils.getStringByLocale(mContext, R.string.keyboard_enter_label, locale);
    }
}
 
Example 7
Source File: BrowserActivity.java    From Xndroid with GNU General Public License v3.0 6 votes vote down vote up
@Override
public boolean onEditorAction(TextView arg0, int actionId, KeyEvent arg2) {
    // hide the keyboard and search the web when the enter key
    // button is pressed
    if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE
        || actionId == EditorInfo.IME_ACTION_NEXT
        || actionId == EditorInfo.IME_ACTION_SEND
        || actionId == EditorInfo.IME_ACTION_SEARCH
        || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(mSearch.getWindowToken(), 0);
        searchTheWeb(mSearch.getText().toString());
        final LightningView currentView = mTabsManager.getCurrentTab();
        if (currentView != null) {
            currentView.requestFocus();
        }
        return true;
    }
    return false;
}
 
Example 8
Source File: EntryKeyboardView.java    From bither-android with Apache License 2.0 5 votes vote down vote up
private void configureDoneButton() {
    View currentFocusView = getRootView().findFocus();
    if (currentFocusView == null) {
        return;
    }
    if (currentFocusView instanceof EditText) {
        EditText currentFocusEt = (EditText) currentFocusView;
        if (!Utils.isEmpty(currentFocusEt.getImeActionLabel() == null ? null :
                currentFocusEt.getImeActionLabel().toString())) {
            setEnterKeyText(currentFocusEt.getImeActionLabel());
        } else if (currentFocusEt.getImeActionId() > 0) {
            switch (currentFocusEt.getImeActionId()) {
                case EditorInfo.IME_ACTION_DONE:
                case EditorInfo.IME_ACTION_GO:
                case EditorInfo.IME_ACTION_SEND:
                    setEnterKeyText(getResources().getString(R.string.password_keyboard_done));
                    break;
                case EditorInfo.IME_ACTION_NEXT:
                    setEnterKeyText(getResources().getString(R.string.password_keyboard_next));
                    break;
                default:
                    break;
            }
        } else {
            View nextFocusView = currentFocusEt.focusSearch(View.FOCUS_DOWN);
            if (nextFocusView != null) {
                setEnterKeyText(getResources().getString(R.string.password_keyboard_next));
            } else {
                setEnterKeyText(getResources().getString(R.string.password_keyboard_done));
            }
        }
        EntryKeyboard keyboard = (EntryKeyboard) getKeyboard();
        invalidateKey(keyboard.getEnterKeyIndex());
    }
}
 
Example 9
Source File: LoginActivity.java    From Tok-Android with GNU General Public License v3.0 5 votes vote down vote up
@Override
public void onKeyboardAction(TextView textView, int actionId) {
    if (actionId == EditorInfo.IME_ACTION_GO) {
        mLoginPresenter.login(mUsernameEt.getText().toString().trim(),
            mPwdEt.getText().toString().trim());
    }
}
 
Example 10
Source File: FingerprintAuthenticationDialogFragment.java    From android-FingerprintDialog with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_GO) {
        verifyPassword();
        return true;
    }
    return false;
}
 
Example 11
Source File: KeyCodeDescriptionMapper.java    From AOSP-Kayboard-7.1.2 with Apache License 2.0 5 votes vote down vote up
/**
 * Returns a context-sensitive description of the "Enter" action key.
 *
 * @param context The package's context.
 * @param keyboard The keyboard on which the key resides.
 * @param key The key to describe.
 * @return Returns a context-sensitive description of the "Enter" action key.
 */
private static String getDescriptionForActionKey(final Context context, final Keyboard keyboard,
        final Key key) {
    final KeyboardId keyboardId = keyboard.mId;
    final int actionId = keyboardId.imeAction();
    final int resId;

    // Always use the label, if available.
    if (!TextUtils.isEmpty(key.getLabel())) {
        return key.getLabel().trim();
    }

    // Otherwise, use the action ID.
    switch (actionId) {
    case EditorInfo.IME_ACTION_SEARCH:
        resId = R.string.spoken_description_search;
        break;
    case EditorInfo.IME_ACTION_GO:
        resId = R.string.label_go_key;
        break;
    case EditorInfo.IME_ACTION_SEND:
        resId = R.string.label_send_key;
        break;
    case EditorInfo.IME_ACTION_NEXT:
        resId = R.string.label_next_key;
        break;
    case EditorInfo.IME_ACTION_DONE:
        resId = R.string.label_done_key;
        break;
    case EditorInfo.IME_ACTION_PREVIOUS:
        resId = R.string.label_previous_key;
        break;
    default:
        resId = R.string.spoken_description_return;
    }
    return context.getString(resId);
}
 
Example 12
Source File: KeyCodeDescriptionMapper.java    From Indic-Keyboard with Apache License 2.0 5 votes vote down vote up
/**
 * Returns a context-sensitive description of the "Enter" action key.
 *
 * @param context The package's context.
 * @param keyboard The keyboard on which the key resides.
 * @param key The key to describe.
 * @return Returns a context-sensitive description of the "Enter" action key.
 */
private static String getDescriptionForActionKey(final Context context, final Keyboard keyboard,
        final Key key) {
    final KeyboardId keyboardId = keyboard.mId;
    final int actionId = keyboardId.imeAction();
    final int resId;

    // Always use the label, if available.
    if (!TextUtils.isEmpty(key.getLabel())) {
        return key.getLabel().trim();
    }

    // Otherwise, use the action ID.
    switch (actionId) {
    case EditorInfo.IME_ACTION_SEARCH:
        resId = R.string.spoken_description_search;
        break;
    case EditorInfo.IME_ACTION_GO:
        resId = R.string.label_go_key;
        break;
    case EditorInfo.IME_ACTION_SEND:
        resId = R.string.label_send_key;
        break;
    case EditorInfo.IME_ACTION_NEXT:
        resId = R.string.label_next_key;
        break;
    case EditorInfo.IME_ACTION_DONE:
        resId = R.string.label_done_key;
        break;
    case EditorInfo.IME_ACTION_PREVIOUS:
        resId = R.string.label_previous_key;
        break;
    default:
        resId = R.string.spoken_description_return;
    }
    return context.getString(resId);
}
 
Example 13
Source File: AbstractEditComponent.java    From ucar-weex-core with Apache License 2.0 5 votes vote down vote up
@WXComponentProp(name = Constants.Name.RETURN_KEY_TYPE)
public void setReturnKeyType(String type) {
  if (getHostView() == null) {
    return;
  }
  mReturnKeyType = type;
  switch (type) {
    case ReturnTypes.DEFAULT:
      mEditorAction = EditorInfo.IME_ACTION_UNSPECIFIED;
      break;
    case ReturnTypes.GO:
      mEditorAction = EditorInfo.IME_ACTION_GO;
      break;
    case ReturnTypes.NEXT:
      mEditorAction = EditorInfo.IME_ACTION_NEXT;
      break;
    case ReturnTypes.SEARCH:
      mEditorAction = EditorInfo.IME_ACTION_SEARCH;
      break;
    case ReturnTypes.SEND:
      mEditorAction = EditorInfo.IME_ACTION_SEND;
      break;
    case ReturnTypes.DONE:
      mEditorAction = EditorInfo.IME_ACTION_DONE;
      break;
    default:
      break;
  }

  //remove focus and hide keyboard first, the ImeOptions will take effect when show keyboard next time
  blur();
  getHostView().setImeOptions(mEditorAction);
}
 
Example 14
Source File: CardForm.java    From android-card-form with MIT License 5 votes vote down vote up
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_GO && mOnCardFormSubmitListener != null) {
        mOnCardFormSubmitListener.onCardFormSubmit();
        return true;
    }
    return false;
}
 
Example 15
Source File: DialerFragment.java    From CSipSimple with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean onEditorAction(TextView tv, int action, KeyEvent arg2) {
    if (action == EditorInfo.IME_ACTION_GO) {
        placeCall();
        return true;
    }
    return false;
}
 
Example 16
Source File: ReactEditText.java    From react-native-GPay with MIT License 5 votes vote down vote up
private void updateImeOptions() {
  // Default to IME_ACTION_DONE
  int returnKeyFlag = EditorInfo.IME_ACTION_DONE;
  if (mReturnKeyType != null) {
    switch (mReturnKeyType) {
      case "go":
        returnKeyFlag = EditorInfo.IME_ACTION_GO;
        break;
      case "next":
        returnKeyFlag = EditorInfo.IME_ACTION_NEXT;
        break;
      case "none":
        returnKeyFlag = EditorInfo.IME_ACTION_NONE;
        break;
      case "previous":
        returnKeyFlag = EditorInfo.IME_ACTION_PREVIOUS;
        break;
      case "search":
        returnKeyFlag = EditorInfo.IME_ACTION_SEARCH;
        break;
      case "send":
        returnKeyFlag = EditorInfo.IME_ACTION_SEND;
        break;
      case "done":
        returnKeyFlag = EditorInfo.IME_ACTION_DONE;
        break;
    }
  }

  if (mDisableFullscreen) {
    setImeOptions(returnKeyFlag | EditorInfo.IME_FLAG_NO_FULLSCREEN);
  } else {
    setImeOptions(returnKeyFlag);
  }
}
 
Example 17
Source File: KBoard.java    From kboard with GNU General Public License v3.0 5 votes vote down vote up
public void setImeOptions(Resources res, int options) {
    if (mEnterKey == null) {
        return;
    }

    switch (options&(EditorInfo.IME_MASK_ACTION|EditorInfo.IME_FLAG_NO_ENTER_ACTION)) {
        case EditorInfo.IME_ACTION_GO:
            mEnterKey.iconPreview = null;
            mEnterKey.icon = null;
            mEnterKey.label = res.getText(R.string.label_keyboard_key_go);
            break;
        case EditorInfo.IME_ACTION_NEXT:
            mEnterKey.iconPreview = null;
            mEnterKey.icon = null;
            mEnterKey.label = res.getText(R.string.label_keyboard_key_next);
            break;
        case EditorInfo.IME_ACTION_SEARCH:
            mEnterKey.icon = res.getDrawable(R.drawable.sym_keyboard_search);
            mEnterKey.label = null;
            break;
        case EditorInfo.IME_ACTION_SEND:
            mEnterKey.iconPreview = null;
            mEnterKey.icon = null;
            mEnterKey.label = res.getText(R.string.label_keyboard_key_send);
            break;
        default:
            mEnterKey.icon = res.getDrawable(R.drawable.sym_keyboard_return);
            mEnterKey.label = null;
            break;
    }
}
 
Example 18
Source File: MRLPanelFragment.java    From VCL-Android with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == EditorInfo.IME_ACTION_DONE ||
        keyCode == EditorInfo.IME_ACTION_GO ||
        event.getAction() == KeyEvent.ACTION_DOWN &&
        event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
        return processUri();
    }
    return false;
}
 
Example 19
Source File: FingerprintAuthenticationDialogFragment.java    From android-AsymmetricFingerprintDialog with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_GO) {
        verifyPassword();
        return true;
    }
    return false;
}
 
Example 20
Source File: AdbIME.java    From SoloPi with Apache License 2.0 5 votes vote down vote up
@Subscriber(value = @Param(value = IME_SEARCH_MESSAGE, sticky = false), thread = RunningThread.MAIN_THREAD)
public boolean inputSearchText(String text) {
    if (text != null) {
        InputConnection ic = getCurrentInputConnection();
        if (ic != null) {
            ic.commitText(text, 1);

            // 需要额外点击发送
            EditorInfo editorInfo = getCurrentInputEditorInfo();
            if (editorInfo != null) {
                int options = editorInfo.imeOptions;
                final int actionId = options & EditorInfo.IME_MASK_ACTION;

                switch (actionId) {
                    case EditorInfo.IME_ACTION_SEARCH:
                        sendDefaultEditorAction(true);
                        break;
                    case EditorInfo.IME_ACTION_GO:
                        sendDefaultEditorAction(true);
                        break;
                    case EditorInfo.IME_ACTION_SEND:
                        sendDefaultEditorAction(true);
                        break;
                    default:
                        ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
                }
            }
            return true;
        }
    }
    return false;
}