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

Commit 7fa8953b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix Wifi off state UI"

parents 59ac6e70 de2184a6
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -23,12 +23,14 @@ import android.text.style.TextAppearanceSpan;
import android.util.AttributeSet;
import android.widget.TextView;

import com.android.settings.LinkifyUtils;

import androidx.annotation.Nullable;
import androidx.core.content.res.TypedArrayUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;

import com.android.settings.LinkifyUtils;
import com.android.settingslib.R;

/**
 * A preference with a title that can have linkable content on click.
 */
@@ -38,19 +40,20 @@ public class LinkablePreference extends Preference {
    private CharSequence mContentTitle;
    private CharSequence mContentDescription;


    public LinkablePreference(Context ctx, AttributeSet attrs, int defStyle) {
        super(ctx, attrs, defStyle);
        setIcon(R.drawable.ic_info_outline_24dp);
        setSelectable(false);
    }

    public LinkablePreference(Context ctx, AttributeSet attrs) {
        super(ctx, attrs);
        setSelectable(false);
        this(ctx, attrs, TypedArrayUtils.getAttr(
                ctx, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
    }

    public LinkablePreference(Context ctx) {
        super(ctx);
        setSelectable(false);
        this(ctx, null);
    }

    @Override
@@ -75,21 +78,20 @@ public class LinkablePreference extends Preference {

        boolean linked = LinkifyUtils.linkify(textView, contentBuilder, mClickListener);
        if (linked && mContentTitle != null) {
            // Embolden and enlarge the title.
            Spannable boldSpan = (Spannable) textView.getText();
            boldSpan.setSpan(
                    new TextAppearanceSpan(
                            getContext(), android.R.style.TextAppearance_Medium),
            Spannable spannableContent = (Spannable) textView.getText();
            spannableContent.setSpan(
                    new TextAppearanceSpan(getContext(), android.R.style.TextAppearance_Small),
                    0,
                    mContentTitle.length(),
                    Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
            textView.setText(boldSpan);
            textView.setText(spannableContent);
            textView.setMovementMethod(new LinkMovementMethod());
        }
    }

    /**
     * Sets the linkable text for the Preference title.
     *
     * @param contentTitle text to set the Preference title.
     * @param contentDescription description text to append underneath title, can be null.
     * @param clickListener OnClickListener for the link portion of the text.