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 03:48:50 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-02-17 03:48:50 -0800
commit5828d1f3fa4e3590297b432e003946b502ecfbd6 (patch)
tree8a5710296b99e8cc2bf59c7f330f2c58ba03d1d0 /java/src/com/android/inputmethod/latin/utils/SpannableStringUtils.java
parentdaf28b45a4367b6877e895e8e8e43c6df1187074 (diff)
parent782c9fee6bcb32d67c8ee9faa7e5c9dfb091afd3 (diff)
downloadlatinime-5828d1f3fa4e3590297b432e003946b502ecfbd6.tar.gz
latinime-5828d1f3fa4e3590297b432e003946b502ecfbd6.tar.xz
latinime-5828d1f3fa4e3590297b432e003946b502ecfbd6.zip
am 782c9fee: Merge "Don\'t resume suggestion on links."
* commit '782c9fee6bcb32d67c8ee9faa7e5c9dfb091afd3': Don't resume suggestion on links.
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;
+ }
}