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

Commit 5cfde78a authored by Clown SHEN's avatar Clown SHEN Committed by Android (Google) Code Review
Browse files

Merge "Enlarge wifi signal icon from 24dp to 32dp for header view"

parents 86668e25 24827d35
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>
+4 −1
Original line number Diff line number Diff line
@@ -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());
+23 −2
Original line number Diff line number Diff line
@@ -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;
@@ -599,7 +602,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 */);
        }

@@ -611,6 +615,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);