Commit 86a3bbcd authored by Tomasz Wiszkowski's avatar Tomasz Wiszkowski Committed by Commit Bot

Clean up use of explicit suggestion tint colors.

Synced with jpor@ to learn why these colors are different and what
these should be. Apparently these colors are intended to be the
"disabled" color values, which was not immediately obvious.

Bug: 1028397
Change-Id: I20a0f8b9fe3f23dcaf9335961ec89ed411f2caad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2021330
Commit-Queue: Ender <ender@google.com>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735523}
parent 81921e4f
...@@ -6,7 +6,6 @@ package org.chromium.chrome.browser.omnibox.suggestions.base; ...@@ -6,7 +6,6 @@ package org.chromium.chrome.browser.omnibox.suggestions.base;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.content.res.Resources; import android.content.res.Resources;
import android.support.annotation.ColorRes;
import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewCompat;
import android.support.v7.content.res.AppCompatResources; import android.support.v7.content.res.AppCompatResources;
import android.view.View; import android.view.View;
...@@ -91,18 +90,14 @@ public final class BaseSuggestionViewBinder<T extends View> ...@@ -91,18 +90,14 @@ public final class BaseSuggestionViewBinder<T extends View>
rciv.setRoundedCorners(radius, radius, radius, radius); rciv.setRoundedCorners(radius, radius, radius, radius);
} }
@ColorRes updateIcon(view, sds, !isDarkMode(model));
int tint = isDarkMode(model) ? R.color.default_icon_color_secondary_list
: R.color.white_mode_tint;
updateIcon(view, sds, tint);
} }
/** Update attributes of decorated suggestion icon. */ /** Update attributes of decorated suggestion icon. */
private static void updateActionIcon(PropertyModel model, BaseSuggestionView baseView) { private static void updateActionIcon(PropertyModel model, BaseSuggestionView baseView) {
final ImageView view = baseView.getActionImageView(); final ImageView view = baseView.getActionImageView();
final SuggestionDrawableState sds = model.get(BaseSuggestionViewProperties.ACTION_ICON); final SuggestionDrawableState sds = model.get(BaseSuggestionViewProperties.ACTION_ICON);
updateIcon(view, sds, ChromeColors.getIconTintRes(!isDarkMode(model))); updateIcon(view, sds, !isDarkMode(model));
} }
/** /**
...@@ -128,7 +123,7 @@ public final class BaseSuggestionViewBinder<T extends View> ...@@ -128,7 +123,7 @@ public final class BaseSuggestionViewBinder<T extends View>
/** Update image view using supplied drawable state object. */ /** Update image view using supplied drawable state object. */
private static void updateIcon( private static void updateIcon(
ImageView view, SuggestionDrawableState sds, @ColorRes int tintRes) { ImageView view, SuggestionDrawableState sds, boolean useDarkColors) {
final Resources res = view.getContext().getResources(); final Resources res = view.getContext().getResources();
view.setVisibility(sds == null ? View.GONE : View.VISIBLE); view.setVisibility(sds == null ? View.GONE : View.VISIBLE);
...@@ -140,7 +135,8 @@ public final class BaseSuggestionViewBinder<T extends View> ...@@ -140,7 +135,8 @@ public final class BaseSuggestionViewBinder<T extends View>
ColorStateList tint = null; ColorStateList tint = null;
if (sds.allowTint) { if (sds.allowTint) {
tint = AppCompatResources.getColorStateList(view.getContext(), tintRes); tint = AppCompatResources.getColorStateList(
view.getContext(), ChromeColors.getIconTintRes(useDarkColors));
} }
view.setImageDrawable(sds.drawable); view.setImageDrawable(sds.drawable);
......
...@@ -35,6 +35,7 @@ class DecoratedSuggestionView<T extends View> extends SimpleHorizontalLayoutView ...@@ -35,6 +35,7 @@ class DecoratedSuggestionView<T extends View> extends SimpleHorizontalLayoutView
mSuggestionIcon = new RoundedCornerImageView(getContext()); mSuggestionIcon = new RoundedCornerImageView(getContext());
mSuggestionIcon.setScaleType(ImageView.ScaleType.FIT_CENTER); mSuggestionIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
mSuggestionIcon.setEnabled(false);
mSuggestionIcon.setLayoutParams(new LayoutParams( mSuggestionIcon.setLayoutParams(new LayoutParams(
getResources().getDimensionPixelSize(R.dimen.omnibox_suggestion_icon_area_size), getResources().getDimensionPixelSize(R.dimen.omnibox_suggestion_icon_area_size),
......
...@@ -10,7 +10,6 @@ import android.text.TextUtils; ...@@ -10,7 +10,6 @@ import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
...@@ -141,10 +140,13 @@ public class EditUrlSuggestionProcessor implements OnClickListener, SuggestionPr ...@@ -141,10 +140,13 @@ public class EditUrlSuggestionProcessor implements OnClickListener, SuggestionPr
* @param context An Android context. * @param context An Android context.
* @return An edit-URL suggestion view. * @return An edit-URL suggestion view.
*/ */
public static ViewGroup createView(Context context) { public static View createView(Context context) {
LayoutInflater inflater = View view = LayoutInflater.from(context).inflate(R.layout.edit_url_suggestion_layout, null);
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); // Note: ImageView does not support android:enabled attribute, and the (disabled) state is
return (ViewGroup) inflater.inflate(R.layout.edit_url_suggestion_layout, null); // used to drive tint color selection.
view.findViewById(R.id.edit_url_favicon).setEnabled(false);
return view;
} }
@Override @Override
......
...@@ -4,23 +4,24 @@ ...@@ -4,23 +4,24 @@
package org.chromium.chrome.browser.omnibox.suggestions.editurl; package org.chromium.chrome.browser.omnibox.suggestions.editurl;
import android.content.res.ColorStateList;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.content.res.AppCompatResources; import android.support.v7.content.res.AppCompatResources;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.omnibox.suggestions.SuggestionCommonProperties; import org.chromium.chrome.browser.omnibox.suggestions.SuggestionCommonProperties;
import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.ui.modelutil.PropertyKey; import org.chromium.ui.modelutil.PropertyKey;
import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel;
/** A mechanism for binding the {@link EditUrlSuggestionProperties} to its view. */ /** A mechanism for binding the {@link EditUrlSuggestionProperties} to its view. */
public class EditUrlSuggestionViewBinder { public class EditUrlSuggestionViewBinder {
public static void bind(PropertyModel model, ViewGroup view, PropertyKey propertyKey) { public static void bind(PropertyModel model, View view, PropertyKey propertyKey) {
if (EditUrlSuggestionProperties.TITLE_TEXT == propertyKey) { if (EditUrlSuggestionProperties.TITLE_TEXT == propertyKey) {
TextView titleView = view.findViewById(R.id.title_text_view); TextView titleView = view.findViewById(R.id.title_text_view);
titleView.setText(model.get(EditUrlSuggestionProperties.TITLE_TEXT)); titleView.setText(model.get(EditUrlSuggestionProperties.TITLE_TEXT));
...@@ -59,15 +60,15 @@ public class EditUrlSuggestionViewBinder { ...@@ -59,15 +60,15 @@ public class EditUrlSuggestionViewBinder {
Bitmap bitmap = model.get(EditUrlSuggestionProperties.SITE_FAVICON); Bitmap bitmap = model.get(EditUrlSuggestionProperties.SITE_FAVICON);
if (bitmap != null) { if (bitmap != null) {
view.setImageBitmap(bitmap); view.setImageBitmap(bitmap);
ApiCompatibilityUtils.setImageTintList(view, null);
} else { } else {
boolean useDarkColors = model.get(SuggestionCommonProperties.USE_DARK_COLORS); boolean useDarkColors = model.get(SuggestionCommonProperties.USE_DARK_COLORS);
Drawable icon = Drawable icon =
AppCompatResources.getDrawable(view.getContext(), R.drawable.ic_globe_24dp); AppCompatResources.getDrawable(view.getContext(), R.drawable.ic_globe_24dp);
int color = view.getContext().getResources().getColor(useDarkColors ColorStateList tint = AppCompatResources.getColorStateList(
? R.color.default_icon_color_secondary_list view.getContext(), ChromeColors.getIconTintRes(!useDarkColors));
: R.color.white_mode_tint);
DrawableCompat.setTint(icon, color);
view.setImageDrawable(icon); view.setImageDrawable(icon);
ApiCompatibilityUtils.setImageTintList(view, tint);
} }
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment