diff options
author | 2014-03-20 17:55:30 +0900 | |
---|---|---|
committer | 2014-03-24 17:44:31 +0900 | |
commit | cbed462d192d0c5af9614f5f997b2768f3d0eb56 (patch) | |
tree | 32d4be045e1db74f09d6ebba22af42ee6ae817ac /java/src/com/android/inputmethod/event | |
parent | 628a64847c3313e36e21e6d2a4960c7aace989c7 (diff) | |
download | latinime-cbed462d192d0c5af9614f5f997b2768f3d0eb56.tar.gz latinime-cbed462d192d0c5af9614f5f997b2768f3d0eb56.tar.xz latinime-cbed462d192d0c5af9614f5f997b2768f3d0eb56.zip |
[CB12] Reset the combining state when resetting the composer
Bug: 13406701
Change-Id: I490574b7ca4b953f67dd2c0ef97401297fade0a4
Diffstat (limited to 'java/src/com/android/inputmethod/event')
3 files changed, 18 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/event/Combiner.java b/java/src/com/android/inputmethod/event/Combiner.java index bdc761234..8b808c6b3 100644 --- a/java/src/com/android/inputmethod/event/Combiner.java +++ b/java/src/com/android/inputmethod/event/Combiner.java @@ -40,4 +40,9 @@ public interface Combiner { * @return A CharSequence representing the feedback to show users. It may include styles. */ CharSequence getCombiningStateFeedback(); + + /** + * Reset the state of this combiner, for example when the cursor was moved. + */ + void reset(); } diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java index cf2a4d1a1..5ca9842c1 100644 --- a/java/src/com/android/inputmethod/event/CombinerChain.java +++ b/java/src/com/android/inputmethod/event/CombinerChain.java @@ -58,6 +58,14 @@ public class CombinerChain { mStateFeedback = new SpannableStringBuilder(); } + public void reset() { + mCombinedText.setLength(0); + mStateFeedback.clear(); + for (final Combiner c : mCombiners) { + c.reset(); + } + } + /** * Pass a new event through the whole chain. * @param previousEvents the list of previous events in this composition diff --git a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java index f891017a3..89e623a1d 100644 --- a/java/src/com/android/inputmethod/event/DeadKeyCombiner.java +++ b/java/src/com/android/inputmethod/event/DeadKeyCombiner.java @@ -63,6 +63,11 @@ public class DeadKeyCombiner implements Combiner { } @Override + public void reset() { + mDeadSequence.setLength(0); + } + + @Override public CharSequence getCombiningStateFeedback() { return mDeadSequence; } |