summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java b/src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java
index c0aa56d46..62dddd519 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java
@@ -169,7 +169,7 @@ public class TranslatorInputMethodService extends InputMethodService
updateShiftKeyState(attribute);
}
- mActionId = attribute.imeOptions & EditorInfo.IME_MASK_ACTION;
+ mActionId = attribute.imeOptions & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION);
mCurKeyboard.setImeOptions(getResources(), attribute.imeOptions);
mInstance = this;
@@ -392,7 +392,10 @@ public class TranslatorInputMethodService extends InputMethodService
current.setShifted(false);
}
} else if (primaryCode == 10) {
- getCurrentInputConnection().performEditorAction(mActionId);
+ if ((mActionId & EditorInfo.IME_FLAG_NO_ENTER_ACTION) == 0)
+ getCurrentInputConnection().performEditorAction(mActionId & EditorInfo.IME_MASK_ACTION);
+ else
+ handleCharacter(primaryCode, keyCodes);
} else if (primaryCode == ' ' && mComposing.length() == 0) {
getCurrentInputConnection().commitText(" ", 1);
} else {
@@ -489,7 +492,10 @@ public class TranslatorInputMethodService extends InputMethodService
}
mComposing.append((char) primaryCode);
- getCurrentInputConnection().setComposingText(mComposing, 1);
+ if (primaryCode == 10)
+ commitTyped(getCurrentInputConnection());
+ else
+ getCurrentInputConnection().setComposingText(mComposing, 1);
updateShiftKeyState(getCurrentInputEditorInfo());
if (mPredictionOn) {