Support multiple, separate sections, CategoryStatus, CategoryInfo and synchronously accessing the data in the ContentSuggestionsService.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/222d8a5248288b4bd3f059e25951dfbeb1f5af62 commit 222d8a5248288b4bd3f059e25951dfbeb1f5af62 Author: pke <pke@google.com> Date: Wed Aug 10 12:37:52 2016 Refactor and extend SnippetsBridge for multi-section support Add a category parameter to ContentSuggestionsService::Observer ::OnNewSuggestions. Add getters and observer events equivalent to the ContentSuggestionsService to the SnippetsBridge. Adjust the UI layer to use the new methods on the bridge. Modify the NewTabPageAdapterTest to correctly mock the new bridge. BUG= 635794 Review-Url: https://codereview.chromium.org/2230473002 Cr-Commit-Position: refs/heads/master@{#411027} [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/res/layout/new_tab_page_snippets_header.xml [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java [add] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderListItem.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderViewHolder.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java [delete] https://crrev.com/26204579039ff5d59d3c3a2cfde3e0b5cf9f96b5/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsSource.java [add] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/java_sources.gni [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/browser/android/ntp/ntp_snippets_bridge.cc [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/browser/android/ntp/ntp_snippets_bridge.h [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/browser/ui/webui/snippets_internals_message_handler.cc [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/chrome/browser/ui/webui/snippets_internals_message_handler.h [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/components/ntp_snippets/content_suggestions_provider.h [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/components/ntp_snippets/content_suggestions_service.cc [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/components/ntp_snippets/content_suggestions_service.h [modify] https://crrev.com/222d8a5248288b4bd3f059e25951dfbeb1f5af62/components/ntp_snippets/content_suggestions_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b2e36375f8c0079121f4988c24ca1c4c6d303a7 commit 3b2e36375f8c0079121f4988c24ca1c4c6d303a7 Author: pke <pke@google.com> Date: Fri Aug 12 12:52:53 2016 Support action button to fetch more content suggestions Add has_more_button flag to CategoryInfo. Add FetchMoreSuggestions method to the provider and service interface. Update all existing provider implementations accordingly. Provide the new flag and the new method over the SnippetsBridge. Change ActionListItem to call the new method (or a hard-coded UI action) depending on the category. Enable the more-button for the bookmarks-section only. BUG= 632320 , 635794 Review-Url: https://codereview.chromium.org/2232783002 Cr-Commit-Position: refs/heads/master@{#411624} [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionListItem.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/chrome/browser/android/ntp/ntp_snippets_bridge.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/category_info.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/category_info.h [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/content_suggestions_service.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/content_suggestions_service_unittest.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/ntp_snippets_service.cc [modify] https://crrev.com/3b2e36375f8c0079121f4988c24ca1c4c6d303a7/components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc
Comment 1 by fi...@chromium.org
, Aug 9 2016Labels: -Pri-3 zine-triaged zine-client-sections-v1 Pri-1