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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java

Issue 2513453004: [Android NTP] Move suggestion sections into a separate node. (Closed)
Patch Set: sync Created 4 years 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
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() {

Powered by Google App Engine
This is Rietveld 408576698