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

Commit 566e8baf authored by Gilles Debunne's avatar Gilles Debunne Committed by Android (Google) Code Review
Browse files

Merge "Fix for IOOB when suggestions have disappeared"

parents ea118122 7af1f966
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -9754,12 +9754,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        public void show() {
            if (!(mText instanceof Editable)) return;

            updateSuggestions();
            if (updateSuggestions()) {
                mCursorWasVisibleBeforeSuggestions = mCursorVisible;
                setCursorVisible(false);
                mIsShowingUp = true;
                super.show();
            }
        }

        @Override
        protected void measureContent() {
@@ -9814,11 +9815,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            super.hide();
        }

        private void updateSuggestions() {
        private boolean updateSuggestions() {
            Spannable spannable = (Spannable) TextView.this.mText;
            SuggestionSpan[] suggestionSpans = getSuggestionSpans();

            final int nbSpans = suggestionSpans.length;
            // Suggestions are shown after a delay: the underlying spans may have been removed
            if (nbSpans == 0) return false;

            mNumberOfSuggestions = 0;
            int spanUnionStart = mText.length();
@@ -9921,6 +9924,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

            mSuggestionsAdapter.notifyDataSetChanged();
            return true;
        }

        private void highlightTextDifferences(SuggestionInfo suggestionInfo, int unionStart,