aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/event/CombinerChain.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/event/CombinerChain.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/event/CombinerChain.java')
-rw-r--r--java/src/com/android/inputmethod/event/CombinerChain.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java
index 990f7deea..9e7f04d4f 100644
--- a/java/src/com/android/inputmethod/event/CombinerChain.java
+++ b/java/src/com/android/inputmethod/event/CombinerChain.java
@@ -56,18 +56,20 @@ public class CombinerChain {
*
* The combiner chain takes events as inputs and outputs code points and combining state.
* For example, if the input language is Japanese, the combining chain will typically perform
- * kana conversion.
+ * kana conversion. This takes a string for initial text, taken to be present before the
+ * cursor: we'll start after this.
*
+ * @param initialText The text that has already been combined so far.
* @param combinerList A list of combiners to be applied in order.
*/
- public CombinerChain(final Combiner... combinerList) {
+ public CombinerChain(final String initialText, final Combiner... combinerList) {
mCombiners = CollectionUtils.newArrayList();
// The dead key combiner is always active, and always first
mCombiners.add(new DeadKeyCombiner());
for (final Combiner combiner : combinerList) {
mCombiners.add(combiner);
}
- mCombinedText = new StringBuilder();
+ mCombinedText = new StringBuilder(initialText);
mStateFeedback = new SpannableStringBuilder();
}