Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be3be424 authored by Jean Chalard's avatar Jean Chalard
Browse files

Fix a bug that happens upon a race condition

Bug: 10848621
Change-Id: If5ff7f001e69af005a5ff9ab3e9f630b88a0a858
parent 3de1aca2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2746,6 +2746,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        final TextRange range = mConnection.getWordRangeAtCursor(currentSettings.mWordSeparators,
                0 /* additionalPrecedingWordsCount */);
        if (null == range) return; // Happens if we don't have an input connection at all
        if (range.length() <= 0) return; // Race condition. No text to resume on, so bail out.
        // If for some strange reason (editor bug or so) we measure the text before the cursor as
        // longer than what the entire text is supposed to be, the safe thing to do is bail out.
        final int numberOfCharsInWordBeforeCursor = range.getNumberOfCharsInWordBeforeCursor();
+4 −0
Original line number Diff line number Diff line
@@ -40,6 +40,10 @@ public final class TextRange {
        return mWordAtCursorEndIndex - mCursorIndex;
    }

    public int length() {
        return mWord.length();
    }

    /**
     * Gets the suggestion spans that are put squarely on the word, with the exact start
     * and end of the span matching the boundaries of the word.