Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45baaa0f authored by Edgar Wang's avatar Edgar Wang
Browse files

Fix link number increasing in the TalkBack menu.

This caused by we add new URLSpan everytime when onBindViewHolder
called.

Bug: 195946803
Test: manual
Change-Id: Ic4272df327d8ad7758bcfbf2d194e6bc60881f0f
parent 2943f54e
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@ public class FooterPreference extends Preference {
    View.OnClickListener mLearnMoreListener;
    View.OnClickListener mLearnMoreListener;
    private CharSequence mContentDescription;
    private CharSequence mContentDescription;
    private CharSequence mLearnMoreContentDescription;
    private CharSequence mLearnMoreContentDescription;
    private FooterLearnMoreSpan mLearnMoreSpan;


    public FooterPreference(Context context, AttributeSet attrs) {
    public FooterPreference(Context context, AttributeSet attrs) {
        super(context, attrs, R.attr.footerPreferenceStyle);
        super(context, attrs, R.attr.footerPreferenceStyle);
@@ -68,7 +69,11 @@ public class FooterPreference extends Preference {
        if (learnMore != null && mLearnMoreListener != null) {
        if (learnMore != null && mLearnMoreListener != null) {
            learnMore.setVisibility(View.VISIBLE);
            learnMore.setVisibility(View.VISIBLE);
            SpannableString learnMoreText = new SpannableString(learnMore.getText());
            SpannableString learnMoreText = new SpannableString(learnMore.getText());
            learnMoreText.setSpan(new FooterLearnMoreSpan(mLearnMoreListener), 0,
            if (mLearnMoreSpan != null) {
                learnMoreText.removeSpan(mLearnMoreSpan);
            }
            mLearnMoreSpan = new FooterLearnMoreSpan(mLearnMoreListener);
            learnMoreText.setSpan(mLearnMoreSpan, 0,
                    learnMoreText.length(), 0);
                    learnMoreText.length(), 0);
            learnMore.setText(learnMoreText);
            learnMore.setText(learnMoreText);
            if (!TextUtils.isEmpty(mLearnMoreContentDescription)) {
            if (!TextUtils.isEmpty(mLearnMoreContentDescription)) {