| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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.ntp.cards; | 5 package org.chromium.chrome.browser.ntp.cards; |
| 6 | 6 |
| 7 import org.chromium.base.Callback; | 7 import org.chromium.base.Callback; |
| 8 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; | |
| 9 | 8 |
| 10 import java.util.Set; | 9 import java.util.Set; |
| 11 | 10 |
| 12 /** | 11 /** |
| 13 * A tree interface to allow the New Tab Page RecyclerView to delegate to other
components. | 12 * A tree interface to allow the New Tab Page RecyclerView to delegate to other
components. |
| 14 */ | 13 */ |
| 15 public interface TreeNode { | 14 public interface TreeNode { |
| 16 /** | 15 /** |
| 17 * Sets the parent of this node. This method should be called at most once.
Before the parent | 16 * Sets the parent of this node. This method should be called at most once.
Before the parent |
| 18 * has been set, the node will not send any notifications about changes to i
ts subtree. | 17 * has been set, the node will not send any notifications about changes to i
ts subtree. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 45 | 44 |
| 46 /** | 45 /** |
| 47 * Display the data at {@code position} under this subtree. | 46 * Display the data at {@code position} under this subtree. |
| 48 * @param holder The view holder that should be updated. | 47 * @param holder The view holder that should be updated. |
| 49 * @param position The position of the item under this subtree. | 48 * @param position The position of the item under this subtree. |
| 50 * @see android.support.v7.widget.RecyclerView.Adapter#onBindViewHolder | 49 * @see android.support.v7.widget.RecyclerView.Adapter#onBindViewHolder |
| 51 */ | 50 */ |
| 52 void onBindViewHolder(NewTabPageViewHolder holder, int position); | 51 void onBindViewHolder(NewTabPageViewHolder holder, int position); |
| 53 | 52 |
| 54 /** | 53 /** |
| 55 * @param position The position to query. | |
| 56 * @return The article at {@code position} under this subtree, or null if th
e item is not | |
| 57 * an article. | |
| 58 */ | |
| 59 SnippetArticle getSuggestionAt(int position); | |
| 60 | |
| 61 /** | |
| 62 * @param position the position of an item to be dismissed. | 54 * @param position the position of an item to be dismissed. |
| 63 * @return the set of item positions that should be dismissed simultaneously
when dismissing the | 55 * @return the set of item positions that should be dismissed simultaneously
when dismissing the |
| 64 * item at the given {@code position} (including the position itself
), or an empty set | 56 * item at the given {@code position} (including the position itself
), or an empty set |
| 65 * if the item can't be dismissed. | 57 * if the item can't be dismissed. |
| 66 * @see NewTabPageAdapter#getItemDismissalGroup | 58 * @see NewTabPageAdapter#getItemDismissalGroup |
| 67 */ | 59 */ |
| 68 Set<Integer> getItemDismissalGroup(int position); | 60 Set<Integer> getItemDismissalGroup(int position); |
| 69 | 61 |
| 70 /** | 62 /** |
| 71 * Dismiss the item at the given {@code position}. | 63 * Dismiss the item at the given {@code position}. |
| 72 * @param position The position of the item to be dismissed. | 64 * @param position The position of the item to be dismissed. |
| 73 * @param itemRemovedCallback Should be called with the title of the dismiss
ed item, to announce | 65 * @param itemRemovedCallback Should be called with the title of the dismiss
ed item, to announce |
| 74 * it for accessibility purposes. | 66 * it for accessibility purposes. |
| 75 * @see NewTabPageAdapter#dismissItem | 67 * @see NewTabPageAdapter#dismissItem |
| 76 */ | 68 */ |
| 77 public void dismissItem(int position, Callback<String> itemRemovedCallback); | 69 void dismissItem(int position, Callback<String> itemRemovedCallback); |
| 70 |
| 71 /** |
| 72 * Iterates over all items under this subtree and visits them with the given |
| 73 * {@link NodeVisitor}. |
| 74 * @param visitor The {@link NodeVisitor} with which to visit all items unde
r this subtree. |
| 75 */ |
| 76 void visitItems(NodeVisitor visitor); |
| 78 } | 77 } |
| OLD | NEW |