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

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

Issue 923653002: Upstream Enhanced Bookmark Model (2nd Trial) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « build/get_landmines.py ('k') | chrome/android/java/src/org/chromium/chrome/browser/OWNERS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
-}
« no previous file with comments | « build/get_landmines.py ('k') | chrome/android/java/src/org/chromium/chrome/browser/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698