[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:
@@ -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
|
||||
*/
|
||||
|
Reference in New Issue
Block a user