Enlarge wifi signal icon from 24dp to 32dp for header view
Bug: 129413562 Test: manual test Change-Id: I50a27ac25e5ae42530736bb7c019485a51d707ba
This commit is contained in:
@@ -176,6 +176,7 @@
|
|||||||
<!-- WiFi Preferences -->
|
<!-- WiFi Preferences -->
|
||||||
<dimen name="wifi_divider_height">1px</dimen>
|
<dimen name="wifi_divider_height">1px</dimen>
|
||||||
<dimen name="wifi_ap_band_checkbox_padding">16dp</dimen>
|
<dimen name="wifi_ap_band_checkbox_padding">16dp</dimen>
|
||||||
|
<dimen name="wifi_detail_page_header_image_size">32dp</dimen>
|
||||||
|
|
||||||
<!-- Color picker -->
|
<!-- Color picker -->
|
||||||
<dimen name="color_swatch_size">16dp</dimen>
|
<dimen name="color_swatch_size">16dp</dimen>
|
||||||
|
@@ -977,7 +977,10 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
return IconCompat.createWithBitmap(bitmap);
|
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 Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
|
||||||
final Canvas canvas = new Canvas(bitmap);
|
final Canvas canvas = new Canvas(bitmap);
|
||||||
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
|
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
|
||||||
|
@@ -27,7 +27,10 @@ import android.content.BroadcastReceiver;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.drawable.BitmapDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.graphics.drawable.VectorDrawable;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.ConnectivityManager.NetworkCallback;
|
import android.net.ConnectivityManager.NetworkCallback;
|
||||||
import android.net.LinkAddress;
|
import android.net.LinkAddress;
|
||||||
@@ -595,8 +598,9 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
|||||||
|
|
||||||
wifiIcon.setTintList(Utils.getColorAccent(mContext));
|
wifiIcon.setTintList(Utils.getColorAccent(mContext));
|
||||||
if (mEntityHeaderController != null) {
|
if (mEntityHeaderController != null) {
|
||||||
mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(),
|
mEntityHeaderController
|
||||||
true /* rebind */);
|
.setIcon(rescaleIconForHeader(wifiIcon)).done(mFragment.getActivity(),
|
||||||
|
true /* rebind */);
|
||||||
}
|
}
|
||||||
|
|
||||||
Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate();
|
Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate();
|
||||||
@@ -607,6 +611,23 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
|||||||
mSignalStrengthPref.setVisible(true);
|
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() {
|
private void refreshFrequency() {
|
||||||
if (mWifiInfo == null) {
|
if (mWifiInfo == null) {
|
||||||
mFrequencyPref.setVisible(false);
|
mFrequencyPref.setVisible(false);
|
||||||
|
Reference in New Issue
Block a user