From cd60c55fe55d8676731128d6d9474127503e9045 Mon Sep 17 00:00:00 2001 From: Dimo Karaivanov Date: Tue, 1 Aug 2023 09:55:56 +0300 Subject: [PATCH] partially revert 8ce404d2b60c51524ee0671f392efa238227b831 to have the correct OK event when when the connected app requests a standard IME action (#325) --- .../sspanak/tt9/ime/helpers/TextField.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/io/github/sspanak/tt9/ime/helpers/TextField.java b/src/io/github/sspanak/tt9/ime/helpers/TextField.java index f0e11518..b80145d5 100644 --- a/src/io/github/sspanak/tt9/ime/helpers/TextField.java +++ b/src/io/github/sspanak/tt9/ime/helpers/TextField.java @@ -326,18 +326,22 @@ public class TextField { return EditorInfo.IME_ACTION_NONE; } - int action; - if (field.actionId > 0) { - action = field.actionId; // custom action, defined by the connected app - } else { - action = field.imeOptions & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION); + if (field.actionId == EditorInfo.IME_ACTION_DONE) { + return IME_ACTION_ENTER; + } else if (field.actionId > 0) { + return field.actionId; } - switch (action) { - case EditorInfo.IME_ACTION_UNSPECIFIED: - case EditorInfo.IME_ACTION_DONE: - return IME_ACTION_ENTER; + + int standardAction = field.imeOptions & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION); + switch (standardAction) { + case EditorInfo.IME_ACTION_GO: + case EditorInfo.IME_ACTION_NEXT: + case EditorInfo.IME_ACTION_PREVIOUS: + case EditorInfo.IME_ACTION_SEARCH: + case EditorInfo.IME_ACTION_SEND: + return standardAction; default: - return action; + return IME_ACTION_ENTER; } } }