diff options
author | 2014-02-17 17:53:15 +0900 | |
---|---|---|
committer | 2014-02-17 20:36:16 +0900 | |
commit | 7a7aeffcdcf1f25abdc3923e81fa19c2258fa9e9 (patch) | |
tree | f14239d7f6b9add8d18b11a091c6250d4fc7a1a9 /java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java | |
parent | 1e9897b0c77b858ae479d531732b6795aaf0b2de (diff) | |
download | latinime-7a7aeffcdcf1f25abdc3923e81fa19c2258fa9e9.tar.gz latinime-7a7aeffcdcf1f25abdc3923e81fa19c2258fa9e9.tar.xz latinime-7a7aeffcdcf1f25abdc3923e81fa19c2258fa9e9.zip |
Don't resume suggestion on links.
Bug: 11447084
Change-Id: I5bd558b9dd85d1505aa918f44e8ac3e52ec42d97
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java b/java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java index be0955456..38164cb36 100644 --- a/java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java @@ -22,6 +22,7 @@ import android.text.Spanned; import android.text.SpannedString; import android.text.TextUtils; import android.text.style.SuggestionSpan; +import android.text.style.URLSpan; public final class SpannableStringUtils { /** @@ -112,4 +113,16 @@ public final class SpannableStringUtils { return new SpannedString(ss); } + + public static boolean hasUrlSpans(final CharSequence text, + final int startIndex, final int endIndex) { + if (!(text instanceof Spanned)) { + return false; // Not spanned, so no link + } + final Spanned spanned = (Spanned)text; + // getSpans(x, y) does not return spans that start on x or end on y. x-1, y+1 does the + // trick, and works in all cases even if startIndex <= 0 or endIndex >= text.length(). + final URLSpan[] spans = spanned.getSpans(startIndex - 1, endIndex + 1, URLSpan.class); + return null != spans && spans.length > 0; + } } |