Index: chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java |
deleted file mode 100644 |
index 14a0c0dacbddbe2cae82621fe4217e335115faf4..0000000000000000000000000000000000000000 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/EnhancedBookmarksBridge.java |
+++ /dev/null |
@@ -1,326 +0,0 @@ |
-// 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; |
- |
-import android.graphics.Bitmap; |
-import android.util.LruCache; |
-import android.util.Pair; |
- |
-import org.chromium.base.CalledByNative; |
-import org.chromium.base.JNINamespace; |
-import org.chromium.base.ObserverList; |
-import org.chromium.chrome.browser.profiles.Profile; |
-import org.chromium.components.bookmarks.BookmarkId; |
-import org.chromium.content_public.browser.WebContents; |
- |
-import java.util.ArrayList; |
-import java.util.Arrays; |
-import java.util.List; |
-import java.util.Map; |
- |
-/** |
- * Access gate to C++ side enhanced bookmarks functionalities. |
- */ |
-@JNINamespace("enhanced_bookmarks::android") |
-public final class EnhancedBookmarksBridge { |
- private long mNativeEnhancedBookmarksBridge; |
- private final ObserverList<FiltersObserver> mFilterObservers = |
- new ObserverList<FiltersObserver>(); |
- private final ObserverList<SearchServiceObserver> mSearchObservers = |
- new ObserverList<SearchServiceObserver>(); |
- |
- private LruCache<String, Pair<String, Bitmap>> mSalientImageCache; |
- |
- /** |
- * Interface for getting result back from SalientImageForUrl function. |
- */ |
- public interface SalientImageCallback { |
- /** |
- * Callback method for fetching salient image. |
- * @param image Salient image. This can be null if the image cannot be found. |
- * @param imageUrl Url of the image. Note this is not the same as the url of the website |
- * containing the image. |
- */ |
- @CalledByNative("SalientImageCallback") |
- void onSalientImageReady(Bitmap image, String imageUrl); |
- } |
- |
- /** |
- * Interface to provide consumers notifications to changes in clusters |
- */ |
- public interface FiltersObserver { |
- /** |
- * Invoked when client detects that filters have been added/removed from the server. |
- */ |
- void onFiltersChanged(); |
- } |
- |
- /** |
- * Interface to provide consumers notifications to changes in search service results. |
- */ |
- public interface SearchServiceObserver { |
- /** |
- * Invoked when client detects that search results have been updated. This callback is |
- * guaranteed to be called only once and only for the most recent query. |
- */ |
- void onSearchResultsReturned(); |
- } |
- |
- public EnhancedBookmarksBridge(Profile profile, int maxCacheSize) { |
- this(profile); |
- // Do not initialize LruCache if cache size is set to 0. |
- if (maxCacheSize != 0) { |
- mSalientImageCache = new LruCache<String, Pair<String, Bitmap>>(maxCacheSize) { |
- @Override |
- protected int sizeOf(String key, Pair<String, Bitmap> urlImage) { |
- return urlImage.first.length() + urlImage.second.getByteCount(); |
- } |
- }; |
- } |
- } |
- |
- public EnhancedBookmarksBridge(Profile profile) { |
- mNativeEnhancedBookmarksBridge = nativeInit(profile); |
- } |
- |
- public void destroy() { |
- assert mNativeEnhancedBookmarksBridge != 0; |
- nativeDestroy(mNativeEnhancedBookmarksBridge); |
- mNativeEnhancedBookmarksBridge = 0; |
- |
- if (mSalientImageCache != null) { |
- for (Map.Entry<String, Pair<String, Bitmap>> entry : |
- mSalientImageCache.snapshot().entrySet()) { |
- entry.getValue().second.recycle(); |
- } |
- mSalientImageCache.evictAll(); |
- } |
- } |
- |
- /** |
- * Adds a folder to the EnhancedBookmarkModel |
- * @param parent The parent of this folder |
- * @param index The position this folder should appear within the parent |
- * @param title The title of the bookmark |
- * @return The ID of the newly created folder. |
- */ |
- public BookmarkId addFolder(BookmarkId parent, int index, String title) { |
- return nativeAddFolder(mNativeEnhancedBookmarksBridge, parent, index, title); |
- } |
- |
- /** |
- * Adds a Bookmark to the EnhancedBookmarkModel |
- * @param parent The parent of this bookmark |
- * @param index The position this bookmark should appear within the parent |
- * @param title The title of the bookmark |
- * @param url URL of the bookmark |
- * @return The ID of the newly created bookmark |
- */ |
- public BookmarkId addBookmark(BookmarkId parent, int index, String title, String url) { |
- return nativeAddBookmark(mNativeEnhancedBookmarksBridge, parent, index, title, url); |
- } |
- |
- /** |
- * Moves a bookmark to another folder, and append it at the end of the list of all children. |
- * @param bookmarkId The item to be be moved |
- * @param newParentId The new parent of the item |
- */ |
- public void moveBookmark(BookmarkId bookmarkId, BookmarkId newParentId) { |
- nativeMoveBookmark(mNativeEnhancedBookmarksBridge, bookmarkId, newParentId); |
- } |
- |
- /** |
- * Get descriptions of a given bookmark. |
- * @param id The id of the bookmark to look at. |
- * @return Description of the bookmark. If given a partner bookmark, this method will return an |
- * empty list. |
- */ |
- public String getBookmarkDescription(BookmarkId id) { |
- return nativeGetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), |
- id.getType()); |
- } |
- |
- /** |
- * Sets the description of the given bookmark. |
- */ |
- public void setBookmarkDescription(BookmarkId id, String description) { |
- nativeSetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), id.getType(), |
- description); |
- } |
- |
- /** |
- * Registers a FiltersObserver to listen for filter change notifications. |
- * @param observer Observer to add |
- */ |
- public void addFiltersObserver(FiltersObserver observer) { |
- mFilterObservers.addObserver(observer); |
- } |
- |
- /** |
- * Unregisters a FiltersObserver from listening to filter change notifications. |
- * @param observer Observer to remove |
- */ |
- public void removeFiltersObserver(FiltersObserver observer) { |
- mFilterObservers.removeObserver(observer); |
- } |
- |
- /** |
- * Gets all the bookmark ids associated with a filter string. |
- * @param filter The filter string |
- * @return List of bookmark ids |
- */ |
- public List<BookmarkId> getBookmarksForFilter(String filter) { |
- List<BookmarkId> list = new ArrayList<BookmarkId>(); |
- nativeGetBookmarksForFilter(mNativeEnhancedBookmarksBridge, filter, list); |
- return list; |
- } |
- |
- /** |
- * Sends request to search server for querying related bookmarks. |
- * @param query Keyword used to find related bookmarks. |
- */ |
- public void sendSearchRequest(String query) { |
- nativeSendSearchRequest(mNativeEnhancedBookmarksBridge, query); |
- } |
- |
- /** |
- * Get list of bookmarks as result of a search request that was sent before in |
- * {@link EnhancedBookmarksBridge#sendSearchRequest(String)}. Normally this function should be |
- * called after {@link SearchServiceObserver#onSearchResultsReturned()} |
- * @param query Keyword used to find related bookmarks. |
- * @return List of BookmarkIds that are related to query. It will be null if the request is |
- * still on the fly, or empty list if there are no results for the query. |
- */ |
- public List<BookmarkId> getSearchResultsForQuery(String query) { |
- return nativeGetSearchResults(mNativeEnhancedBookmarksBridge, query); |
- } |
- |
- /** |
- * Registers a SearchObserver that listens to search request updates. |
- * @param observer Observer to add |
- */ |
- public void addSearchObserver(SearchServiceObserver observer) { |
- mSearchObservers.addObserver(observer); |
- } |
- |
- /** |
- * Unregisters a SearchObserver that listens to search request updates. |
- * @param observer Observer to remove |
- */ |
- public void removeSearchObserver(SearchServiceObserver observer) { |
- mSearchObservers.removeObserver(observer); |
- } |
- |
- /** |
- * Request bookmark salient image for the given URL. Please refer to |
- * |BookmarkImageService::SalientImageForUrl|. |
- * @return True if this method is executed synchronously. False if |
- * {@link SalientImageCallback#onSalientImageReady(Bitmap, String)} is called later |
- * (asynchronously). |
- */ |
- public boolean salientImageForUrl(final String url, final SalientImageCallback callback) { |
- assert callback != null; |
- SalientImageCallback callbackWrapper = callback; |
- |
- if (mSalientImageCache != null) { |
- Pair<String, Bitmap> cached = mSalientImageCache.get(url); |
- if (cached != null) { |
- callback.onSalientImageReady(cached.second, cached.first); |
- return true; |
- } |
- |
- callbackWrapper = new SalientImageCallback() { |
- @Override |
- public void onSalientImageReady(Bitmap image, String imageUrl) { |
- if (image != null) { |
- mSalientImageCache.put(url, new Pair<String, Bitmap>(imageUrl, image)); |
- } |
- callback.onSalientImageReady(image, imageUrl); |
- } |
- }; |
- } |
- |
- nativeSalientImageForUrl(mNativeEnhancedBookmarksBridge, url, callbackWrapper); |
- return false; |
- } |
- |
- /** |
- * Parses the web content of a tab, and stores salient images to local database. |
- * @param webContents Contents of the tab that the user is currently in. |
- */ |
- public void fetchImageForTab(WebContents webContents) { |
- nativeFetchImageForTab(mNativeEnhancedBookmarksBridge, webContents); |
- } |
- |
- /** |
- * Get all filters associated with the given bookmark. |
- * |
- * @param bookmark The bookmark to find filters for. |
- * @return Array of Strings, each representing a filter. If given a partner bookmark, this |
- * method will return an empty array. |
- */ |
- public String[] getFiltersForBookmark(BookmarkId bookmark) { |
- return nativeGetFiltersForBookmark(mNativeEnhancedBookmarksBridge, bookmark.getId(), |
- bookmark.getType()); |
- } |
- |
- /** |
- * @return Current set of known auto-filters for bookmarks. |
- */ |
- public List<String> getFilters() { |
- List<String> list = |
- Arrays.asList(nativeGetFilters(mNativeEnhancedBookmarksBridge)); |
- return list; |
- } |
- |
- @CalledByNative |
- private void onFiltersChanged() { |
- for (FiltersObserver observer : mFilterObservers) { |
- observer.onFiltersChanged(); |
- } |
- } |
- |
- @CalledByNative |
- private void onSearchResultReturned() { |
- for (SearchServiceObserver observer : mSearchObservers) { |
- observer.onSearchResultsReturned(); |
- } |
- } |
- |
- @CalledByNative |
- private static List<BookmarkId> createBookmarkIdList() { |
- return new ArrayList<BookmarkId>(); |
- } |
- |
- @CalledByNative |
- private static void addToBookmarkIdList(List<BookmarkId> bookmarkIdList, long id, int type) { |
- bookmarkIdList.add(new BookmarkId(id, type)); |
- } |
- |
- private native long nativeInit(Profile profile); |
- private native void nativeDestroy(long nativeEnhancedBookmarksBridge); |
- private native String nativeGetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, |
- int type); |
- private native void nativeSetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, |
- int type, String description); |
- private native void nativeGetBookmarksForFilter(long nativeEnhancedBookmarksBridge, |
- String filter, List<BookmarkId> list); |
- private native List<BookmarkId> nativeGetSearchResults(long nativeEnhancedBookmarksBridge, |
- String query); |
- private native String[] nativeGetFilters(long nativeEnhancedBookmarksBridge); |
- private native String[] nativeGetFiltersForBookmark(long nativeEnhancedBookmarksBridge, long id, |
- int type); |
- private native BookmarkId nativeAddFolder(long nativeEnhancedBookmarksBridge, BookmarkId parent, |
- int index, String title); |
- private native void nativeMoveBookmark(long nativeEnhancedBookmarksBridge, |
- BookmarkId bookmarkId, BookmarkId newParentId); |
- private native BookmarkId nativeAddBookmark(long nativeEnhancedBookmarksBridge, |
- BookmarkId parent, int index, String title, String url); |
- private native void nativeSendSearchRequest(long nativeEnhancedBookmarksBridge, String query); |
- private native void nativeSalientImageForUrl(long nativeEnhancedBookmarksBridge, |
- String url, SalientImageCallback callback); |
- private native void nativeFetchImageForTab(long nativeEnhancedBookmarksBridge, |
- WebContents webContents); |
-} |