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

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

Issue 2360813004: 📰 Stop refreshing the whole NTP for every adapter change (Closed)
Patch Set: Created 4 years, 3 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/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 2426ef7972aeec02e7ee04d14f418120ec759ac2..81017626c9535345ec6bc4a26d4865c1b36a7f5e 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
@@ -18,7 +18,9 @@
import android.support.annotation.Nullable;
import android.support.v4.graphics.drawable.RoundedBitmapDrawable;
import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;
+import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.RecyclerView.ViewHolder;
import android.support.v7.widget.helper.ItemTouchHelper;
import android.text.Editable;
import android.text.TextUtils;
@@ -324,6 +326,17 @@ public void initialize(NewTabPageManager manager, boolean searchProviderHasLogo)
// made for the ScrollView UI.
ViewGroup.LayoutParams params = mNewTabPageLayout.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
+
+ mRecyclerView.setItemAnimator(new DefaultItemAnimator() {
+ @Override
+ public void onAnimationFinished(ViewHolder viewHolder) {
+ super.onAnimationFinished(viewHolder);
+ // When removing sections, because the animations are all translations, the
+ // scroll events don't fire and we can get in the situation where the toolbar
+ // buttons disappear.
+ updateSearchBoxOnScroll();
+ }
+ });
} else {
stub.setLayoutResource(R.layout.new_tab_page_scroll_view);
mScrollView = (NewTabPageScrollView) stub.inflate();
@@ -358,6 +371,7 @@ public void initialize(NewTabPageManager manager, boolean searchProviderHasLogo)
if (mUseCardsUi) {
mNewTabPageAdapter =
new NewTabPageAdapter(mManager, mNewTabPageLayout, mUiConfig);
+ mNewTabPageAdapter.initializeSections();
mRecyclerView.setAdapter(mNewTabPageAdapter);
// Set up swipe-to-dismiss

Powered by Google App Engine
This is Rietveld 408576698