OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.enhancedbookmarks; | 5 package org.chromium.chrome.browser.bookmarks; |
6 | 6 |
7 import android.app.Activity; | 7 import android.app.Activity; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.support.v7.app.ActionBarDrawerToggle; | 9 import android.support.v7.app.ActionBarDrawerToggle; |
10 import android.support.v7.widget.Toolbar; | 10 import android.support.v7.widget.Toolbar; |
11 import android.support.v7.widget.Toolbar.OnMenuItemClickListener; | 11 import android.support.v7.widget.Toolbar.OnMenuItemClickListener; |
12 import android.text.TextUtils; | 12 import android.text.TextUtils; |
13 import android.util.AttributeSet; | 13 import android.util.AttributeSet; |
14 import android.view.MenuItem; | 14 import android.view.MenuItem; |
15 import android.view.View; | 15 import android.view.View; |
16 import android.view.View.OnClickListener; | 16 import android.view.View.OnClickListener; |
17 | 17 |
18 import org.chromium.base.ApiCompatibilityUtils; | 18 import org.chromium.base.ApiCompatibilityUtils; |
19 import org.chromium.chrome.R; | 19 import org.chromium.chrome.R; |
20 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem; | 20 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem; |
21 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserve r; | 21 import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserve r; |
22 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; | 22 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; |
23 import org.chromium.chrome.browser.widget.NumberRollView; | 23 import org.chromium.chrome.browser.widget.NumberRollView; |
24 import org.chromium.components.bookmarks.BookmarkId; | 24 import org.chromium.components.bookmarks.BookmarkId; |
25 import org.chromium.components.bookmarks.BookmarkType; | 25 import org.chromium.components.bookmarks.BookmarkType; |
26 | 26 |
27 import java.util.List; | 27 import java.util.List; |
28 | 28 |
29 /** | 29 /** |
30 * Main action bar of Enhanced Bookmark UI. It is responsible for displaying tit le and buttons | 30 * Main action bar of Enhanced Bookmark UI. It is responsible for displaying tit le and buttons |
31 * associated with the current context. | 31 * associated with the current context. |
32 */ | 32 */ |
33 public class EnhancedBookmarkActionBar extends Toolbar implements EnhancedBookma rkUIObserver, | 33 public class BookmarkActionBar extends Toolbar implements BookmarkUIObserver, |
34 OnMenuItemClickListener, OnClickListener { | 34 OnMenuItemClickListener, OnClickListener { |
35 private static final int NAVIGATION_BUTTON_NONE = 0; | 35 private static final int NAVIGATION_BUTTON_NONE = 0; |
36 private static final int NAVIGATION_BUTTON_MENU = 1; | 36 private static final int NAVIGATION_BUTTON_MENU = 1; |
37 private static final int NAVIGATION_BUTTON_BACK = 2; | 37 private static final int NAVIGATION_BUTTON_BACK = 2; |
38 private static final int NAVIGATION_BUTTON_SELECTION_BACK = 3; | 38 private static final int NAVIGATION_BUTTON_SELECTION_BACK = 3; |
39 | 39 |
40 private int mNavigationButton; | 40 private int mNavigationButton; |
41 private BookmarkItem mCurrentFolder; | 41 private BookmarkItem mCurrentFolder; |
42 private EnhancedBookmarkDelegate mDelegate; | 42 private BookmarkDelegate mDelegate; |
43 private ActionBarDrawerToggle mActionBarDrawerToggle; | 43 private ActionBarDrawerToggle mActionBarDrawerToggle; |
44 private boolean mIsSelectionEnabled; | 44 private boolean mIsSelectionEnabled; |
45 | 45 |
46 private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObse rver() { | 46 private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObse rver() { |
47 @Override | 47 @Override |
48 public void bookmarkModelChanged() { | 48 public void bookmarkModelChanged() { |
49 onSelectionStateChange(mDelegate.getSelectedBookmarks()); | 49 onSelectionStateChange(mDelegate.getSelectedBookmarks()); |
50 } | 50 } |
51 }; | 51 }; |
52 | 52 |
53 public EnhancedBookmarkActionBar(Context context, AttributeSet attrs) { | 53 public BookmarkActionBar(Context context, AttributeSet attrs) { |
54 super(context, attrs); | 54 super(context, attrs); |
55 setNavigationOnClickListener(this); | 55 setNavigationOnClickListener(this); |
56 inflateMenu(R.menu.eb_action_bar_menu); | 56 inflateMenu(R.menu.eb_action_bar_menu); |
57 setOnMenuItemClickListener(this); | 57 setOnMenuItemClickListener(this); |
58 | 58 |
59 getMenu() | 59 getMenu() |
60 .findItem(R.id.search_menu_id) | 60 .findItem(R.id.search_menu_id) |
61 .setTitle(OfflinePageUtils.getStringId( | 61 .setTitle(OfflinePageUtils.getStringId( |
62 R.string.enhanced_bookmark_action_bar_search)); | 62 R.string.enhanced_bookmark_action_bar_search)); |
63 getMenu() | 63 getMenu() |
(...skipping 23 matching lines...) Expand all Loading... | |
87 mDelegate.clearSelection(); | 87 mDelegate.clearSelection(); |
88 break; | 88 break; |
89 default: | 89 default: |
90 assert false : "Incorrect navigation button state"; | 90 assert false : "Incorrect navigation button state"; |
91 } | 91 } |
92 } | 92 } |
93 | 93 |
94 @Override | 94 @Override |
95 public boolean onMenuItemClick(MenuItem menuItem) { | 95 public boolean onMenuItemClick(MenuItem menuItem) { |
96 if (menuItem.getItemId() == R.id.edit_menu_id) { | 96 if (menuItem.getItemId() == R.id.edit_menu_id) { |
97 EnhancedBookmarkAddEditFolderActivity.startEditFolderActivity(getCon text(), | 97 BookmarkAddEditFolderActivity.startEditFolderActivity(getContext(), |
98 mCurrentFolder.getId()); | 98 mCurrentFolder.getId()); |
99 } else if (menuItem.getItemId() == R.id.close_menu_id) { | 99 } else if (menuItem.getItemId() == R.id.close_menu_id) { |
100 EnhancedBookmarkUtils.finishActivityOnPhone(getContext()); | 100 BookmarkUtils.finishActivityOnPhone(getContext()); |
101 return true; | 101 return true; |
102 } else if (menuItem.getItemId() == R.id.search_menu_id) { | 102 } else if (menuItem.getItemId() == R.id.search_menu_id) { |
103 mDelegate.openSearchUI(); | 103 mDelegate.openSearchUI(); |
104 return true; | 104 return true; |
105 } else if (menuItem.getItemId() == R.id.selection_mode_edit_menu_id) { | 105 } else if (menuItem.getItemId() == R.id.selection_mode_edit_menu_id) { |
106 List<BookmarkId> list = mDelegate.getSelectedBookmarks(); | 106 List<BookmarkId> list = mDelegate.getSelectedBookmarks(); |
107 assert list.size() == 1; | 107 assert list.size() == 1; |
108 BookmarkItem item = mDelegate.getModel().getBookmarkById(list.get(0) ); | 108 BookmarkItem item = mDelegate.getModel().getBookmarkById(list.get(0) ); |
109 if (item.isFolder()) { | 109 if (item.isFolder()) { |
110 EnhancedBookmarkAddEditFolderActivity.startEditFolderActivity(ge tContext(), | 110 BookmarkAddEditFolderActivity.startEditFolderActivity(getContext (), |
111 item.getId()); | 111 item.getId()); |
Ian Wen
2016/02/10 22:59:04
Push #111 to #110?
newt (away)
2016/02/11 03:10:07
Done.
| |
112 } else { | 112 } else { |
113 EnhancedBookmarkUtils.startEditActivity(getContext(), item.getId (), null); | 113 BookmarkUtils.startEditActivity(getContext(), item.getId(), null ); |
114 } | 114 } |
115 return true; | 115 return true; |
116 } else if (menuItem.getItemId() == R.id.selection_mode_move_menu_id) { | 116 } else if (menuItem.getItemId() == R.id.selection_mode_move_menu_id) { |
117 List<BookmarkId> list = mDelegate.getSelectedBookmarks(); | 117 List<BookmarkId> list = mDelegate.getSelectedBookmarks(); |
118 if (list.size() >= 1) { | 118 if (list.size() >= 1) { |
119 EnhancedBookmarkFolderSelectActivity.startFolderSelectActivity(g etContext(), | 119 BookmarkFolderSelectActivity.startFolderSelectActivity(getContex t(), |
120 list.toArray(new BookmarkId[list.size()])); | 120 list.toArray(new BookmarkId[list.size()])); |
121 } | 121 } |
122 return true; | 122 return true; |
123 } else if (menuItem.getItemId() == R.id.selection_mode_delete_menu_id) { | 123 } else if (menuItem.getItemId() == R.id.selection_mode_delete_menu_id) { |
124 mDelegate.getModel().deleteBookmarks( | 124 mDelegate.getModel().deleteBookmarks( |
125 mDelegate.getSelectedBookmarks().toArray(new BookmarkId[0])) ; | 125 mDelegate.getSelectedBookmarks().toArray(new BookmarkId[0])) ; |
126 return true; | 126 return true; |
127 } | 127 } |
128 | 128 |
129 assert false : "Unhandled menu click."; | 129 assert false : "Unhandled menu click."; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
194 mActionBarDrawerToggle.syncState(); | 194 mActionBarDrawerToggle.syncState(); |
195 } | 195 } |
196 | 196 |
197 void showLoadingUi() { | 197 void showLoadingUi() { |
198 setTitle(null); | 198 setTitle(null); |
199 setNavigationButton(NAVIGATION_BUTTON_NONE); | 199 setNavigationButton(NAVIGATION_BUTTON_NONE); |
200 getMenu().findItem(R.id.search_menu_id).setVisible(false); | 200 getMenu().findItem(R.id.search_menu_id).setVisible(false); |
201 getMenu().findItem(R.id.edit_menu_id).setVisible(false); | 201 getMenu().findItem(R.id.edit_menu_id).setVisible(false); |
202 } | 202 } |
203 | 203 |
204 // EnhancedBookmarkUIObserver implementations. | 204 // BookmarkUIObserver implementations. |
205 | 205 |
206 @Override | 206 @Override |
207 public void onEnhancedBookmarkDelegateInitialized(EnhancedBookmarkDelegate d elegate) { | 207 public void onBookmarkDelegateInitialized(BookmarkDelegate delegate) { |
208 mDelegate = delegate; | 208 mDelegate = delegate; |
209 mDelegate.addUIObserver(this); | 209 mDelegate.addUIObserver(this); |
210 if (!delegate.isDialogUi()) getMenu().removeItem(R.id.close_menu_id); | 210 if (!delegate.isDialogUi()) getMenu().removeItem(R.id.close_menu_id); |
211 delegate.getModel().addObserver(mBookmarkModelObserver); | 211 delegate.getModel().addObserver(mBookmarkModelObserver); |
212 } | 212 } |
213 | 213 |
214 @Override | 214 @Override |
215 public void onDestroy() { | 215 public void onDestroy() { |
216 mDelegate.removeUIObserver(this); | 216 mDelegate.removeUIObserver(this); |
217 mDelegate.getModel().removeObserver(mBookmarkModelObserver); | 217 mDelegate.getModel().removeObserver(mBookmarkModelObserver); |
(...skipping 23 matching lines...) Expand all Loading... | |
241 setTitle(mCurrentFolder.getTitle()); | 241 setTitle(mCurrentFolder.getTitle()); |
242 } | 242 } |
243 setNavigationButton(NAVIGATION_BUTTON_MENU); | 243 setNavigationButton(NAVIGATION_BUTTON_MENU); |
244 } else { | 244 } else { |
245 setTitle(mCurrentFolder.getTitle()); | 245 setTitle(mCurrentFolder.getTitle()); |
246 setNavigationButton(NAVIGATION_BUTTON_BACK); | 246 setNavigationButton(NAVIGATION_BUTTON_BACK); |
247 } | 247 } |
248 } | 248 } |
249 | 249 |
250 @Override | 250 @Override |
251 public void onFilterStateSet(EnhancedBookmarkFilter filter) { | 251 public void onFilterStateSet(BookmarkFilter filter) { |
252 assert filter == EnhancedBookmarkFilter.OFFLINE_PAGES; | 252 assert filter == BookmarkFilter.OFFLINE_PAGES; |
253 setTitle(R.string.enhanced_bookmark_title_bar_filter_offline_pages); | 253 setTitle(R.string.enhanced_bookmark_title_bar_filter_offline_pages); |
254 setNavigationButton(NAVIGATION_BUTTON_MENU); | 254 setNavigationButton(NAVIGATION_BUTTON_MENU); |
255 getMenu().findItem(R.id.edit_menu_id).setVisible(false); | 255 getMenu().findItem(R.id.edit_menu_id).setVisible(false); |
256 } | 256 } |
257 | 257 |
258 @Override | 258 @Override |
259 public void onSelectionStateChange(List<BookmarkId> selectedBookmarks) { | 259 public void onSelectionStateChange(List<BookmarkId> selectedBookmarks) { |
260 boolean wasSelectionEnabled = mIsSelectionEnabled; | 260 boolean wasSelectionEnabled = mIsSelectionEnabled; |
261 mIsSelectionEnabled = mDelegate.isSelectionEnabled(); | 261 mIsSelectionEnabled = mDelegate.isSelectionEnabled(); |
262 NumberRollView numberRollView = (NumberRollView) findViewById(R.id.selec tion_mode_number); | 262 NumberRollView numberRollView = (NumberRollView) findViewById(R.id.selec tion_mode_number); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
294 numberRollView.setNumber(0, false); | 294 numberRollView.setNumber(0, false); |
295 | 295 |
296 mDelegate.notifyStateChange(this); | 296 mDelegate.notifyStateChange(this); |
297 } | 297 } |
298 } | 298 } |
299 | 299 |
300 private int getTitleForAllItems() { | 300 private int getTitleForAllItems() { |
301 return OfflinePageUtils.getStringId(R.string.enhanced_bookmark_title_bar _all_items); | 301 return OfflinePageUtils.getStringId(R.string.enhanced_bookmark_title_bar _all_items); |
302 } | 302 } |
303 } | 303 } |
OLD | NEW |