Commit 565ac630 authored by spdonghao's avatar spdonghao Committed by Chromium LUCI CQ

[Start] Update MV tile icon when it's changed.

This CL ensures MV tile icon to be updated when a new icon is fetched.
Besides, a test is added for the correctness of MV tiles order.

Bug: 1166238
Change-Id: Ic6d7157c6f03d24b02d38171f0727bf2b6a56463
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627748Reviewed-by: default avatarXi Han <hanxi@chromium.org>
Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Commit-Queue: Hao Dong <spdonghao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#845399}
parent 80f9a6ea
......@@ -91,6 +91,16 @@ class MostVisitedListCoordinator implements TileGroup.Observer, TileGroup.TileSe
}
private void updateTileIcon(Tile tile) {
SuggestionsTileView tileView = findTileView(tile);
if (tileView != null) tileView.renderIcon(tile);
}
private void updateOfflineBadge(Tile tile) {
SuggestionsTileView tileView = findTileView(tile);
if (tileView != null) tileView.renderOfflineBadge(tile);
}
private SuggestionsTileView findTileView(Tile tile) {
for (int i = 0; i < mParent.getChildCount(); i++) {
View tileView = mParent.getChildAt(i);
......@@ -98,11 +108,12 @@ class MostVisitedListCoordinator implements TileGroup.Observer, TileGroup.TileSe
SuggestionsTileView suggestionsTileView = (SuggestionsTileView) tileView;
if (!suggestionsTileView.getUrl().equals(tile.getUrl())) continue;
((SuggestionsTileView) mParent.getChildAt(i)).renderIcon(tile);
if (tile.getUrl().equals(suggestionsTileView.getUrl())) {
return (SuggestionsTileView) tileView;
}
}
return null;
}
/** TileGroup.Observer implementation. */
@Override
......@@ -117,10 +128,14 @@ class MostVisitedListCoordinator implements TileGroup.Observer, TileGroup.TileSe
public void onTileCountChanged() {}
@Override
public void onTileIconChanged(Tile tile) {}
public void onTileIconChanged(Tile tile) {
updateTileIcon(tile);
}
@Override
public void onTileOfflineBadgeVisibilityChanged(Tile tile) {}
public void onTileOfflineBadgeVisibilityChanged(Tile tile) {
updateOfflineBadge(tile);
}
/** TileSetupDelegate implementation. */
@Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment