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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.suggestions; 5 package org.chromium.chrome.browser.suggestions;
6 6
7 import android.view.LayoutInflater; 7 import android.view.LayoutInflater;
8 import android.view.ViewGroup; 8 import android.view.ViewGroup;
9 9
10 import org.chromium.base.ContextUtils; 10 import org.chromium.base.ContextUtils;
11 import org.chromium.chrome.R; 11 import org.chromium.chrome.R;
12 import org.chromium.chrome.browser.ChromeFeatureList; 12 import org.chromium.chrome.browser.ChromeFeatureList;
13 import org.chromium.chrome.browser.ntp.ContextMenuManager; 13 import org.chromium.chrome.browser.ntp.ContextMenuManager;
14 import org.chromium.chrome.browser.ntp.cards.ItemViewType; 14 import org.chromium.chrome.browser.ntp.cards.ItemViewType;
15 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder; 15 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder;
16 import org.chromium.chrome.browser.ntp.cards.NodeVisitor;
16 import org.chromium.chrome.browser.ntp.cards.OptionalLeaf; 17 import org.chromium.chrome.browser.ntp.cards.OptionalLeaf;
17 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 18 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
18 19
19 /** 20 /**
20 * The model and controller for a group of site suggestion tiles that will be re ndered in a grid. 21 * The model and controller for a group of site suggestion tiles that will be re ndered in a grid.
21 */ 22 */
22 public class TileGrid extends OptionalLeaf implements TileGroup.Observer { 23 public class TileGrid extends OptionalLeaf implements TileGroup.Observer {
23 /** 24 /**
24 * The maximum number of tiles to try and fit in a row. On smaller screens, there may not be 25 * The maximum number of tiles to try and fit in a row. On smaller screens, there may not be
25 * enough space to fit all of them. 26 * enough space to fit all of them.
(...skipping 26 matching lines...) Expand all
52 return ItemViewType.TILE_GRID; 53 return ItemViewType.TILE_GRID;
53 } 54 }
54 55
55 @Override 56 @Override
56 protected void onBindViewHolder(NewTabPageViewHolder holder) { 57 protected void onBindViewHolder(NewTabPageViewHolder holder) {
57 assert holder instanceof ViewHolder; 58 assert holder instanceof ViewHolder;
58 ((ViewHolder) holder).updateTiles(mTileGroup); 59 ((ViewHolder) holder).updateTiles(mTileGroup);
59 } 60 }
60 61
61 @Override 62 @Override
63 protected void visitOptionalItem(NodeVisitor visitor) {
64 visitor.visitTileGrid();
65 }
66
67 @Override
62 public void onTileDataChanged() { 68 public void onTileDataChanged() {
63 setVisible(mTileGroup.getTiles().length != 0); 69 setVisible(mTileGroup.getTiles().length != 0);
64 if (isVisible()) notifyItemChanged(0, new ViewHolder.UpdateTilesCallback (mTileGroup)); 70 if (isVisible()) notifyItemChanged(0, new ViewHolder.UpdateTilesCallback (mTileGroup));
65 } 71 }
66 72
67 @Override 73 @Override
68 public void onTileCountChanged() { 74 public void onTileCountChanged() {
69 onTileDataChanged(); 75 onTileDataChanged();
70 } 76 }
71 77
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 } 179 }
174 180
175 @Override 181 @Override
176 public void onResult(NewTabPageViewHolder holder) { 182 public void onResult(NewTabPageViewHolder holder) {
177 assert holder instanceof ViewHolder; 183 assert holder instanceof ViewHolder;
178 ((ViewHolder) holder).updateOfflineBadge(mTile); 184 ((ViewHolder) holder).updateOfflineBadge(mTile);
179 } 185 }
180 } 186 }
181 } 187 }
182 } 188 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SectionHeader.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698