diff options
author | Winson Chung <winsonc@google.com> | 2019-07-12 14:59:56 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-07-12 14:59:56 -0700 |
commit | 726578e78d7f90f3a8ab68bbd31c2f7f99544b03 (patch) | |
tree | c907283c145e5803ccac27aa4e39698c3e86c791 /quickstep | |
parent | b81a2f67886ce4ef37baac97a8310332d9a79b6b (diff) | |
parent | eb078ba5dd0e0256990a2075f9ead920e0e3750f (diff) | |
download | android_packages_apps_Trebuchet-726578e78d7f90f3a8ab68bbd31c2f7f99544b03.tar.gz android_packages_apps_Trebuchet-726578e78d7f90f3a8ab68bbd31c2f7f99544b03.tar.bz2 android_packages_apps_Trebuchet-726578e78d7f90f3a8ab68bbd31c2f7f99544b03.zip |
Merge "Update the home stack bounds with the transition end points" into ub-launcher3-qt-r1-dev
am: eb078ba5dd
Change-Id: I463ac26af666f71a7e9dc3f779222fa542372f6e
Diffstat (limited to 'quickstep')
-rw-r--r-- | quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java | 32 | ||||
-rw-r--r-- | quickstep/recents_ui_overrides/src/com/android/quickstep/util/ClipAnimationHelper.java | 6 |
2 files changed, 26 insertions, 12 deletions
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java index 206173ce4..c60b28de3 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -350,12 +350,31 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> extends } } + private Rect getStackBounds(DeviceProfile dp) { + if (mActivity != null) { + int loc[] = new int[2]; + View rootView = mActivity.getRootView(); + rootView.getLocationOnScreen(loc); + return new Rect(loc[0], loc[1], loc[0] + rootView.getWidth(), + loc[1] + rootView.getHeight()); + } else { + return new Rect(0, 0, dp.widthPx, dp.heightPx); + } + } + private void initTransitionEndpoints(DeviceProfile dp) { mDp = dp; Rect tempRect = new Rect(); mTransitionDragLength = mActivityControlHelper.getSwipeUpDestinationAndLength( dp, mContext, tempRect); + if (!dp.isMultiWindowMode) { + // When updating the target rect, also update the home bounds since the location on + // screen of the launcher window may be stale (position is not updated until first + // traversal after the window is resized). We only do this for non-multiwindow because + // we otherwise use the minimized home bounds provided by the system. + mClipAnimationHelper.updateHomeBounds(getStackBounds(dp)); + } mClipAnimationHelper.updateTargetRect(tempRect); if (mMode == Mode.NO_BUTTON) { // We can drag all the way to the top of the screen. @@ -714,21 +733,12 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> extends .getOverviewWindowBounds(targetSet.minimizedHomeBounds, runningTaskTarget); dp = dp.getMultiWindowProfile(mContext, new Point( targetSet.minimizedHomeBounds.width(), targetSet.minimizedHomeBounds.height())); - dp.updateInsets(targetSet.homeContentInsets); } else { - if (mActivity != null) { - int loc[] = new int[2]; - View rootView = mActivity.getRootView(); - rootView.getLocationOnScreen(loc); - overviewStackBounds = new Rect(loc[0], loc[1], loc[0] + rootView.getWidth(), - loc[1] + rootView.getHeight()); - } else { - overviewStackBounds = new Rect(0, 0, dp.widthPx, dp.heightPx); - } // If we are not in multi-window mode, home insets should be same as system insets. dp = dp.copy(mContext); - dp.updateInsets(targetSet.homeContentInsets); + overviewStackBounds = getStackBounds(dp); } + dp.updateInsets(targetSet.homeContentInsets); dp.updateIsSeascape(mContext.getSystemService(WindowManager.class)); if (runningTaskTarget != null) { diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/ClipAnimationHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/ClipAnimationHelper.java index f0a290333..cae273a16 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/ClipAnimationHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/ClipAnimationHelper.java @@ -119,8 +119,12 @@ public class ClipAnimationHelper { } public void updateSource(Rect homeStackBounds, RemoteAnimationTargetCompat target) { - mHomeStackBounds.set(homeStackBounds); updateSourceStack(target); + updateHomeBounds(homeStackBounds); + } + + public void updateHomeBounds(Rect homeStackBounds) { + mHomeStackBounds.set(homeStackBounds); } public void updateTargetRect(Rect targetRect) { |