Loading res/values/dimens.xml +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ <!-- WiFi Preferences --> <dimen name="wifi_divider_height">1px</dimen> <dimen name="wifi_ap_band_checkbox_padding">16dp</dimen> <dimen name="wifi_detail_page_header_image_size">32dp</dimen> <!-- Color picker --> <dimen name="color_swatch_size">16dp</dimen> Loading src/com/android/settings/Utils.java +4 −1 Original line number Diff line number Diff line Loading @@ -977,7 +977,10 @@ public final class Utils extends com.android.settingslib.Utils { return IconCompat.createWithBitmap(bitmap); } private static Bitmap createBitmap(Drawable drawable, int width, int height) { /** * Creates a drawable with specified width and height. */ public static Bitmap createBitmap(Drawable drawable, int width, int height) { final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); Loading src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +23 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.VectorDrawable; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.LinkAddress; Loading Loading @@ -595,7 +598,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController wifiIcon.setTintList(Utils.getColorAccent(mContext)); if (mEntityHeaderController != null) { mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), mEntityHeaderController .setIcon(rescaleIconForHeader(wifiIcon)).done(mFragment.getActivity(), true /* rebind */); } Loading @@ -607,6 +611,23 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController mSignalStrengthPref.setVisible(true); } private Drawable rescaleIconForHeader(Drawable original) { final int iconSize = mContext.getResources().getDimensionPixelSize( R.dimen.wifi_detail_page_header_image_size); final int actualWidth = original.getMinimumWidth(); final int actualHeight = original.getMinimumHeight(); if ((actualWidth == iconSize && actualHeight == iconSize) || !VectorDrawable.class.isInstance(original)) { return original; } final Bitmap bitmap = Utils.createBitmap(original, iconSize /*width*/, iconSize /*height*/); return new BitmapDrawable(null /*resource*/, bitmap); } private void refreshFrequency() { if (mWifiInfo == null) { mFrequencyPref.setVisible(false); Loading Loading
res/values/dimens.xml +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ <!-- WiFi Preferences --> <dimen name="wifi_divider_height">1px</dimen> <dimen name="wifi_ap_band_checkbox_padding">16dp</dimen> <dimen name="wifi_detail_page_header_image_size">32dp</dimen> <!-- Color picker --> <dimen name="color_swatch_size">16dp</dimen> Loading
src/com/android/settings/Utils.java +4 −1 Original line number Diff line number Diff line Loading @@ -977,7 +977,10 @@ public final class Utils extends com.android.settingslib.Utils { return IconCompat.createWithBitmap(bitmap); } private static Bitmap createBitmap(Drawable drawable, int width, int height) { /** * Creates a drawable with specified width and height. */ public static Bitmap createBitmap(Drawable drawable, int width, int height) { final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); Loading
src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +23 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.VectorDrawable; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.LinkAddress; Loading Loading @@ -595,7 +598,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController wifiIcon.setTintList(Utils.getColorAccent(mContext)); if (mEntityHeaderController != null) { mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), mEntityHeaderController .setIcon(rescaleIconForHeader(wifiIcon)).done(mFragment.getActivity(), true /* rebind */); } Loading @@ -607,6 +611,23 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController mSignalStrengthPref.setVisible(true); } private Drawable rescaleIconForHeader(Drawable original) { final int iconSize = mContext.getResources().getDimensionPixelSize( R.dimen.wifi_detail_page_header_image_size); final int actualWidth = original.getMinimumWidth(); final int actualHeight = original.getMinimumHeight(); if ((actualWidth == iconSize && actualHeight == iconSize) || !VectorDrawable.class.isInstance(original)) { return original; } final Bitmap bitmap = Utils.createBitmap(original, iconSize /*width*/, iconSize /*height*/); return new BitmapDrawable(null /*resource*/, bitmap); } private void refreshFrequency() { if (mWifiInfo == null) { mFrequencyPref.setVisible(false); Loading