From de2184a67da820fec6aeec98f8a9e2ce3d77a10a Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Wed, 25 Jul 2018 21:52:15 +0800 Subject: [PATCH] Fix Wifi off state UI - Apply footerPreferenceStyle to reduce the text size and text color - Add "info" icon Bug: 80087791 Test: visual, RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi Change-Id: I19d4f67c5a9f2fc2b542f40e051c1469ab40e7db --- .../android/settings/wifi/LinkablePreference.java | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/wifi/LinkablePreference.java b/src/com/android/settings/wifi/LinkablePreference.java index 9c00ee2218..9581e7a6ed 100644 --- a/src/com/android/settings/wifi/LinkablePreference.java +++ b/src/com/android/settings/wifi/LinkablePreference.java @@ -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. -- 2.11.0