aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/WordComposer.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-05-14 11:36:42 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-14 11:36:43 +0000
commitbabde55bf843c2262d84580c0139ed6b040bef7e (patch)
tree712279404ec470dff240d30905ac7dc0ef9dbb5c /java/src/com/android/inputmethod/latin/WordComposer.java
parent32bdf9f3446d567f05bc49281a4ec43d4a19b2bf (diff)
parent5ce39dfa782031fd53af167c0fd9a9bc63d21149 (diff)
downloadlatinime-babde55bf843c2262d84580c0139ed6b040bef7e.tar.gz
latinime-babde55bf843c2262d84580c0139ed6b040bef7e.tar.xz
latinime-babde55bf843c2262d84580c0139ed6b040bef7e.zip
Merge "Fix a bug where changing languages kills the composition."
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();
}
/**