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

Commit f3895edf authored by Gilles Debunne's avatar Gilles Debunne
Browse files

Links are clickable in TextView when textIsSelectable.

Bug 3299410

Change-Id: I921c9eecbfef1d81b0d0e2ad2129400c58f165a1
parent d69313da
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ import android.text.method.SingleLineTransformationMethod;
import android.text.method.TextKeyListener;
import android.text.method.TimeKeyListener;
import android.text.method.TransformationMethod;
import android.text.style.ClickableSpan;
import android.text.style.ParagraphStyle;
import android.text.style.URLSpan;
import android.text.style.UpdateAppearance;
@@ -7238,6 +7239,19 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                handled |= mMovement.onTouchEvent(this, (Spannable) mText, event);
            }

            if (mLinksClickable && mAutoLinkMask != 0 && mTextIsSelectable &&
                    action == MotionEvent.ACTION_UP && !mIgnoreActionUpEvent && isFocused()) {
                // The LinkMovementMethod which should handle taps on links has not been installed
                // to support text selection. We reproduce its behavior here to open links.
                ClickableSpan[] links = ((Spannable) mText).getSpans(getSelectionStart(),
                        getSelectionEnd(), ClickableSpan.class);

                if (links.length != 0) {
                    links[0].onClick(this);
                    handled = true;
                }
            }

            if (isTextEditable() || mTextIsSelectable) {
                if (mScrollX != oldScrollX || mScrollY != oldScrollY) {
                    // Hide insertion anchor while scrolling. Leave selection.