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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java

Issue 1677073002: Fetch snippets from ChromeReader and show them on the NTP (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added iOS-appropriate file path Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp; 5 package org.chromium.chrome.browser.ntp;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.content.Context; 8 import android.content.Context;
9 import android.content.res.Resources; 9 import android.content.res.Resources;
10 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 private View mMostVisitedPlaceholder; 80 private View mMostVisitedPlaceholder;
81 private View mOptOutView; 81 private View mOptOutView;
82 private View mNoSearchLogoSpacer; 82 private View mNoSearchLogoSpacer;
83 private RecyclerView mSnippetsView; 83 private RecyclerView mSnippetsView;
84 84
85 private OnSearchBoxScrollListener mSearchBoxScrollListener; 85 private OnSearchBoxScrollListener mSearchBoxScrollListener;
86 86
87 private NewTabPageManager mManager; 87 private NewTabPageManager mManager;
88 private MostVisitedDesign mMostVisitedDesign; 88 private MostVisitedDesign mMostVisitedDesign;
89 private MostVisitedItem[] mMostVisitedItems; 89 private MostVisitedItem[] mMostVisitedItems;
90 private SnippetsManager mSnippetsManager;
91 private boolean mFirstShow = true; 90 private boolean mFirstShow = true;
92 private boolean mSearchProviderHasLogo = true; 91 private boolean mSearchProviderHasLogo = true;
93 private boolean mHasReceivedMostVisitedSites; 92 private boolean mHasReceivedMostVisitedSites;
94 private boolean mPendingSnapScroll; 93 private boolean mPendingSnapScroll;
95 94
96 /** 95 /**
97 * The number of asynchronous tasks that need to complete before the page is done loading. 96 * The number of asynchronous tasks that need to complete before the page is done loading.
98 * This starts at one to track when the view is finished attaching to the wi ndow. 97 * This starts at one to track when the view is finished attaching to the wi ndow.
99 */ 98 */
100 private int mPendingLoadTasks = 1; 99 private int mPendingLoadTasks = 1;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 /** 242 /**
244 * Initializes the NTP. This must be called immediately after inflation, bef ore this object is 243 * Initializes the NTP. This must be called immediately after inflation, bef ore this object is
245 * used in any other way. 244 * used in any other way.
246 * 245 *
247 * @param manager NewTabPageManager used to perform various actions when the user interacts 246 * @param manager NewTabPageManager used to perform various actions when the user interacts
248 * with the page. 247 * with the page.
249 * @param isSingleUrlBarMode Whether the NTP is in single URL bar mode. 248 * @param isSingleUrlBarMode Whether the NTP is in single URL bar mode.
250 * @param searchProviderHasLogo Whether the search provider has a logo. 249 * @param searchProviderHasLogo Whether the search provider has a logo.
251 */ 250 */
252 public void initialize(NewTabPageManager manager, boolean isSingleUrlBarMode , 251 public void initialize(NewTabPageManager manager, boolean isSingleUrlBarMode ,
253 boolean searchProviderHasLogo) { 252 boolean searchProviderHasLogo, SnippetsManager snippetsManager) {
254 mManager = manager; 253 mManager = manager;
255 254
256 mScrollView = (NewTabScrollView) findViewById(R.id.ntp_scrollview); 255 mScrollView = (NewTabScrollView) findViewById(R.id.ntp_scrollview);
257 mScrollView.enableBottomShadow(SHADOW_COLOR); 256 mScrollView.enableBottomShadow(SHADOW_COLOR);
258 mContentView = (ViewGroup) findViewById(R.id.ntp_content); 257 mContentView = (ViewGroup) findViewById(R.id.ntp_content);
259 258
260 mMostVisitedDesign = new MostVisitedDesign(getContext()); 259 mMostVisitedDesign = new MostVisitedDesign(getContext());
261 mMostVisitedLayout = (MostVisitedLayout) findViewById(R.id.most_visited_ layout); 260 mMostVisitedLayout = (MostVisitedLayout) findViewById(R.id.most_visited_ layout);
262 mMostVisitedDesign.initMostVisitedLayout(mMostVisitedLayout, searchProvi derHasLogo); 261 mMostVisitedDesign.initMostVisitedLayout(mMostVisitedLayout, searchProvi derHasLogo);
263 262
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 332
334 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); 333 if (mManager.shouldShowOptOutPromo()) showOptOutPromo();
335 334
336 // Set up snippets 335 // Set up snippets
337 if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_NTP_SNIPPE TS)) { 336 if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_NTP_SNIPPE TS)) {
338 mSnippetsView = (RecyclerView) findViewById(R.id.snippets_card_list) ; 337 mSnippetsView = (RecyclerView) findViewById(R.id.snippets_card_list) ;
339 mSnippetsView.setVisibility(View.VISIBLE); 338 mSnippetsView.setVisibility(View.VISIBLE);
340 RecordHistogram.recordEnumeratedHistogram(SnippetsManager.SNIPPETS_S TATE_HISTOGRAM, 339 RecordHistogram.recordEnumeratedHistogram(SnippetsManager.SNIPPETS_S TATE_HISTOGRAM,
341 SnippetsManager.SNIPPETS_SHOWN, SnippetsManager.NUM_SNIPPETS _ACTIONS); 340 SnippetsManager.SNIPPETS_SHOWN, SnippetsManager.NUM_SNIPPETS _ACTIONS);
342 mSnippetsView.setLayoutManager(new LinearLayoutManager(getContext()) ); 341 mSnippetsView.setLayoutManager(new LinearLayoutManager(getContext()) );
343 mSnippetsManager = new SnippetsManager(mManager, mSnippetsView);
344 mSnippetsView.addOnScrollListener(new RecyclerView.OnScrollListener( ) { 342 mSnippetsView.addOnScrollListener(new RecyclerView.OnScrollListener( ) {
345 private boolean mScrolledOnce = false; 343 private boolean mScrolledOnce = false;
346 @Override 344 @Override
347 public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 345 public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
348 if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return; 346 if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return;
349 RecordUserAction.record("MobileNTP.Snippets.Scrolled"); 347 RecordUserAction.record("MobileNTP.Snippets.Scrolled");
350 if (mScrolledOnce) return; 348 if (mScrolledOnce) return;
351 mScrolledOnce = true; 349 mScrolledOnce = true;
352 RecordHistogram.recordEnumeratedHistogram( 350 RecordHistogram.recordEnumeratedHistogram(
353 SnippetsManager.SNIPPETS_STATE_HISTOGRAM, 351 SnippetsManager.SNIPPETS_STATE_HISTOGRAM,
354 SnippetsManager.SNIPPETS_SCROLLED, 352 SnippetsManager.SNIPPETS_SCROLLED,
355 SnippetsManager.NUM_SNIPPETS_ACTIONS); 353 SnippetsManager.NUM_SNIPPETS_ACTIONS);
356 } 354 }
357 }); 355 });
356 snippetsManager.setSnippetsView(mSnippetsView);
358 } 357 }
359 358
360 // Set up interests 359 // Set up interests
361 if (manager.isInterestsEnabled()) { 360 if (manager.isInterestsEnabled()) {
362 toolbar.getInterestsButton().setVisibility(View.VISIBLE); 361 toolbar.getInterestsButton().setVisibility(View.VISIBLE);
363 } 362 }
364 } 363 }
365 364
366 private int getTabsMovedIllustration() { 365 private int getTabsMovedIllustration() {
367 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) { 366 switch (Build.MANUFACTURER.toLowerCase(Locale.US)) {
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 for (MostVisitedItem item : mMostVisitedItems) { 983 for (MostVisitedItem item : mMostVisitedItems) {
985 if (item.getUrl().equals(url)) { 984 if (item.getUrl().equals(url)) {
986 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false); 985 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i tem, false);
987 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ; 986 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback) ;
988 break; 987 break;
989 } 988 }
990 } 989 }
991 } 990 }
992 } 991 }
993 } 992 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698