Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| index b2c873350c55da5307802d9b9de669108249bd72..7ed965de7daab759cff78e87a6d4dc70afa93d2e 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| @@ -23,6 +23,7 @@ |
| import org.chromium.base.ApiCompatibilityUtils; |
| import org.chromium.base.CommandLine; |
| +import org.chromium.base.Log; |
| import org.chromium.base.VisibleForTesting; |
| import org.chromium.base.metrics.RecordHistogram; |
| import org.chromium.base.metrics.RecordUserAction; |
| @@ -46,7 +47,7 @@ |
| import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
| import org.chromium.chrome.browser.ntp.interests.InterestsPage; |
| import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickListener; |
| -import org.chromium.chrome.browser.ntp.snippets.SnippetsManager; |
| +import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge; |
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
| import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| import org.chromium.chrome.browser.profiles.MostVisitedSites; |
| @@ -85,6 +86,8 @@ |
| public class NewTabPage |
| implements NativePage, InvalidationAwareThumbnailProvider, TemplateUrlServiceObserver { |
| + private static final String TAG = "Ntp"; |
| + |
| // MostVisitedItem Context menu item IDs. |
| static final int ID_OPEN_IN_NEW_TAB = 0; |
| static final int ID_OPEN_IN_INCOGNITO_TAB = 1; |
| @@ -113,7 +116,7 @@ |
| private String mAnimatedLogoUrl; |
| private FakeboxDelegate mFakeboxDelegate; |
| private OfflinePageBridge mOfflinePageBridge; |
| - private SnippetsManager mSnippetsManager; |
| + private SnippetsBridge mSnippetsBridge; |
| // The timestamp at which the constructor was called. |
| private final long mConstructedTimeNs; |
| @@ -238,7 +241,8 @@ public boolean isInterestsEnabled() { |
| @Override |
| public boolean isToolbarEnabled() { |
| - return ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_TOOLBAR); |
| + return ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_TOOLBAR) |
| + && !ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SNIPPETS); |
| } |
| private void recordOpenedMostVisitedItem(MostVisitedItem item) { |
| @@ -525,7 +529,9 @@ public NewTabPage(Activity activity, Tab tab, TabModelSelector tabModelSelector) |
| mProfile = tab.getProfile(); |
| mTitle = activity.getResources().getString(R.string.button_new_tab); |
| - mBackgroundColor = ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_bg); |
| + mBackgroundColor = ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SNIPPETS) |
| + ? ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_with_cards_bg) |
| + : ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_bg); |
| mThemeColor = ApiCompatibilityUtils.getColor( |
| activity.getResources(), R.color.default_primary_color); |
| TemplateUrlService.getInstance().addObserver(this); |
| @@ -549,12 +555,16 @@ public void onHidden(Tab tab) { |
| mLogoBridge = new LogoBridge(mProfile); |
| updateSearchProviderHasLogo(); |
| - mSnippetsManager = new SnippetsManager(mNewTabPageManager, mProfile); |
| - |
| LayoutInflater inflater = LayoutInflater.from(activity); |
| - mNewTabPageView = (NewTabPageView) inflater.inflate(R.layout.new_tab_page, null); |
| + if (ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SNIPPETS)) { |
| + Log.d(TAG, "Snippets are enabled. Using the new NTP layout."); |
|
newt (away)
2016/03/30 19:03:50
Is this log message really helpful enough to check
dgn
2016/03/31 00:46:44
Removed. The flag itself is easy to check. What I
|
| + mSnippetsBridge = new SnippetsBridge(mProfile); |
| + mNewTabPageView = (NewTabPageView) inflater.inflate(R.layout.new_tab_page_v2, null); |
| + } else { |
| + mNewTabPageView = (NewTabPageView) inflater.inflate(R.layout.new_tab_page, null); |
| + } |
| mNewTabPageView.initialize(mNewTabPageManager, isInSingleUrlBarMode(activity), |
| - mSearchProviderHasLogo, mSnippetsManager); |
| + mSearchProviderHasLogo, mSnippetsBridge); |
| RecordHistogram.recordBooleanHistogram( |
| "NewTabPage.MobileIsUserOnline", NetworkChangeNotifier.isOnline()); |
| @@ -611,12 +621,7 @@ private boolean isInSingleUrlBarMode(Context context) { |
| } |
| private void updateSearchProviderHasLogo() { |
| - if (ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SNIPPETS)) { |
| - mSearchProviderHasLogo = false; |
| - if (mNewTabPageView != null) mNewTabPageView.setSearchProviderHasLogo(false); |
| - } else { |
| - mSearchProviderHasLogo = TemplateUrlService.getInstance().isDefaultSearchEngineGoogle(); |
| - } |
| + mSearchProviderHasLogo = TemplateUrlService.getInstance().isDefaultSearchEngineGoogle(); |
| } |
| private void onSearchEngineUpdated() { |
| @@ -731,9 +736,9 @@ public void destroy() { |
| mLogoBridge.destroy(); |
| mLogoBridge = null; |
| } |
| - if (mSnippetsManager != null) { |
| - mSnippetsManager.destroy(); |
| - mSnippetsManager = null; |
| + if (mSnippetsBridge != null) { |
| + mSnippetsBridge.destroy(); |
| + mSnippetsBridge = null; |
| } |
| if (mMostVisitedItemRemovedController != null) { |
| mTab.getSnackbarManager().dismissSnackbars(mMostVisitedItemRemovedController); |