[Settings] Learn more link should be removed when not supported.

Learn more wording with link only help people when configured.
When no link available, these wording had better removed to avoid from
confusing people.

Bug: 159510116
Test: manual
Change-Id: I36b74b2b4586546090fb88562e8f4f052a877709
This commit is contained in:
Bonian Chen
2020-06-23 21:15:06 +08:00
parent 1d6acb4f8c
commit 5faf771722
3 changed files with 24 additions and 4 deletions

View File

@@ -27,6 +27,9 @@ import android.text.style.URLSpan;
import android.util.Log;
import android.view.View;
import java.util.Arrays;
import java.util.Comparator;
/**
* This class is used to add {@link View.OnClickListener} for the text been wrapped by
* annotation.
@@ -75,6 +78,23 @@ public class AnnotationSpan extends URLSpan {
return builder;
}
/**
* get the text part without having text for link part
*/
public static CharSequence textWithoutLink(CharSequence encodedText) {
SpannableString msg = new SpannableString(encodedText);
Annotation[] spans = msg.getSpans(0, msg.length(), Annotation.class);
if (spans == null) {
return encodedText;
}
Arrays.sort(spans, Comparator.comparingInt(span -> -msg.getSpanStart(span)));
StringBuilder msgWithoutLink = new StringBuilder(msg.toString());
for (Annotation span : spans) {
msgWithoutLink.delete(msg.getSpanStart(span), msg.getSpanEnd(span));
}
return msgWithoutLink.toString();
}
/**
* Data class to store the annotation and the click action
*/