diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java index 4255d88d7587d..c6a365e46d24a 100644 --- a/core/java/android/inputmethodservice/InputMethodService.java +++ b/core/java/android/inputmethodservice/InputMethodService.java @@ -2867,7 +2867,12 @@ public class InputMethodService extends AbstractInputMethodService { * Ask the input target to execute its default action via * {@link InputConnection#performEditorAction * InputConnection.performEditorAction()}. - * + * + *

For compatibility, this method does not execute a custom action even if {@link + * EditorInfo#actionLabel EditorInfo.actionLabel} is set. The implementor should directly call + * {@link InputConnection#performEditorAction InputConnection.performEditorAction()} with + * {@link EditorInfo#actionId EditorInfo.actionId} if they want to execute a custom action.

+ * * @param fromEnterKey If true, this will be executed as if the user had * pressed an enter key on the keyboard, that is it will not * be done if the editor has set {@link EditorInfo#IME_FLAG_NO_ENTER_ACTION diff --git a/core/java/android/view/inputmethod/InputConnection.java b/core/java/android/view/inputmethod/InputConnection.java index aa28a9203b5e9..fdcc208d8edd6 100644 --- a/core/java/android/view/inputmethod/InputConnection.java +++ b/core/java/android/view/inputmethod/InputConnection.java @@ -726,8 +726,9 @@ public interface InputConnection { * associated with the action.

* * @param editorAction This must be one of the action constants for - * {@link EditorInfo#imeOptions EditorInfo.editorType}, such as - * {@link EditorInfo#IME_ACTION_GO EditorInfo.EDITOR_ACTION_GO}. + * {@link EditorInfo#imeOptions EditorInfo.imeOptions}, such as + * {@link EditorInfo#IME_ACTION_GO EditorInfo.EDITOR_ACTION_GO}, or the value of + * {@link EditorInfo#actionId EditorInfo.actionId} if a custom action is available. * @return true on success, false if the input connection is no longer * valid. */