// 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.annotations.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); } /** * 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. The C++ side will hold a * strong reference to this. * @return A request_id. */ public static int requestAnswersImage( 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); } /** * Requests an image at |imageUrl| for the given |profile| with |observer| being notified. * @returns an AnswersImageRequest */ private static native int nativeRequestAnswersImage( Profile profile, String imageUrl, AnswersImageObserver observer); /** * Cancels a pending request. */ private static native void nativeCancelAnswersImageRequest(Profile profile, int requestId); }