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

Commit ba04dbc6 authored by Gilles Debunne's avatar Gilles Debunne Committed by Android Git Automerger
Browse files

am 671b2a57: Merge "Fix for IndexOutOfBounds in text pasting." into gingerbread

Merge commit '671b2a57' into gingerbread-plus-aosp

* commit '671b2a57':
  Fix for IndexOutOfBounds in text pasting.
parents ce2e2184 671b2a57
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -7490,16 +7490,23 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                    if (Character.isSpaceChar(paste.charAt(0))) {
                        if (min > 0 && Character.isSpaceChar(mTransformed.charAt(min - 1))) {
                            // Two spaces at beginning of paste: remove one
                            final int originalLength = mText.length();
                            ((Editable) mText).replace(min - 1, min, "");
                            min = min - 1;
                            max = max - 1;
                            // Due to filters, there is no garantee that exactly one character was
                            // removed. Count instead.
                            final int delta = mText.length() - originalLength;
                            min += delta;
                            max += delta;
                        }
                    } else {
                        if (min > 0 && !Character.isSpaceChar(mTransformed.charAt(min - 1))) {
                            // No space at beginning of paste: add one
                            final int originalLength = mText.length();
                            ((Editable) mText).replace(min, min, " ");
                            min = min + 1;
                            max = max + 1;
                            // Taking possible filters into account as above.
                            final int delta = mText.length() - originalLength;
                            min += delta;
                            max += delta;
                        }
                    }