| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
|
| index f4c7b76b2f2610a96828040c672629336b83fb00..7f075a2fd6b92a5d07db0426c9411a8f1f30391e 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
|
| @@ -292,11 +292,53 @@ public void initialize(NewTabPageManager manager, boolean searchProviderHasLogo,
|
| mSearchBoxView = mNewTabPageLayout.findViewById(R.id.search_box);
|
| mNoSearchLogoSpacer = mNewTabPageLayout.findViewById(R.id.no_search_logo_spacer);
|
|
|
| + initializeSearchBoxTextView();
|
| + initializeVoiceSearchButton();
|
| + initializeToolbar();
|
| +
|
| + mNewTabPageLayout.addOnLayoutChangeListener(this);
|
| + setSearchProviderHasLogo(searchProviderHasLogo);
|
| +
|
| + mPendingLoadTasks++;
|
| + mManager.setMostVisitedURLsObserver(
|
| + this, mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo));
|
| +
|
| + // Set up snippets
|
| + if (mUseCardsUi) {
|
| + mNewTabPageAdapter = new NewTabPageAdapter(mManager, mNewTabPageLayout, snippetsBridge);
|
| + mRecyclerView.setAdapter(mNewTabPageAdapter);
|
| +
|
| + // Set up swipe-to-dismiss
|
| + ItemTouchHelper helper =
|
| + new ItemTouchHelper(mNewTabPageAdapter.getItemTouchCallbacks());
|
| + helper.attachToRecyclerView(mRecyclerView);
|
| +
|
| + mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
| + private boolean mScrolledOnce = false;
|
| + @Override
|
| + public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
| + if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return;
|
| + RecordUserAction.record("MobileNTP.Snippets.Scrolled");
|
| + if (mScrolledOnce) return;
|
| + mScrolledOnce = true;
|
| + NewTabPageUma.recordSnippetAction(NewTabPageUma.SNIPPETS_ACTION_SCROLLED);
|
| + }
|
| + });
|
| + initializeSearchBoxRecyclerViewScrollHandling();
|
| + } else {
|
| + initializeSearchBoxScrollHandling();
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * Sets up the hint text and event handlers for the search box text view.
|
| + */
|
| + private void initializeSearchBoxTextView() {
|
| final TextView searchBoxTextView = (TextView) mSearchBoxView
|
| .findViewById(R.id.search_box_text);
|
| String hintText = getResources().getString(R.string.search_or_type_url);
|
|
|
| - if (!DeviceFormFactor.isTablet(getContext()) || manager.isFakeOmniboxTextEnabledTablet()) {
|
| + if (!DeviceFormFactor.isTablet(getContext()) || mManager.isFakeOmniboxTextEnabledTablet()) {
|
| searchBoxTextView.setHint(hintText);
|
| } else {
|
| searchBoxTextView.setContentDescription(hintText);
|
| @@ -323,7 +365,9 @@ public void afterTextChanged(Editable s) {
|
| searchBoxTextView.setText("");
|
| }
|
| });
|
| + }
|
|
|
| + private void initializeVoiceSearchButton() {
|
| mVoiceSearchButton = (ImageView) mNewTabPageLayout.findViewById(R.id.voice_search_button);
|
| mVoiceSearchButton.setOnClickListener(new View.OnClickListener() {
|
| @Override
|
| @@ -331,10 +375,15 @@ public void onClick(View v) {
|
| mManager.focusSearchBox(true, null);
|
| }
|
| });
|
| + }
|
|
|
| - // Set up the toolbar
|
| + /**
|
| + * Sets up event listeners for the bottom toolbar if it is enabled. Removes the bottom toolbar
|
| + * if it is disabled.
|
| + */
|
| + private void initializeToolbar() {
|
| NewTabPageToolbar toolbar = (NewTabPageToolbar) findViewById(R.id.ntp_toolbar);
|
| - if (manager.isToolbarEnabled()) {
|
| + if (mManager.isToolbarEnabled()) {
|
| toolbar.getRecentTabsButton().setOnClickListener(new View.OnClickListener() {
|
| @Override
|
| public void onClick(View v) {
|
| @@ -352,39 +401,6 @@ public void onClick(View v) {
|
| MarginLayoutParams params = (MarginLayoutParams) getWrapperView().getLayoutParams();
|
| params.bottomMargin = 0;
|
| }
|
| -
|
| - mNewTabPageLayout.addOnLayoutChangeListener(this);
|
| - setSearchProviderHasLogo(searchProviderHasLogo);
|
| -
|
| - mPendingLoadTasks++;
|
| - mManager.setMostVisitedURLsObserver(this,
|
| - mMostVisitedDesign.getNumberOfTiles(searchProviderHasLogo));
|
| -
|
| - // Set up snippets
|
| - if (mUseCardsUi) {
|
| - mNewTabPageAdapter = new NewTabPageAdapter(mManager, mNewTabPageLayout, snippetsBridge);
|
| - mRecyclerView.setAdapter(mNewTabPageAdapter);
|
| -
|
| - // Set up swipe-to-dismiss
|
| - ItemTouchHelper helper =
|
| - new ItemTouchHelper(mNewTabPageAdapter.getItemTouchCallbacks());
|
| - helper.attachToRecyclerView(mRecyclerView);
|
| -
|
| - mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
| - private boolean mScrolledOnce = false;
|
| - @Override
|
| - public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
| - if (newState != RecyclerView.SCROLL_STATE_DRAGGING) return;
|
| - RecordUserAction.record("MobileNTP.Snippets.Scrolled");
|
| - if (mScrolledOnce) return;
|
| - mScrolledOnce = true;
|
| - NewTabPageUma.recordSnippetAction(NewTabPageUma.SNIPPETS_ACTION_SCROLLED);
|
| - }
|
| - });
|
| - initializeSearchBoxRecyclerViewScrollHandling();
|
| - } else {
|
| - initializeSearchBoxScrollHandling();
|
| - }
|
| }
|
|
|
| private void updateSearchBoxOnScroll() {
|
|
|