diff options
author | 2014-05-12 09:33:27 +0000 | |
---|---|---|
committer | 2014-05-12 09:33:27 +0000 | |
commit | fac678e13df2c6073bdd7f9dc2fca1d4e16f8309 (patch) | |
tree | d66559a94ae8165f043082c1f598a25b3e238b1b /java/src/com/android/inputmethod/latin/WordComposer.java | |
parent | 4fb490ff90423b17181e5402d7f2056d508f3f0a (diff) | |
parent | be99616afa2243fe48dc406d0a3f442cb05453b4 (diff) | |
download | latinime-fac678e13df2c6073bdd7f9dc2fca1d4e16f8309.tar.gz latinime-fac678e13df2c6073bdd7f9dc2fca1d4e16f8309.tar.xz latinime-fac678e13df2c6073bdd7f9dc2fca1d4e16f8309.zip |
Merge "Create the path for specifying combining rules in the subtype"
Diffstat (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/WordComposer.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index d755195f2..cdee496a8 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -41,6 +41,7 @@ public final class WordComposer { public static final int CAPS_MODE_AUTO_SHIFT_LOCKED = 0x7; private CombinerChain mCombinerChain; + private String mCombiningSpec; // Memory so that we don't uselessly recreate the combiner chain // The list of events that served to compose this string. private final ArrayList<Event> mEvents; @@ -91,6 +92,21 @@ public final class WordComposer { } /** + * Restart input with a new combining spec. + * @param combiningSpec The spec string for combining. This is found in the extra value. + */ + public void restart(final String combiningSpec) { + final String nonNullCombiningSpec = null == combiningSpec ? "" : combiningSpec; + if (nonNullCombiningSpec.equals(mCombiningSpec)) { + mCombinerChain.reset(); + } else { + mCombinerChain = new CombinerChain(CombinerChain.createCombiners(nonNullCombiningSpec)); + mCombiningSpec = nonNullCombiningSpec; + } + reset(); + } + + /** * Clear out the keys registered so far. */ public void reset() { |