aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/RichInputConnection.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-07-01 02:17:53 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-07-01 02:17:53 +0000
commitf6974abd85212f683f894cf4d44957edc444105f (patch)
tree7ad22ff566b8559f44fb43664bbbba0356a189d9 /java/src/com/android/inputmethod/latin/RichInputConnection.java
parentfdc63036bee068170545198c67ac5ce1273a69d0 (diff)
parentc8094c463b7ee41feef49bb331eb6509b30d751f (diff)
downloadlatinime-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.java29
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