Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java

Issue 2440843002: [Contextual Search] Pipe basic quick action data from C++ to Java (Closed)
Patch Set: [Contextual Search] Pipe basic quick action data from C++ to Java Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5db7e7363ac1fd39e495df100886543fd8e61ce
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java
@@ -0,0 +1,83 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.compositor.bottombar.contextualsearch;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import java.net.URISyntaxException;
+
+/**
+ * Stores information related to a Contextual Search "quick action."
+ */
+public class ContextualSearchQuickActionControl {
+ private String mQuickActionUri;
+ private String mQuickActionCategory;
+
+ /**
+ * @param quickActionUri The URI for the intent associated with the quick action. If the URI is
+ * the empty string or cannot be parsed no quick action will be available.
+ * @param quickActionCategory The category for the quick action.
+ */
+ public void setQuickAction(String quickActionUri, String quickActionCategory) {
+ mQuickActionUri = quickActionUri;
+ mQuickActionCategory = quickActionCategory;
+
+ // TODO(twellington): resolve the intent to determine what caption and icon to use.
+ }
+
+ /**
+ * Sends the intent associated with the quick action if one is available.
+ * @param activity The {@link Activity} used to send the intent.
+ */
+ public void sendIntent(Activity activity) {
+ // TODO(twellington): use resolved intent rather than parsing mQuickActionUri directly.
+ Intent intent;
+ try {
+ intent = Intent.parseUri(mQuickActionUri, 0);
+ } catch (URISyntaxException e) {
+ // Ignore parsing errors.
+ return;
+ }
+ activity.startActivity(intent);
+ }
+
+ /**
+ * @return The caption associated with the quick action or null if no quick action is
+ * available.
+ */
+ public String getCaption() {
+ // TODO(twellington): Use quickActionCategory to determine the caption string.
+ return null;
+ }
+
+ /**
+ * @return The resource id for the icon associated with the quick action or 0 if no quick
+ * action is available.
+ */
+ public int getIconResId() {
+ // TODO(twellington): Implement associating a drawable resource or app icon with the
+ // the quick action. This icon res id should eventually get set on
+ // ContextualSearchImageControl which needs to be refactored to include support for a
+ // static icon.
+ return 0;
+ }
+
+ /**
+ * @return Whether there is currently a quick action available.
+ */
+ public boolean hasQuickAction() {
+ // TODO(twellington): Determine if a quick action is available by resolving the intent.
+ return false;
+ }
+
+ /**
+ * Resets quick action data.
+ */
+ public void reset() {
+ mQuickActionUri = "";
+ mQuickActionCategory = "";
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698