OSDN Git Service

Do not remove onLayoutChangeListener on hotseat inside AllAppsTransitionController
authorHyunyoung Song <hyunyoungs@google.com>
Thu, 7 Jul 2016 22:57:42 +0000 (15:57 -0700)
committerHyunyoung Song <hyunyoungs@google.com>
Thu, 7 Jul 2016 23:11:16 +0000 (16:11 -0700)
Change-Id: I883660906b5bf59035f0382e6a448c6992a58a0c

src/com/android/launcher3/allapps/AllAppsTransitionController.java

index 0babc1a..b42b762 100644 (file)
@@ -65,6 +65,8 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
     private float mShiftCurrent;    // [0, mShiftRange]
     private float mShiftRange;      // changes depending on the orientation
 
+    private static final float DEFAULT_SHIFT_RANGE = 10;
+
 
     private static final float RECATCH_REJECTION_FRACTION = .0875f;
 
@@ -81,6 +83,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
         mLauncher = launcher;
         mDetector = new VerticalPullDetector(launcher);
         mDetector.setListener(this);
+        mShiftCurrent = mShiftRange = DEFAULT_SHIFT_RANGE;
         mBezelSwipeUpHeight = launcher.getResources().getDimensionPixelSize(
                 R.dimen.all_apps_bezel_swipe_height);
     }
@@ -436,14 +439,12 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
     @Override
     public void onLayoutChange(View v, int left, int top, int right, int bottom,
             int oldLeft, int oldTop, int oldRight, int oldBottom) {
+        float prevShiftRatio = mShiftCurrent / mShiftRange;
         if (!mLauncher.getDeviceProfile().isVerticalBarLayout()) {
             mShiftRange = top;
         } else {
             mShiftRange = bottom;
         }
-        if (!mLauncher.isAllAppsVisible()) {
-            setProgress(mShiftRange);
-        }
-        mHotseat.removeOnLayoutChangeListener(this);
+        setProgress(mShiftRange * prevShiftRatio);
     }
 }