Revert "[SD6] Inline a constant and remove logic become useless"
This reverts commit 2a5824a63b
that broke the build.
Bug: 15840116
Change-Id: Ife11050394f3ed90e39d835b92732e1b6af83249
parent
2a5824a63b
commit
f84573c0b3
|
@ -626,6 +626,7 @@ 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;
|
||||
|
@ -638,17 +639,29 @@ public final class RichInputConnection {
|
|||
return null;
|
||||
}
|
||||
|
||||
// Going backward, find the first breaking point (separator)
|
||||
// Going backward, alternate skipping non-separators and separators until enough words
|
||||
// have been read.
|
||||
int count = additionalPrecedingWordsCount;
|
||||
int startIndexInBefore = before.length();
|
||||
while (startIndexInBefore > 0) {
|
||||
final int codePoint = Character.codePointBefore(before, startIndexInBefore);
|
||||
if (isSeparator(codePoint, sortedSeparators)) {
|
||||
break;
|
||||
}
|
||||
--startIndexInBefore;
|
||||
if (Character.isSupplementaryCodePoint(codePoint)) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
// 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
|
||||
}
|
||||
isStoppingAtWhitespace = !isStoppingAtWhitespace;
|
||||
}
|
||||
|
||||
// Find last word separator after the cursor
|
||||
|
|
Loading…
Reference in New Issue