summaryrefslogtreecommitdiffstats
path: root/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-05-22 16:24:40 -0700
committerSunny Goyal <sunnygoyal@google.com>2018-05-23 15:55:51 -0700
commit7f28fd55ff383a80caf364408c5c15d978be6c8b (patch)
treef289883555da479a720c2b49bda250ff16804b3f /quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
parentd5377ca4b331e4db72fcb51a7c0791ff5a1d6e02 (diff)
downloadandroid_packages_apps_Trebuchet-7f28fd55ff383a80caf364408c5c15d978be6c8b.tar.gz
android_packages_apps_Trebuchet-7f28fd55ff383a80caf364408c5c15d978be6c8b.tar.bz2
android_packages_apps_Trebuchet-7f28fd55ff383a80caf364408c5c15d978be6c8b.zip
Increasing the overview size while in QuickScrub mode
Bug: 80139193 Change-Id: I19ea05d3cc083628364651e9d9f581fe1aaaeaaa
Diffstat (limited to 'quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java')
-rw-r--r--quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index 84b217648..e93c80789 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -65,6 +65,7 @@ import com.android.quickstep.ActivityControlHelper.AnimationFactory;
import com.android.quickstep.ActivityControlHelper.LayoutListener;
import com.android.quickstep.TouchConsumer.InteractionType;
import com.android.quickstep.util.ClipAnimationHelper;
+import com.android.quickstep.util.TransformedRect;
import com.android.quickstep.util.RemoteAnimationTargetSet;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.TaskView;
@@ -181,7 +182,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
private LayoutListener mLayoutListener;
private RecentsView mRecentsView;
private QuickScrubController mQuickScrubController;
- private AnimationFactory mAnimationFactory = (t) -> { };
+ private AnimationFactory mAnimationFactory = (t, i) -> { };
private Runnable mLauncherDrawnCallback;
@@ -302,9 +303,9 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
private void initTransitionEndpoints(DeviceProfile dp) {
mDp = dp;
- Rect tempRect = new Rect();
+ TransformedRect tempRect = new TransformedRect();
mTransitionDragLength = mActivityControlHelper
- .getSwipeUpDestinationAndLength(dp, mContext, tempRect);
+ .getSwipeUpDestinationAndLength(dp, mContext, mInteractionType, tempRect);
mClipAnimationHelper.updateTargetRect(tempRect);
}
@@ -488,7 +489,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
*/
public void buildAnimationController() {
initTransitionEndpoints(mActivity.getDeviceProfile());
- mAnimationFactory.createActivityController(mTransitionDragLength);
+ mAnimationFactory.createActivityController(mTransitionDragLength, mInteractionType);
}
private void onAnimatorPlaybackControllerCreated(AnimatorPlaybackController anim) {
@@ -793,13 +794,16 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
int scrollForFirstTask = mRecentsView.getScrollForPage(0);
int scrollForSecondTask = mRecentsView.getChildCount() > 1
? mRecentsView.getScrollForPage(1) : scrollForFirstTask;
- int offsetFromFirstTask = scrollForFirstTask - scrollForSecondTask;
- final float interpolation;
- if (mRecentsView.getWidth() == 0) {
- interpolation = scrollForSecondTask == scrollForFirstTask ? 0 : 1;
- } else {
- interpolation = (float) offsetFromFirstTask / (mRecentsView.getWidth() / 2);
- }
+ float offsetFromFirstTask = scrollForFirstTask - scrollForSecondTask;
+
+ TransformedRect tempRect = new TransformedRect();
+ mActivityControlHelper
+ .getSwipeUpDestinationAndLength(mDp, mContext, mInteractionType, tempRect);
+ float distanceToReachEdge = mDp.widthPx / 2 + tempRect.rect.width() / 2 +
+ mContext.getResources().getDimensionPixelSize(R.dimen.recents_page_spacing);
+ float interpolation = Math.min(1,
+ Math.abs(offsetFromFirstTask) / distanceToReachEdge);
+
mClipAnimationHelper.offsetTarget(
firstTask.getCurveScaleForInterpolation(interpolation), offsetFromFirstTask,
mActivityControlHelper.getTranslationYForQuickScrub(mActivity),