Merge "Ensures in all apps that the scrollposition and floating header translation are reset correctly on closing all apps and switching tabs." into ub-launcher3-master
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index e54c0bc..b98d852 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -495,6 +495,7 @@
             public void onPageSelected(int pos) {
                 tabs.updateTabTextColor(pos);
                 mHeader.setMainActive(pos == 0);
+                reset();
                 applyTouchDelegate();
                 if (mAH[pos].recyclerView != null) {
                     mAH[pos].recyclerView.bindFastScrollbar();
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index dc3afb5..409985c 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -107,6 +107,7 @@
         mWorkRV = setupRV(mWorkRV, mAH[AllAppsContainerView.AdapterHolder.WORK].recyclerView);
         mParent = (ViewGroup) mMainRV.getParent();
         setMainActive(true);
+        reset();
         setupDivider();
     }
 
@@ -130,8 +131,6 @@
 
     public void setMainActive(boolean active) {
         mCurrentRV = active ? mMainRV : mWorkRV;
-        mSnappedScrolledY = mCurrentRV.getCurrentScrollY() - mMaxTranslation;
-        setExpanded(true);
     }
 
     public PredictionRowView getPredictionRow() {
@@ -142,10 +141,6 @@
         return mDivider;
     }
 
-    public void reset() {
-        setExpanded(true);
-    }
-
     private boolean canSnapAt(int currentScrollY) {
         return Math.abs(currentScrollY) <= mPredictionRow.getHeight();
     }
@@ -194,16 +189,14 @@
         }
     }
 
-    private void setExpanded(boolean expand) {
-        int translateTo = expand ? 0 : -mMaxTranslation;
+    public void reset() {
+        int translateTo = 0;
         mAnimator.setIntValues(mTranslationY, translateTo);
         mAnimator.addUpdateListener(this);
         mAnimator.setDuration(150);
         mAnimator.start();
-        mHeaderCollapsed = !expand;
-        mSnappedScrolledY = expand
-                ? mCurrentRV.getCurrentScrollY() - mMaxTranslation
-                : mCurrentRV.getCurrentScrollY();
+        mHeaderCollapsed = false;
+        mSnappedScrolledY = -mMaxTranslation;
     }
 
     public boolean isExpanded() {