Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java |
index f3d5ad7663ef149cc106dac24b3b00a0c52895e8..c5a88846ebdc5e4c968a4a31984eac74e0feaa71 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java |
@@ -47,6 +47,11 @@ public class ContextualSearchBarControl |
private final ContextualSearchCaptionControl mCaptionControl; |
/** |
+ * The {@link ContextualSearchQuickActionControl} used to control quick action behavior. |
+ */ |
+ private final ContextualSearchQuickActionControl mQuickActionControl; |
+ |
+ /** |
* The opacity of the Bar's Search Context. |
*/ |
private float mSearchBarContextOpacity = 1.f; |
@@ -76,6 +81,7 @@ public class ContextualSearchBarControl |
mContextControl = new ContextualSearchContextControl(panel, context, container, loader); |
mSearchTermControl = new ContextualSearchTermControl(panel, context, container, loader); |
mCaptionControl = new ContextualSearchCaptionControl(panel, context, container, loader); |
+ mQuickActionControl = new ContextualSearchQuickActionControl(); |
mTextLayerMinHeight = context.getResources().getDimension( |
R.dimen.contextual_search_text_layer_min_height); |
@@ -115,6 +121,7 @@ public class ContextualSearchBarControl |
public void setSearchContext(String selection, String end) { |
cancelSearchTermResolutionAnimation(); |
hideCaption(); |
+ mQuickActionControl.reset(); |
mContextControl.setSearchContext(selection, end); |
resetSearchBarContextOpacity(); |
} |
@@ -126,6 +133,7 @@ public class ContextualSearchBarControl |
public void setSearchTerm(String searchTerm) { |
cancelSearchTermResolutionAnimation(); |
hideCaption(); |
+ mQuickActionControl.reset(); |
mSearchTermControl.setSearchTerm(searchTerm); |
resetSearchBarTermOpacity(); |
} |
@@ -191,6 +199,27 @@ public class ContextualSearchBarControl |
} |
/** |
+ * Sets the quick action if one is available. |
+ * @param quickActionUri The URI for the intent associated with the quick action. |
+ * @param quickActionCategory The category for the quick action. |
+ */ |
+ public void setQuickAction(String quickActionUri, String quickActionCategory) { |
+ mQuickActionControl.setQuickAction(quickActionUri, quickActionCategory); |
+ if (mQuickActionControl.hasQuickAction()) { |
+ // TODO(twellington): should the quick action caption be stored separately from the |
+ // regular caption? |
+ mCaptionControl.setCaption(mQuickActionControl.getCaption()); |
+ } |
+ } |
+ |
+ /** |
+ * @return The {@link ContextualSearchQuickActionControl} for the panel. |
+ */ |
+ public ContextualSearchQuickActionControl getQuickActionControl() { |
+ return mQuickActionControl; |
+ } |
+ |
+ /** |
* Resets the SearchBar text opacity when a new search context is set. The search |
* context is made visible and the search term invisible. |
*/ |