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

Side by Side Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkDrawerListView.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 unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.enhancedbookmarks;
6
7 import android.annotation.SuppressLint;
8 import android.content.Context;
9 import android.util.AttributeSet;
10 import android.view.View;
11 import android.widget.AdapterView;
12 import android.widget.ListView;
13
14 import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
15 import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksBridge.Fi ltersObserver;
16 import org.chromium.components.bookmarks.BookmarkId;
17
18 import java.util.List;
19
20 /**
21 * Main drawer list view of Enhanced Bookmark UI. It is responsible for presenti ng different viewing
22 * modes and let users to choose.
23 */
24 @SuppressLint("Instantiatable")
25 class EnhancedBookmarkDrawerListView extends ListView implements EnhancedBookmar kUIObserver {
26 private EnhancedBookmarkDelegate mDelegate;
27
28 private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObse rver() {
29 @Override
30 public void bookmarkModelChanged() {
31 mDelegate.notifyStateChange(EnhancedBookmarkDrawerListView.this);
32 }
33 };
34
35 private FiltersObserver mFiltersObserver = new FiltersObserver() {
36 @Override
37 public void onFiltersChanged() {
38 mDelegate.notifyStateChange(EnhancedBookmarkDrawerListView.this);
39 }
40 };
41
42 private final EnhancedBookmarkDrawerListViewAdapter mAdapter =
43 new EnhancedBookmarkDrawerListViewAdapter();
44
45 public EnhancedBookmarkDrawerListView(Context context, AttributeSet attrs) {
46 super(context, attrs);
47
48 setAdapter(mAdapter);
49 setOnItemClickListener(new OnItemClickListener() {
50 @Override
51 public void onItemClick(AdapterView<?> parent, View view, int positi on, long id) {
52 mDelegate.closeDrawer();
53
54 EnhancedBookmarkDrawerListViewAdapter.Item item =
55 (EnhancedBookmarkDrawerListViewAdapter.Item) mAdapter.ge tItem(position);
56
57 switch (item.mType) {
58 case EnhancedBookmarkDrawerListViewAdapter.TYPE_FOLDER:
59 mDelegate.openFolder(item.mFolderId);
60 break;
61 case EnhancedBookmarkDrawerListViewAdapter.TYPE_ALL_ITEMS:
62 mDelegate.openAllBookmarks();
63 break;
64 case EnhancedBookmarkDrawerListViewAdapter.TYPE_FILTER:
65 mDelegate.openFilter(item.mFilter);
66 break;
67 default:
68 assert false;
69 }
70 }
71 });
72 }
73
74 void showLoadingUi() {
75 mAdapter.clear();
76 mAdapter.notifyDataSetChanged();
77 clearChoices();
78 }
79
80 // EnhancedBookmarkUIObserver implementations.
81
82 @Override
83 public void onEnhancedBookmarkDelegateInitialized(EnhancedBookmarkDelegate d elegate) {
84 mDelegate = delegate;
85 delegate.getModel().addModelObserver(mBookmarkModelObserver);
86 delegate.getModel().addFiltersObserver(mFiltersObserver);
87 mAdapter.setEnhancedBookmarkUIDelegate(delegate);
88 delegate.addUIObserver(this);
89 }
90
91 @Override
92 public void onDestroy() {
93 mDelegate.getModel().removeModelObserver(mBookmarkModelObserver);
94 mDelegate.getModel().removeFiltersObserver(mFiltersObserver);
95 mDelegate.removeUIObserver(this);
96 }
97
98 @Override
99 public void onAllBookmarksStateSet() {
100 mAdapter.updateList();
101 setItemChecked(mAdapter.getItemPosition(EnhancedBookmarkDelegate.STATE_A LL_BOOKMARKS, null),
102 true);
103 }
104
105 @Override
106 public void onFolderStateSet(BookmarkId folder) {
107 mAdapter.updateList();
108 setItemChecked(mAdapter.getItemPosition(EnhancedBookmarkDelegate.STATE_F OLDER, folder),
109 true);
110 }
111
112 @Override
113 public void onFilterStateSet(String filter) {
114 mAdapter.updateList();
115 setItemChecked(mAdapter.getItemPosition(EnhancedBookmarkDelegate.STATE_F ILTER, filter),
116 true);
117 }
118
119 @Override
120 public void onSelectionStateChange(List<BookmarkId> selectedBookmarks) {
121 }
122
123 @Override
124 public void onListModeChange(boolean isListModeEnabled) {}
125 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698