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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/omnibox/AnswersImage.java

Issue 312203005: [AiS] Java bridge for AnswersImageService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@img-service
Patch Set: Created 6 years, 6 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/omnibox/AnswersImage.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AnswersImage.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AnswersImage.java
new file mode 100644
index 0000000000000000000000000000000000000000..2be96aa3890214f7e9540e128afc4ec27308bdf8
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/AnswersImage.java
@@ -0,0 +1,83 @@
+// Copyright 2014 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.omnibox;
+
+import android.graphics.Bitmap;
+
+import org.chromium.base.CalledByNative;
+import org.chromium.chrome.browser.profiles.Profile;
+
+/**
+ * Provides access to images used by Answers in Suggest.
+ */
+public class AnswersImage {
+ /**
+ * Observer for updating an image when it is available.
+ */
+ public interface AnswersImageObserver {
+ /**
+ * Called when the image is updated.
+ *
+ * @param answersImage the image
+ */
+ @CalledByNative("AnswersImageObserver")
+ public void onAnswersImageChanged(Bitmap bitmap);
+ }
+
+ /**
+ * Encapsulates requests to the AnswerImagesService.
+ */
+ public static class AnswersImageRequest {
+ public final AnswersImageObserver observer;
Ted C 2014/06/06 01:49:23 the indenting of this needs to be 4 (and many plac
groby-ooo-7-16 2014/06/13 23:52:21 Done.
+ public final int requestId;
+
+ public AnswersImageRequest(AnswersImageObserver observer, int requestId) {
+ this.observer = observer;
+ this.requestId = requestId;
+ }
+ }
+
+ /**
+ * Request image, observer is notified when image is loaded.
+ * @param profile Profile that the request is for.
+ * @param imageUrl URL for image data.
+ * @param observer Observer to be notified when image is updated.
+ * @return An AnswersImageRequest.
+ */
+ public static AnswersImageRequest requestAnswersImage(
Ted C 2014/06/06 01:49:23 why not just pass back the request ID here? You p
groby-ooo-7-16 2014/06/13 23:52:21 It allows the Java side to hold a pointer to the o
Ted C 2014/06/17 20:38:15 I don't agree with this. I think it is entirely r
groby-ooo-7-16 2014/06/17 23:46:20 So be it. We'll see what shakes out of the ownersh
+ Profile profile, String imageUrl, AnswersImageObserver observer) {
+ return nativeRequestAnswersImage(profile, imageUrl, observer);
+ }
+
+ /**
+ * Cancel a pending image request.
+ * @param profile Profile the request was issued for.
+ * @param requestId The ID of the request to be cancelled.
+ */
+ public static void cancelAnswersImageRequest(Profile profile, int requestId) {
+ nativeCancelAnswersImageRequest(profile, requestId);
+ }
+
+ /**
+ * Allows the native side to generate AnswersImageRequest objects.
+ */
+ @CalledByNative
+ private static AnswersImageRequest createAnswersImageRequest(
+ AnswersImageObserver observer, int requestId) {
+ return new AnswersImageRequest(observer, requestId);
+ }
+
+ /**
+ * Requests an image at |imageUrl| for the given |profile| with |observer| being notified.
+ * @returns an AnswersImageRequest
+ */
+ private static native AnswersImageRequest nativeRequestAnswersImage(
+ Profile profile, String imageUrl, AnswersImageObserver observer);
+
+ /**
+ * Cancels a pending request.
+ */
+ private static native void nativeCancelAnswersImageRequest(Profile profile, int requestId);
+}
« no previous file with comments | « no previous file | chrome/browser/android/chrome_jni_registrar.cc » ('j') | chrome/browser/android/omnibox/answers_image_bridge.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698