OSDN Git Service

Fix Wifi off state UI
authorMill Chen <millchen@google.com>
Wed, 25 Jul 2018 13:52:15 +0000 (21:52 +0800)
committerMill Chen <millchen@google.com>
Fri, 27 Jul 2018 03:10:15 +0000 (11:10 +0800)
- 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

src/com/android/settings/wifi/LinkablePreference.java

index 9c00ee2..9581e7a 100644 (file)
@@ -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.