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

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

Issue 2623993007: 🏠 Extract the ContentSuggestionManager interface from NTP (Closed)
Patch Set: Created 3 years, 11 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
Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
index 3f3569758af9fcc9f2699b6d745bdfa8ad493561..979888bf10c5ef24fda8a4340e2be6ed2d921ab1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
@@ -4,164 +4,39 @@
package org.chromium.chrome.browser.suggestions;
-import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
-import org.chromium.base.Callback;
-import org.chromium.base.ObserverList;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.SynchronousInitializationActivity;
-import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback;
-import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback;
-import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
import org.chromium.chrome.browser.ntp.ContextMenuManager;
-import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver;
-import org.chromium.chrome.browser.ntp.MostVisitedItem;
-import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver;
-import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.UiConfig;
import org.chromium.chrome.browser.ntp.cards.NewTabPageAdapter;
import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView;
-import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge;
-import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
-import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObserver;
import org.chromium.chrome.browser.profiles.Profile;
-import java.util.Set;
-
/**
* Experimental activity to show content suggestions outside of the New Tab Page.
*/
public class ContentSuggestionsActivity extends SynchronousInitializationActivity {
- private final ObserverList<DestructionObserver> mDestructionObservers = new ObserverList<>();
+ private static ChromeActivity sCallerActivity;
dgn 2017/01/12 21:59:01 In the next patch, I will change the ContentSugges
private ContextMenuManager mContextMenuManager;
- private SnippetsBridge mSnippetsBridge;
- private NewTabPageRecyclerView mRecyclerView;
+ private SuggestionsManagerImpl mSuggestionsManager;
+
+ public static void launch(ChromeActivity activity) {
+ sCallerActivity = activity;
- public static void launch(Context context) {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setClass(context, ContentSuggestionsActivity.class);
- context.startActivity(intent);
- }
-
- private class SuggestionsNewTabPageManager implements NewTabPageManager {
- @Override
- public void removeMostVisitedItem(MostVisitedItem item) {}
-
- @Override
- public void openMostVisitedItem(int windowDisposition, MostVisitedItem item) {}
-
- @Override
- public boolean isLocationBarShownInNTP() {
- return false;
- }
-
- @Override
- public boolean isVoiceSearchEnabled() {
- return false;
- }
-
- @Override
- public boolean isFakeOmniboxTextEnabledTablet() {
- return false;
- }
-
- @Override
- public boolean isOpenInNewWindowEnabled() {
- return true;
- }
-
- @Override
- public boolean isOpenInIncognitoEnabled() {
- return true;
- }
-
- @Override
- public void navigateToBookmarks() {}
-
- @Override
- public void navigateToRecentTabs() {}
-
- @Override
- public void navigateToDownloadManager() {}
-
- @Override
- public void trackSnippetsPageImpression(int[] categories, int[] suggestionsPerCategory) {}
-
- @Override
- public void trackSnippetImpression(SnippetArticle article) {}
-
- @Override
- public void trackSnippetMenuOpened(SnippetArticle article) {}
-
- @Override
- public void trackSnippetCategoryActionImpression(int category, int position) {}
-
- @Override
- public void trackSnippetCategoryActionClick(int category, int position) {}
-
- @Override
- public void openSnippet(int windowOpenDisposition, SnippetArticle article) {}
-
- @Override
- public void focusSearchBox(boolean beginVoiceSearch, String pastedText) {}
-
- @Override
- public void setMostVisitedURLsObserver(MostVisitedURLsObserver observer, int numResults) {}
-
- @Override
- public void getLocalFaviconImageForURL(
- String url, int size, FaviconImageCallback faviconCallback) {}
-
- @Override
- public void getLargeIconForUrl(String url, int size, LargeIconCallback callback) {}
-
- @Override
- public void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon,
- boolean isTemporary, IconAvailabilityCallback callback) {}
-
- @Override
- public void getUrlsAvailableOffline(Set<String> pageUrls, Callback<Set<String>> callback) {}
-
- @Override
- public void onLogoClicked(boolean isAnimatedLogoShowing) {}
-
- @Override
- public void getSearchProviderLogo(LogoObserver logoObserver) {}
-
- @Override
- public void onLoadingComplete(MostVisitedItem[] mostVisitedItems) {}
-
- @Override
- public void onLearnMoreClicked() {}
-
- @Override
- public SuggestionsSource getSuggestionsSource() {
- return mSnippetsBridge;
- }
-
- @Override
- public void addDestructionObserver(DestructionObserver destructionObserver) {
- mDestructionObservers.addObserver(destructionObserver);
- }
-
- @Override
- public boolean isCurrentPage() {
- return true;
- }
-
- @Override
- public ContextMenuManager getContextMenuManager() {
- return mContextMenuManager;
- }
+ intent.setClass(activity, ContentSuggestionsActivity.class);
+ activity.startActivity(intent);
}
@Override
@@ -170,21 +45,24 @@ protected void onCreate(Bundle savedInstanceState) {
assert ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SUGGESTIONS_STANDALONE_UI);
- mRecyclerView = (NewTabPageRecyclerView) LayoutInflater.from(this).inflate(
- R.layout.new_tab_page_recycler_view, null, false);
+ NewTabPageRecyclerView recyclerView =
+ (NewTabPageRecyclerView) LayoutInflater.from(this).inflate(
+ R.layout.new_tab_page_recycler_view, null, false);
Profile profile = Profile.getLastUsedProfile();
- mSnippetsBridge = new SnippetsBridge(profile);
+ UiConfig uiConfig = new UiConfig(recyclerView);
+
+ SnippetsBridge snippetsBridge = new SnippetsBridge(profile);
+ mSuggestionsManager = new SuggestionsManagerImpl(snippetsBridge, this, profile,
+ sCallerActivity.getActivityTab(), sCallerActivity.getTabModelSelector());
+ mContextMenuManager = new ContextMenuManager(this, mSuggestionsManager, recyclerView);
- NewTabPageManager manager = new SuggestionsNewTabPageManager();
- mContextMenuManager = new ContextMenuManager(this, manager, mRecyclerView);
- UiConfig uiConfig = new UiConfig(mRecyclerView);
- NewTabPageAdapter adapter = new NewTabPageAdapter(
- manager, null, uiConfig, OfflinePageBridge.getForProfile(profile));
- mRecyclerView.setAdapter(adapter);
- mRecyclerView.setUpSwipeToDismiss();
+ NewTabPageAdapter adapter = new NewTabPageAdapter(mSuggestionsManager, null, uiConfig,
+ OfflinePageBridge.getForProfile(profile), mContextMenuManager);
+ recyclerView.setAdapter(adapter);
+ recyclerView.setUpSwipeToDismiss();
- setContentView(mRecyclerView);
+ setContentView(recyclerView);
}
@Override
@@ -194,9 +72,7 @@ public void onContextMenuClosed(Menu menu) {
@Override
protected void onDestroy() {
- for (DestructionObserver observer : mDestructionObservers) {
- observer.onDestroy();
- }
+ mSuggestionsManager.onDestroy();
super.onDestroy();
}
}

Powered by Google App Engine
This is Rietveld 408576698