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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/InnerNode.java

Issue 2860463002: [Suggestions] Remove TreeNode.getSuggestionAt() in favor of a visitor. (Closed)
Patch Set: review Created 3 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
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 android.support.annotation.Nullable; 7 import android.support.annotation.Nullable;
8 8
9 import org.chromium.base.Callback; 9 import org.chromium.base.Callback;
10 import org.chromium.base.VisibleForTesting; 10 import org.chromium.base.VisibleForTesting;
11 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.PartialBindCal lback; 11 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.PartialBindCal lback;
12 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
13 12
14 import java.util.ArrayList; 13 import java.util.ArrayList;
15 import java.util.Collections; 14 import java.util.Collections;
16 import java.util.HashSet; 15 import java.util.HashSet;
17 import java.util.List; 16 import java.util.List;
18 import java.util.Set; 17 import java.util.Set;
19 18
20 /** 19 /**
21 * An inner node in the tree: the root of a subtree, with a list of child nodes. 20 * An inner node in the tree: the root of a subtree, with a list of child nodes.
22 */ 21 */
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 } 76 }
78 77
79 @Override 78 @Override
80 public void onBindViewHolder(NewTabPageViewHolder holder, int position) { 79 public void onBindViewHolder(NewTabPageViewHolder holder, int position) {
81 int index = getChildIndexForPosition(position); 80 int index = getChildIndexForPosition(position);
82 mChildren.get(index).onBindViewHolder( 81 mChildren.get(index).onBindViewHolder(
83 holder, position - getStartingOffsetForChildIndex(index)); 82 holder, position - getStartingOffsetForChildIndex(index));
84 } 83 }
85 84
86 @Override 85 @Override
87 public SnippetArticle getSuggestionAt(int position) {
88 int index = getChildIndexForPosition(position);
89 return mChildren.get(index).getSuggestionAt(
90 position - getStartingOffsetForChildIndex(index));
91 }
92
93 @Override
94 public Set<Integer> getItemDismissalGroup(int position) { 86 public Set<Integer> getItemDismissalGroup(int position) {
95 int index = getChildIndexForPosition(position); 87 int index = getChildIndexForPosition(position);
96 int offset = getStartingOffsetForChildIndex(index); 88 int offset = getStartingOffsetForChildIndex(index);
97 Set<Integer> itemDismissalGroup = 89 Set<Integer> itemDismissalGroup =
98 getChildren().get(index).getItemDismissalGroup(position - offset ); 90 getChildren().get(index).getItemDismissalGroup(position - offset );
99 return offsetBy(itemDismissalGroup, offset); 91 return offsetBy(itemDismissalGroup, offset);
100 } 92 }
101 93
102 @Override 94 @Override
103 public void dismissItem(int position, Callback<String> itemRemovedCallback) { 95 public void dismissItem(int position, Callback<String> itemRemovedCallback) {
104 int index = getChildIndexForPosition(position); 96 int index = getChildIndexForPosition(position);
105 getChildren().get(index).dismissItem( 97 getChildren().get(index).dismissItem(
106 position - getStartingOffsetForChildIndex(index), itemRemovedCal lback); 98 position - getStartingOffsetForChildIndex(index), itemRemovedCal lback);
107 } 99 }
108 100
109 @Override 101 @Override
102 public void visitItems(NodeVisitor visitor) {
103 for (TreeNode child : getChildren()) {
104 child.visitItems(visitor);
105 }
106 }
107
108 @Override
110 public void onItemRangeChanged( 109 public void onItemRangeChanged(
111 TreeNode child, int index, int count, @Nullable PartialBindCallback callback) { 110 TreeNode child, int index, int count, @Nullable PartialBindCallback callback) {
112 notifyItemRangeChanged(getStartingOffsetForChild(child) + index, count, callback); 111 notifyItemRangeChanged(getStartingOffsetForChild(child) + index, count, callback);
113 } 112 }
114 113
115 @Override 114 @Override
116 public void onItemRangeInserted(TreeNode child, int index, int count) { 115 public void onItemRangeInserted(TreeNode child, int index, int count) {
117 notifyItemRangeInserted(getStartingOffsetForChild(child) + index, count) ; 116 notifyItemRangeInserted(getStartingOffsetForChild(child) + index, count) ;
118 } 117 }
119 118
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 return Collections.singleton(set.iterator().next() + offset); 197 return Collections.singleton(set.iterator().next() + offset);
199 } 198 }
200 199
201 Set<Integer> offsetSet = new HashSet<>(); 200 Set<Integer> offsetSet = new HashSet<>();
202 for (int value : set) { 201 for (int value : set) {
203 offsetSet.add(value + offset); 202 offsetSet.add(value + offset);
204 } 203 }
205 return offsetSet; 204 return offsetSet;
206 } 205 }
207 } 206 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698