OLD | NEW |
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 16 matching lines...) Expand all Loading... |
27 import android.view.MotionEvent; | 27 import android.view.MotionEvent; |
28 import android.view.View; | 28 import android.view.View; |
29 import android.view.View.OnLayoutChangeListener; | 29 import android.view.View.OnLayoutChangeListener; |
30 import android.view.ViewGroup; | 30 import android.view.ViewGroup; |
31 import android.view.ViewStub; | 31 import android.view.ViewStub; |
32 import android.widget.Button; | 32 import android.widget.Button; |
33 import android.widget.FrameLayout; | 33 import android.widget.FrameLayout; |
34 import android.widget.ImageView; | 34 import android.widget.ImageView; |
35 import android.widget.TextView; | 35 import android.widget.TextView; |
36 | 36 |
37 import org.chromium.base.CommandLine; | |
38 import org.chromium.base.VisibleForTesting; | 37 import org.chromium.base.VisibleForTesting; |
39 import org.chromium.base.metrics.RecordHistogram; | 38 import org.chromium.base.metrics.RecordHistogram; |
40 import org.chromium.base.metrics.RecordUserAction; | 39 import org.chromium.base.metrics.RecordUserAction; |
41 import org.chromium.chrome.R; | 40 import org.chromium.chrome.R; |
42 import org.chromium.chrome.browser.ChromeSwitches; | 41 import org.chromium.chrome.browser.ChromeFeatureList; |
43 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; | 42 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; |
44 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac
k; | 43 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac
k; |
45 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; | 44 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; |
46 import org.chromium.chrome.browser.ntp.LogoBridge.Logo; | 45 import org.chromium.chrome.browser.ntp.LogoBridge.Logo; |
47 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; | 46 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; |
48 import org.chromium.chrome.browser.ntp.MostVisitedItem.MostVisitedItemManager; | 47 import org.chromium.chrome.browser.ntp.MostVisitedItem.MostVisitedItemManager; |
49 import org.chromium.chrome.browser.ntp.NewTabPage.OnSearchBoxScrollListener; | 48 import org.chromium.chrome.browser.ntp.NewTabPage.OnSearchBoxScrollListener; |
50 import org.chromium.chrome.browser.ntp.snippets.SnippetsManager; | 49 import org.chromium.chrome.browser.ntp.snippets.SnippetsManager; |
51 import org.chromium.chrome.browser.preferences.DocumentModeManager; | 50 import org.chromium.chrome.browser.preferences.DocumentModeManager; |
52 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse
rver; | 51 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse
rver; |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 addOnLayoutChangeListener(this); | 325 addOnLayoutChangeListener(this); |
327 setSearchProviderHasLogo(searchProviderHasLogo); | 326 setSearchProviderHasLogo(searchProviderHasLogo); |
328 | 327 |
329 mPendingLoadTasks++; | 328 mPendingLoadTasks++; |
330 mManager.setMostVisitedURLsObserver(this, | 329 mManager.setMostVisitedURLsObserver(this, |
331 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo)); | 330 mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo)); |
332 | 331 |
333 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); | 332 if (mManager.shouldShowOptOutPromo()) showOptOutPromo(); |
334 | 333 |
335 // Set up snippets | 334 // Set up snippets |
336 if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_NTP_SNIPPE
TS)) { | 335 if (ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SNIPPETS)) { |
337 mSnippetsView = (RecyclerView) findViewById(R.id.snippets_card_list)
; | 336 mSnippetsView = (RecyclerView) findViewById(R.id.snippets_card_list)
; |
338 mSnippetsView.setVisibility(View.VISIBLE); | 337 mSnippetsView.setVisibility(View.VISIBLE); |
339 RecordHistogram.recordEnumeratedHistogram(SnippetsManager.SNIPPETS_S
TATE_HISTOGRAM, | 338 RecordHistogram.recordEnumeratedHistogram(SnippetsManager.SNIPPETS_S
TATE_HISTOGRAM, |
340 SnippetsManager.SNIPPETS_SHOWN, SnippetsManager.NUM_SNIPPETS
_ACTIONS); | 339 SnippetsManager.SNIPPETS_SHOWN, SnippetsManager.NUM_SNIPPETS
_ACTIONS); |
341 mSnippetsView.setLayoutManager(new LinearLayoutManager(getContext())
); | 340 mSnippetsView.setLayoutManager(new LinearLayoutManager(getContext())
); |
342 mSnippetsView.addOnScrollListener(new RecyclerView.OnScrollListener(
) { | 341 mSnippetsView.addOnScrollListener(new RecyclerView.OnScrollListener(
) { |
343 private boolean mScrolledOnce = false; | 342 private boolean mScrolledOnce = false; |
344 @Override | 343 @Override |
345 public void onScrollStateChanged(RecyclerView recyclerView, int
newState) { | 344 public void onScrollStateChanged(RecyclerView recyclerView, int
newState) { |
346 if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return; | 345 if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return; |
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 for (MostVisitedItem item : mMostVisitedItems) { | 982 for (MostVisitedItem item : mMostVisitedItems) { |
984 if (item.getUrl().equals(url)) { | 983 if (item.getUrl().equals(url)) { |
985 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i
tem, false); | 984 LargeIconCallback iconCallback = new LargeIconCallbackImpl(i
tem, false); |
986 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback)
; | 985 mManager.getLargeIconForUrl(url, mMinIconSize, iconCallback)
; |
987 break; | 986 break; |
988 } | 987 } |
989 } | 988 } |
990 } | 989 } |
991 } | 990 } |
992 } | 991 } |
OLD | NEW |