Merge "Fix tinting on injected pref icon"

This commit is contained in:
Linda Tseng
2019-04-03 02:06:42 +00:00
committed by Android (Google) Code Review
2 changed files with 3 additions and 13 deletions

View File

@@ -192,7 +192,9 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
@VisibleForTesting @VisibleForTesting
void bindIcon(Preference preference, Tile tile, boolean forceRoundedIcon) { void bindIcon(Preference preference, Tile tile, boolean forceRoundedIcon) {
final Icon tileIcon = tile.getIcon(mContext); // Use preference context instead here when get icon from Tile, as we are using the context
// to get the style to tint the icon. Using mContext here won't get the correct style.
final Icon tileIcon = tile.getIcon(preference.getContext());
if (tileIcon != null) { if (tileIcon != null) {
Drawable iconDrawable = tileIcon.loadDrawable(preference.getContext()); Drawable iconDrawable = tileIcon.loadDrawable(preference.getContext());
if (forceRoundedIcon if (forceRoundedIcon

View File

@@ -18,8 +18,6 @@ package com.android.settings.dashboard;
import android.app.Activity; import android.app.Activity;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Icon;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.ArrayMap; import android.util.ArrayMap;
@@ -410,10 +408,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
final Context context = getContext(); final Context context = getContext();
mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey()); mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey());
mSummaryLoader.setSummaryConsumer(this); mSummaryLoader.setSummaryConsumer(this);
final TypedArray a = context.obtainStyledAttributes(new int[]{
android.R.attr.colorControlNormal});
final int tintColor = a.getColor(0, context.getColor(android.R.color.white));
a.recycle();
// Install dashboard tiles. // Install dashboard tiles.
final boolean forceRoundedIcons = shouldForceRoundedIcon(); final boolean forceRoundedIcons = shouldForceRoundedIcon();
for (Tile tile : tiles) { for (Tile tile : tiles) {
@@ -425,12 +419,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
if (!displayTile(tile)) { if (!displayTile(tile)) {
continue; continue;
} }
if (tile.isIconTintable(context)) {
final Icon icon = tile.getIcon(context);
if (icon != null) {
icon.setTint(tintColor);
}
}
if (mDashboardTilePrefKeys.contains(key)) { if (mDashboardTilePrefKeys.contains(key)) {
// Have the key already, will rebind. // Have the key already, will rebind.
final Preference preference = screen.findPreference(key); final Preference preference = screen.findPreference(key);