aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-02-17 17:53:15 +0900
committerJean Chalard <jchalard@google.com>2014-02-17 20:36:16 +0900
commit7a7aeffcdcf1f25abdc3923e81fa19c2258fa9e9 (patch)
treef14239d7f6b9add8d18b11a091c6250d4fc7a1a9 /java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java
parent1e9897b0c77b858ae479d531732b6795aaf0b2de (diff)
downloadlatinime-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.java13
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;
+ }
}