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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java

Issue 2827363002: 📰 Fix tile icon rendering issue in Chrome Home (Closed)
Patch Set: rebase and address comment Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ChildNode.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java
index 170b98cd7623823a2e18703b2a1e06f9282575e4..d82f31335f8e2808bbd4f145a6e1d30d88228599 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGrid.java
@@ -55,13 +55,13 @@ protected int getItemViewType() {
@Override
protected void onBindViewHolder(NewTabPageViewHolder holder) {
assert holder instanceof ViewHolder;
- ((ViewHolder) holder).onBindViewHolder(mTileGroup);
+ ((ViewHolder) holder).updateTiles(mTileGroup);
}
@Override
public void onTileDataChanged() {
setVisible(mTileGroup.getTiles().length != 0);
- if (isVisible()) notifyItemChanged(0);
+ if (isVisible()) notifyItemChanged(0, new ViewHolder.UpdateTilesCallback(mTileGroup));
}
@Override
@@ -115,7 +115,7 @@ public ViewHolder(ViewGroup parentView) {
mLayout.setMaxColumns(MAX_TILE_COLUMNS);
}
- public void onBindViewHolder(TileGroup tileGroup) {
+ public void updateTiles(TileGroup tileGroup) {
tileGroup.renderTileViews(mLayout, /* trackLoadTasks = */ false,
/* condensed = */ false);
}
@@ -129,6 +129,23 @@ public void updateOfflineBadge(Tile tile) {
}
/**
+ * Callback to update all the tiles in the view holder.
+ */
+ public static class UpdateTilesCallback extends PartialBindCallback {
+ private final TileGroup mTileGroup;
+
+ public UpdateTilesCallback(TileGroup tileGroup) {
+ mTileGroup = tileGroup;
+ }
+
+ @Override
+ public void onResult(NewTabPageViewHolder holder) {
+ assert holder instanceof ViewHolder;
+ ((ViewHolder) holder).updateTiles(mTileGroup);
+ }
+ }
+
+ /**
* Callback to update the icon view for the view holder.
*/
public static class UpdateIconViewCallback extends PartialBindCallback {
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ChildNode.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698