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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java

Issue 2542203002: [Android History] Add Android history manager UI and bridge (Closed)
Patch Set: Rebase, drop changes to time.* Created 4 years 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 2016 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.history;
6
7 import android.support.v7.widget.RecyclerView.ViewHolder;
8 import android.view.LayoutInflater;
9 import android.view.View;
10 import android.view.ViewGroup;
11
12 import org.chromium.base.Callback;
13 import org.chromium.chrome.R;
14 import org.chromium.chrome.browser.widget.DateDividedAdapter;
15 import org.chromium.chrome.browser.widget.selection.SelectableItemViewHolder;
16 import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
17
18 import java.util.List;
19
20 /**
21 * Bridges the user's browsing history and the UI used to display it.
22 */
23 public class HistoryAdapter extends DateDividedAdapter {
24 private static final String EMPTY_QUERY = "";
25
26 private final SelectionDelegate<HistoryItem> mSelectionDelegate;
27 private final BrowsingHistoryBridge mBridge;
28
29 private boolean mDestroyed;
30
31 public HistoryAdapter(SelectionDelegate<HistoryItem> delegate) {
32 setHasStableIds(true);
33 mSelectionDelegate = delegate;
34 mBridge = new BrowsingHistoryBridge();
35 }
36
37 /**
38 * Called when the activity/native page is destroyed.
39 */
40 public void onDestroyed() {
41 mBridge.destroy();
42 mDestroyed = true;
43 }
44
45 /**
46 * Initializes the HistoryAdapter and loads the first set of browsing histor y items.
47 */
48 public void initialize() {
49 mBridge.queryHistory(new Callback<List<HistoryItem>>() {
50 @Override
51 public void onResult(List<HistoryItem> result) {
52 // Return early if the results are returned after the activity/n ative page is
53 // destroyed to avoid unnecessary work.
54 if (mDestroyed) return;
55
56 loadItems(result);
57 }
58 }, EMPTY_QUERY, 0);
59 }
60
61 @Override
62 protected ViewHolder createViewHolder(ViewGroup parent) {
63 View v = LayoutInflater.from(parent.getContext()).inflate(
64 R.layout.history_item_view, parent, false);
65 return new SelectableItemViewHolder<HistoryItem>(v, mSelectionDelegate);
66 }
67
68 @Override
69 protected void bindViewHolderForTimedItem(ViewHolder current, TimedItem time dItem) {
70 final HistoryItem item = (HistoryItem) timedItem;
71 @SuppressWarnings("unchecked")
72 SelectableItemViewHolder<HistoryItem> holder =
73 (SelectableItemViewHolder<HistoryItem>) current;
74 holder.displayItem(item);
75 }
76
77 @Override
78 protected int getTimedItemViewResId() {
79 return R.layout.date_view;
80 }
81
82 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698