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

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDelegate.java

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 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_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDelegate.java
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDelegate.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDelegate.java
new file mode 100644
index 0000000000000000000000000000000000000000..fda2878df480146559ea5fe7e917cbbf0b79e844
--- /dev/null
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDelegate.java
@@ -0,0 +1,170 @@
+// Copyright 2015 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.enhancedbookmarks;
+
+import android.support.annotation.Nullable;
+import android.support.v4.widget.DrawerLayout;
+import android.view.View;
+
+import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksModel;
+import org.chromium.chrome.browser.enhanced_bookmarks.LaunchLocation;
+import org.chromium.components.bookmarks.BookmarkId;
+
+import java.util.List;
+
+/**
+ * Interface used among EnhancedBookmark UI components to broadcast UI change notifications and get
+ * bookmark data model.
+ */
+interface EnhancedBookmarkDelegate {
+
+ /**
+ * Delegate used to open urls for main fragment on tablet.
+ */
+ interface EnhancedBookmarkStateChangeListener {
+ /**
+ * Let the tab containing bookmark manager load the url and later handle UI updates.
+ * @param url The url to open in tab.
+ */
+ public void onBookmarkUIStateChange(String url);
+ }
+
+ static final int STATE_LOADING = 0;
+ static final int STATE_ALL_BOOKMARKS = 1;
+ static final int STATE_FOLDER = 2;
+ static final int STATE_FILTER = 3;
+
+ /**
+ * Corresponds to "All Items" list item in the side drawer. Shows all bookmarks.
+ */
+ void openAllBookmarks();
+
+ /**
+ * Corresponds to any folder named list item in the side drawer. Shows bookmarks under the
+ * folder.
+ * @param folder Parent folder that contains bookmarks to show as its children.
+ */
+ void openFolder(BookmarkId folder);
+
+ /**
+ * Corresponds to any filter list item in the side drawer. Shows bookmarks under the
+ * filter.
+ * @param filter Filter string to search
+ */
+ void openFilter(String filter);
+
+ /**
+ * Clear all selected items. After this call, {@link #isSelectionEnabled()} will return false.
+ */
+ void clearSelection();
+
+ /**
+ * Toggle the selection state of a bookmark. If the given bookmark is not
+ * editable, it will take no effect.
+ * @return True if the bookmark is selected after toggling. False otherwise.
+ */
+ boolean toggleSelectionForBookmark(BookmarkId bookmark);
+
+ /**
+ * @return True if the bookmark is selected. False otherwise.
+ */
+ boolean isBookmarkSelected(BookmarkId bookmark);
+
+ /**
+ * @return Whether selection is happening.
+ */
+ boolean isSelectionEnabled();
+
+ /**
+ * @return The list of bookmarks that are currently selected by the user.
+ */
+ List<BookmarkId> getSelectedBookmarks();
+
+ /**
+ * Sets list mode. If the mode is toggles,
+ * {@link EnhancedBookmarkUIObserver#onListModeChange(boolean)} will be called.
+ */
+ void setListModeEnabled(boolean isListModeEnabled);
+
+ /**
+ * @return True is list mode is enabled. False otherwise.
+ */
+ boolean isListModeEnabled();
+
+ /**
+ * Notifies the current mode set event to the given observer. For example, if the current mode
+ * is MODE_ALL_BOOKMARKS, it calls onAllBookmarksModeSet.
+ */
+ void notifyStateChange(EnhancedBookmarkUIObserver observer);
+
+ /**
+ * @return Whether there is a drawer.
+ */
+ boolean doesDrawerExist();
+
+ /**
+ * Close drawer if it's visible.
+ */
+ void closeDrawer();
+
+ /**
+ * @return The current drawer layout instance, if it exists.
+ */
+ DrawerLayout getDrawerLayout();
+
+ /**
+ * Closes the EnhancedBookmark UI (if on phone) and opens the given bookmark.
+ * @param bookmark bookmark to open.
+ * @param launchLocation The UI location where user tried to open bookmark. It is one of
+ * {@link LaunchLocation} values
+ */
+ void openBookmark(BookmarkId bookmark, int launchLocation);
+
+ /**
+ * Starts detail activity with shared element animation. On Lollipop and later devices, shows a
+ * shared image animation. On earlier devices, opens the activity using the standard Activity
+ * transition.
+ * @param bookmarkId The bookmark that the detail activity shows.
+ * @param view The view to share for activity transition animation. If null, no transition is
+ * displayed.
+ */
+ void startDetailActivity(BookmarkId bookmarkId, @Nullable View view);
+
+ /**
+ * Shows the search UI.
+ */
+ void openSearchUI();
+
+ /**
+ * Dismisses the search UI.
+ */
+ void closeSearchUI();
+
+ /**
+ * Closes the EnhancedBookmark Activity on Phone. Does nothing on tablet.
+ */
+ void finishActivityOnPhone();
+
+ /**
+ * Add an observer to enhanced bookmark UI changes.
+ */
+ void addUIObserver(EnhancedBookmarkUIObserver observer);
+
+ /**
+ * Remove an observer of enhanced bookmark UI changes.
+ */
+ void removeUIObserver(EnhancedBookmarkUIObserver observer);
+
+ /**
+ * @return Enhanced bookmark data model associated with this UI.
+ */
+ EnhancedBookmarksModel getModel();
+
+ /**
+ * @return Current UIState of Enhanced Bookmark main UI. If no mode is stored,
+ * {@link EnhancedBookmarkDelegate#STATE_LOADING} is returned.
+ */
+ int getCurrentState();
+}

Powered by Google App Engine
This is Rietveld 408576698