aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/WordComposer.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-05-14 20:19:16 +0900
committerJean Chalard <jchalard@google.com>2014-05-14 20:34:32 +0900
commit5ce39dfa782031fd53af167c0fd9a9bc63d21149 (patch)
treec436513e805f314333e9349100e72ceaef474353 /java/src/com/android/inputmethod/latin/WordComposer.java
parent71f4c6b8eacb210fceb719a0f293d14f359ba4f1 (diff)
downloadlatinime-5ce39dfa782031fd53af167c0fd9a9bc63d21149.tar.gz
latinime-5ce39dfa782031fd53af167c0fd9a9bc63d21149.tar.xz
latinime-5ce39dfa782031fd53af167c0fd9a9bc63d21149.zip
Fix a bug where changing languages kills the composition.
Bug: 14926896 Change-Id: Id2a06c68a51f833db4d8bbc858a232c2696afb6e
Diffstat (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java')
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index cdee496a8..ac6972928 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -80,7 +80,7 @@ public final class WordComposer {
private boolean mIsFirstCharCapitalized;
public WordComposer() {
- mCombinerChain = new CombinerChain();
+ mCombinerChain = new CombinerChain("");
mEvents = CollectionUtils.newArrayList();
mAutoCorrection = null;
mIsResumed = false;
@@ -92,18 +92,17 @@ public final class WordComposer {
}
/**
- * Restart input with a new combining spec.
+ * Restart the combiners, possibly with a new spec.
* @param combiningSpec The spec string for combining. This is found in the extra value.
*/
- public void restart(final String combiningSpec) {
+ public void restartCombining(final String combiningSpec) {
final String nonNullCombiningSpec = null == combiningSpec ? "" : combiningSpec;
- if (nonNullCombiningSpec.equals(mCombiningSpec)) {
- mCombinerChain.reset();
- } else {
- mCombinerChain = new CombinerChain(CombinerChain.createCombiners(nonNullCombiningSpec));
+ if (!nonNullCombiningSpec.equals(mCombiningSpec)) {
+ mCombinerChain = new CombinerChain(
+ mCombinerChain.getComposingWordWithCombiningFeedback().toString(),
+ CombinerChain.createCombiners(nonNullCombiningSpec));
mCombiningSpec = nonNullCombiningSpec;
}
- reset();
}
/**