Disable scrolling animation in Tab-to-Grid transition animation
After Grid Tab Switcher (GTS) can be lazily cleared
(added in http://crrev.com/c/1636621), when showing Tab-to-Grid
transition animation while GTS is not cleared yet, a scrolling
animation can be seen.
This CL fixes that by disabling scroll animation when playing
transition animation.
(cherry picked from commit 14670292292d6709923bd0b0e4bd15010c331091)
Bug: 968822
Change-Id: Id067065808dfc40bd608b3b0c6b80ed735e547aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1641809
Reviewed-by: Yusuf Ozuysal <yusufo@chromium.org>
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665808}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1657148
Cr-Commit-Position: refs/branch-heads/3809@{#272}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
index 98e0c9f6..de1dffc 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
@@ -68,7 +68,7 @@
private VisibilityListener mListener;
private ViewResourceAdapter mDynamicView;
private long mLastDirtyTime;
- private long mOriginalAddDuration;
+ private RecyclerView.ItemAnimator mOriginalAnimator;
/**
* Basic constructor to use during inflation from xml.
@@ -88,9 +88,9 @@
void prepareOverview() {
endAllAnimations();
- // Make all the items show up immediately.
- mOriginalAddDuration = getItemAnimator().getAddDuration();
- getItemAnimator().setAddDuration(0);
+ // Stop all the animations to make all the items show up and scroll to position immediately.
+ mOriginalAnimator = getItemAnimator();
+ setItemAnimator(null);
}
/**
@@ -113,7 +113,7 @@
mFadeInAnimator = null;
mListener.finishedShowing();
// Restore the original value.
- getItemAnimator().setAddDuration(mOriginalAddDuration);
+ setItemAnimator(mOriginalAnimator);
if (mDynamicView != null)
mDynamicView.dropCachedBitmap();