summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-03-05 13:42:55 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-03-05 13:42:55 +0000
commite916c77cb4eaf5e8a9188ab2963f09cabbdebf92 (patch)
treee2073fd5a05d837ac96138ad93d4252ffbbb23c8 /src
parent459f3bffa6b24c3c69a4c02a43b9cd0fc92a0683 (diff)
bugfix in the android keyboard for multiline documents
Diffstat (limited to 'src')
-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) {