diff options
author | 2014-07-01 02:17:53 +0000 | |
---|---|---|
committer | 2014-07-01 02:17:53 +0000 | |
commit | f6974abd85212f683f894cf4d44957edc444105f (patch) | |
tree | 7ad22ff566b8559f44fb43664bbbba0356a189d9 /java/src/com/android/inputmethod/latin/RichInputConnection.java | |
parent | fdc63036bee068170545198c67ac5ce1273a69d0 (diff) | |
parent | c8094c463b7ee41feef49bb331eb6509b30d751f (diff) | |
download | latinime-f6974abd85212f683f894cf4d44957edc444105f.tar.gz latinime-f6974abd85212f683f894cf4d44957edc444105f.tar.xz latinime-f6974abd85212f683f894cf4d44957edc444105f.zip |
am c8094c46: Merge "[SD6] Inline a constant and remove logic become useless"
* commit 'c8094c463b7ee41feef49bb331eb6509b30d751f':
[SD6] Inline a constant and remove logic become useless
Diffstat (limited to 'java/src/com/android/inputmethod/latin/RichInputConnection.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/RichInputConnection.java | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java index 96bf17b5c..5e0dafa57 100644 --- a/java/src/com/android/inputmethod/latin/RichInputConnection.java +++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java @@ -626,7 +626,6 @@ public final class RichInputConnection { * @return a range containing the text surrounding the cursor */ public TextRange getWordRangeAtCursor(final int[] sortedSeparators) { - final int additionalPrecedingWordsCount = 0; mIC = mParent.getCurrentInputConnection(); if (mIC == null) { return null; @@ -639,29 +638,17 @@ public final class RichInputConnection { return null; } - // Going backward, alternate skipping non-separators and separators until enough words - // have been read. - int count = additionalPrecedingWordsCount; + // Going backward, find the first breaking point (separator) int startIndexInBefore = before.length(); - boolean isStoppingAtWhitespace = true; // toggles to indicate what to stop at - while (true) { // see comments below for why this is guaranteed to halt - while (startIndexInBefore > 0) { - final int codePoint = Character.codePointBefore(before, startIndexInBefore); - if (isStoppingAtWhitespace == isSeparator(codePoint, sortedSeparators)) { - break; // inner loop - } - --startIndexInBefore; - if (Character.isSupplementaryCodePoint(codePoint)) { - --startIndexInBefore; - } + while (startIndexInBefore > 0) { + final int codePoint = Character.codePointBefore(before, startIndexInBefore); + if (isSeparator(codePoint, sortedSeparators)) { + break; } - // isStoppingAtWhitespace is true every other time through the loop, - // so additionalPrecedingWordsCount is guaranteed to become < 0, which - // guarantees outer loop termination - if (isStoppingAtWhitespace && (--count < 0)) { - break; // outer loop + --startIndexInBefore; + if (Character.isSupplementaryCodePoint(codePoint)) { + --startIndexInBefore; } - isStoppingAtWhitespace = !isStoppingAtWhitespace; } // Find last word separator after the cursor |