| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
|
| index 4624e4f133fcf0b2e51be792ee178c2814bf652d..bcb1a08e7c65019fc93eedfae96abd5b86a63f3a 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
|
| @@ -20,6 +20,7 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageItem;
|
|
|
| import java.util.ArrayList;
|
| +import java.util.Arrays;
|
| import java.util.Iterator;
|
| import java.util.List;
|
|
|
| @@ -32,19 +33,20 @@ public class SuggestionsSection extends InnerNode {
|
|
|
| private final SuggestionsCategoryInfo mCategoryInfo;
|
| private final OfflinePageBridge mOfflinePageBridge;
|
| - private final List<TreeNode> mChildren = new ArrayList<>();
|
|
|
| // Children
|
| private final SectionHeader mHeader;
|
| private final SuggestionsList mSuggestionsList;
|
| private final StatusItem mStatus;
|
| - private final ProgressItem mProgressIndicator;
|
| private final ActionItem mMoreButton;
|
| + private final ProgressItem mProgressIndicator;
|
| +
|
| + private final List<TreeNode> mChildren;
|
|
|
| private boolean mIsNtpDestroyed = false;
|
|
|
| - public SuggestionsSection(NodeParent parent, SuggestionsCategoryInfo info,
|
| - NewTabPageManager manager, OfflinePageBridge offlinePageBridge) {
|
| + public SuggestionsSection(NodeParent parent, NewTabPageManager manager,
|
| + OfflinePageBridge offlinePageBridge, SuggestionsCategoryInfo info) {
|
| super(parent);
|
| mCategoryInfo = info;
|
| mOfflinePageBridge = offlinePageBridge;
|
| @@ -54,11 +56,23 @@ public class SuggestionsSection extends InnerNode {
|
| mStatus = StatusItem.createNoSuggestionsItem(this);
|
| mMoreButton = new ActionItem(this);
|
| mProgressIndicator = new ProgressItem(this);
|
| - initializeChildren();
|
| +
|
| + mChildren = Arrays.asList(
|
| + mHeader,
|
| + mSuggestionsList,
|
| + mStatus,
|
| + mMoreButton,
|
| + mProgressIndicator);
|
|
|
| setupOfflinePageBridgeObserver(manager);
|
| }
|
|
|
| + @Override
|
| + public void init() {
|
| + super.init();
|
| + refreshChildrenVisibility();
|
| + }
|
| +
|
| private static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> {
|
| private final List<SnippetArticle> mSuggestions = new ArrayList<>();
|
| private final SuggestionsCategoryInfo mCategoryInfo;
|
| @@ -131,18 +145,6 @@ public class SuggestionsSection extends InnerNode {
|
| return mChildren;
|
| }
|
|
|
| - private void initializeChildren() {
|
| - mChildren.add(mHeader);
|
| - mChildren.add(mSuggestionsList);
|
| -
|
| - // Optional leaves.
|
| - mChildren.add(mStatus); // Needs to be refreshed when the status changes.
|
| -
|
| - mChildren.add(mMoreButton); // Needs to be refreshed when the suggestions change.
|
| - mChildren.add(mProgressIndicator); // Needs to be refreshed when the suggestions change.
|
| - refreshChildrenVisibility();
|
| - }
|
| -
|
| private void setupOfflinePageBridgeObserver(NewTabPageManager manager) {
|
| final OfflinePageBridge.OfflinePageModelObserver observer =
|
| new OfflinePageBridge.OfflinePageModelObserver() {
|
|
|