| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |