diff options
author | Bonian Chen <bonianchen@google.com> | 2020-06-23 21:15:06 +0800 |
---|---|---|
committer | Bonian Chen <bonianchen@google.com> | 2020-06-23 21:19:15 +0800 |
commit | 5faf7717225ce47221781c516b50668ea917b881 (patch) | |
tree | 1471cd7e3c23199d69435976ba28dff7645ba288 /src/com | |
parent | 1d6acb4f8cbecb20b7c0f6bc0d9a82da7407709a (diff) | |
download | packages_apps_Settings-5faf7717225ce47221781c516b50668ea917b881.tar.gz packages_apps_Settings-5faf7717225ce47221781c516b50668ea917b881.tar.bz2 packages_apps_Settings-5faf7717225ce47221781c516b50668ea917b881.zip |
[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
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/network/telephony/NrDisabledInDsdsFooterPreferenceController.java | 2 | ||||
-rw-r--r-- | src/com/android/settings/utils/AnnotationSpan.java | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/com/android/settings/network/telephony/NrDisabledInDsdsFooterPreferenceController.java b/src/com/android/settings/network/telephony/NrDisabledInDsdsFooterPreferenceController.java index 4077e91ae8..3911fb8038 100644 --- a/src/com/android/settings/network/telephony/NrDisabledInDsdsFooterPreferenceController.java +++ b/src/com/android/settings/network/telephony/NrDisabledInDsdsFooterPreferenceController.java @@ -69,7 +69,7 @@ public class NrDisabledInDsdsFooterPreferenceController extends BasePreferenceCo if (linkInfo.isActionable()) { return AnnotationSpan.linkify(mContext.getText(R.string.no_5g_in_dsds_text), linkInfo); } else { - return mContext.getText(R.string.no_5g_in_dsds_text); + return AnnotationSpan.textWithoutLink(mContext.getText(R.string.no_5g_in_dsds_text)); } } diff --git a/src/com/android/settings/utils/AnnotationSpan.java b/src/com/android/settings/utils/AnnotationSpan.java index 1b8179d759..98256a00cb 100644 --- a/src/com/android/settings/utils/AnnotationSpan.java +++ b/src/com/android/settings/utils/AnnotationSpan.java @@ -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. @@ -76,6 +79,23 @@ public class AnnotationSpan extends URLSpan { } /** + * 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 */ public static class LinkInfo { |