diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-03-05 13:42:55 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-03-05 13:42:55 +0000 |
| commit | e916c77cb4eaf5e8a9188ab2963f09cabbdebf92 (patch) | |
| tree | e2073fd5a05d837ac96138ad93d4252ffbbb23c8 /src/ui/android | |
| parent | 459f3bffa6b24c3c69a4c02a43b9cd0fc92a0683 (diff) | |
bugfix in the android keyboard for multiline documents
Diffstat (limited to 'src/ui/android')
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/TranslatorInputMethodService.java | 12 |
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) { |
