Make very first pull up should always work

> Also delete unnecessary code.
> Fix a bug where the container doesn't snap to the top and bottom.

Change-Id: If820e9fae03d060e53ac028f8e8d827c90b354fc
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index 4c51dfe..219658d 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -175,9 +175,8 @@
         if (mAppsView == null) {
             return false;   // early termination.
         }
-        if (0 <= mShiftStart + displacement && mShiftStart + displacement < mShiftRange) {
-            setProgress(mShiftStart + displacement);
-        }
+        float progress = Math.min(Math.max(0, mShiftStart + displacement), mShiftRange);
+        setProgress(progress);
         return true;
     }
 
@@ -233,11 +232,7 @@
             mStatusBarHeight = mLauncher.getDragLayer().getInsets().top;
             mHotseat.setVisibility(View.VISIBLE);
             mHotseat.bringToFront();
-            if (!mLauncher.getDeviceProfile().isVerticalBarLayout()) {
-                mShiftRange = mHotseat.getTop();
-            } else {
-                mShiftRange = mHotseat.getBottom();
-            }
+
             if (!mLauncher.isAllAppsVisible()) {
                 mLauncher.tryAndUpdatePredictedApps();
 
@@ -248,20 +243,6 @@
                 mAppsView.getContentView().setBackground(null);
                 mAppsView.getRevealView().setVisibility(View.VISIBLE);
                 mAppsView.getRevealView().setAlpha(mHotseatBackgroundAlpha);
-
-                DeviceProfile grid= mLauncher.getDeviceProfile();
-                if (!grid.isVerticalBarLayout()) {
-                    mShiftRange = mHotseat.getTop();
-                } else {
-                    mShiftRange = mHotseat.getBottom();
-                }
-                mAppsView.getRevealView().setAlpha(mHotseatBackgroundAlpha);
-                setProgress(mShiftRange);
-            } else {
-                View child = ((CellLayout) mWorkspace.getChildAt(mWorkspace.getNextPage()))
-                        .getShortcutsAndWidgets();
-                child.setVisibility(View.VISIBLE);
-                child.setAlpha(1f);
             }
         } else {
             setProgress(mShiftCurrent);
@@ -449,5 +430,18 @@
         mAppsView = appsView;
         mHotseat = hotseat;
         mWorkspace = workspace;
+        mHotseat.addOnLayoutChangeListener(new View.OnLayoutChangeListener(){
+            public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                    int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                if (!mLauncher.getDeviceProfile().isVerticalBarLayout()) {
+                    mShiftRange = top;
+                } else {
+                    mShiftRange = bottom;
+                }
+                if (!mLauncher.isAllAppsVisible()) {
+                    setProgress(mShiftRange);
+                }
+            }
+        });
     }
 }