Redraw WiFi detail page's header icon

Tint 87% dark in day mode and 100% white for night mode

Bug: 129413562
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Test: manual test
Change-Id: Ia31231ca7871ac4efcea5e1232690ff4374df5b3
(cherry picked from commit 86f65ef488)
This commit is contained in:
clownshen
2019-04-02 19:28:56 +08:00
committed by Clown SHEN
parent 73f539d296
commit 6ef1eec2e2
2 changed files with 45 additions and 6 deletions

View File

@@ -449,8 +449,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
headerPref.findViewById(R.id.entity_header));
ImageView iconView = headerPref.findViewById(R.id.entity_header_icon);
iconView.setBackground(
mContext.getDrawable(R.drawable.ic_settings_widget_background));
iconView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
mEntityHeaderController.setLabel(mAccessPoint.getTitle());
@@ -602,10 +601,9 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
mRssiSignalLevel = signalLevel;
Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
wifiIcon.setTintList(Utils.getColorAccent(mContext));
if (mEntityHeaderController != null) {
mEntityHeaderController
.setIcon(rescaleIconForHeader(wifiIcon)).done(mFragment.getActivity(),
.setIcon(redrawIconForHeader(wifiIcon)).done(mFragment.getActivity(),
true /* rebind */);
}
@@ -617,7 +615,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
mSignalStrengthPref.setVisible(true);
}
private Drawable rescaleIconForHeader(Drawable original) {
private Drawable redrawIconForHeader(Drawable original) {
final int iconSize = mContext.getResources().getDimensionPixelSize(
R.dimen.wifi_detail_page_header_image_size);
final int actualWidth = original.getMinimumWidth();
@@ -628,10 +626,19 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
return original;
}
// clear tint list to make sure can set 87% black after enlarge
original.setTintList(null);
// enlarge icon size
final Bitmap bitmap = Utils.createBitmap(original,
iconSize /*width*/,
iconSize /*height*/);
return new BitmapDrawable(null /*resource*/, bitmap);
Drawable newIcon = new BitmapDrawable(null /*resource*/, bitmap);
// config color for 87% black after enlarge
newIcon.setTintList(Utils.getColorAttr(mContext, android.R.attr.textColorPrimary));
return newIcon;
}
private void refreshFrequency() {