Commit 7ae63182 authored by Tomasz Wiszkowski's avatar Tomasz Wiszkowski Committed by Commit Bot

Create Refine icon from BaseSuggestionViewProcessor.

This allows BaseSuggestionViewProcessor to create refine icon on behalf of
the actual view processor.

Bug: 982818
Change-Id: I4424ec9d2e5d1f2fd25f1bc3ce0795076d998852
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1856901
Commit-Queue: Ender <ender@google.com>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarPatrick Noland <pnoland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706617}
parent 8181edf2
...@@ -47,7 +47,7 @@ public class AnswerSuggestionProcessor extends BaseSuggestionViewProcessor { ...@@ -47,7 +47,7 @@ public class AnswerSuggestionProcessor extends BaseSuggestionViewProcessor {
*/ */
public AnswerSuggestionProcessor(Context context, SuggestionHost suggestionHost, public AnswerSuggestionProcessor(Context context, SuggestionHost suggestionHost,
UrlBarEditingTextStateProvider editingTextProvider) { UrlBarEditingTextStateProvider editingTextProvider) {
super(suggestionHost); super(context, suggestionHost);
mContext = context; mContext = context;
mSuggestionHost = suggestionHost; mSuggestionHost = suggestionHost;
mPendingAnswerRequestUrls = new HashMap<>(); mPendingAnswerRequestUrls = new HashMap<>();
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
package org.chromium.chrome.browser.omnibox.suggestions.base; package org.chromium.chrome.browser.omnibox.suggestions.base;
import android.content.Context;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestion; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestion;
import org.chromium.chrome.browser.omnibox.suggestions.SuggestionProcessor; import org.chromium.chrome.browser.omnibox.suggestions.SuggestionProcessor;
import org.chromium.chrome.browser.omnibox.suggestions.basic.SuggestionHost; import org.chromium.chrome.browser.omnibox.suggestions.basic.SuggestionHost;
...@@ -14,12 +17,14 @@ import org.chromium.ui.modelutil.PropertyModel; ...@@ -14,12 +17,14 @@ import org.chromium.ui.modelutil.PropertyModel;
* A class that handles base properties and model for most suggestions. * A class that handles base properties and model for most suggestions.
*/ */
public abstract class BaseSuggestionViewProcessor implements SuggestionProcessor { public abstract class BaseSuggestionViewProcessor implements SuggestionProcessor {
private final Context mContext;
private final SuggestionHost mSuggestionHost; private final SuggestionHost mSuggestionHost;
/** /**
* @param host A handle to the object using the suggestions. * @param host A handle to the object using the suggestions.
*/ */
public BaseSuggestionViewProcessor(SuggestionHost host) { public BaseSuggestionViewProcessor(Context context, SuggestionHost host) {
mContext = context;
mSuggestionHost = host; mSuggestionHost = host;
} }
...@@ -55,7 +60,16 @@ public abstract class BaseSuggestionViewProcessor implements SuggestionProcessor ...@@ -55,7 +60,16 @@ public abstract class BaseSuggestionViewProcessor implements SuggestionProcessor
mSuggestionHost.createSuggestionViewDelegate(suggestion, position); mSuggestionHost.createSuggestionViewDelegate(suggestion, position);
model.set(BaseSuggestionViewProperties.SUGGESTION_DELEGATE, delegate); model.set(BaseSuggestionViewProperties.SUGGESTION_DELEGATE, delegate);
model.set(BaseSuggestionViewProperties.ICON, null);
model.set(BaseSuggestionViewProperties.ACTION_ICON, null); if (canRefine(suggestion)) {
setActionDrawableState(model,
SuggestionDrawableState.Builder
.forDrawableRes(mContext, R.drawable.btn_suggestion_refine)
.setLarge(true)
.setAllowTint(true)
.build());
} else {
setActionDrawableState(model, null);
}
} }
} }
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