Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +3 −3 Original line number Diff line number Diff line Loading @@ -108,7 +108,6 @@ import com.android.quickstep.util.StaggeredWorkspaceAnim; import com.android.quickstep.util.SurfaceTransactionApplier; import com.android.quickstep.util.SwipePipToHomeAnimator; import com.android.quickstep.util.TaskViewSimulator; import com.android.quickstep.util.TransformParams; import com.android.quickstep.util.VibratorWrapper; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskView; Loading Loading @@ -1342,9 +1341,10 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, final int windowRotation = calculateWindowRotation(runningTaskTarget, orientationState); final int homeRotation = orientationState.getRecentsActivityRotation(); final Matrix homeToWindowPositionMap = new Matrix(); final RectF startRect = updateProgressForStartRect(homeToWindowPositionMap, final Matrix[] homeToWindowPositionMaps = new Matrix[mRemoteTargetHandles.length]; final RectF startRect = updateProgressForStartRect(homeToWindowPositionMaps, startProgress)[0]; final Matrix homeToWindowPositionMap = homeToWindowPositionMaps[0]; // Move the startRect to Launcher space as floatingIconView runs in Launcher final Matrix windowToHomePositionMap = new Matrix(); homeToWindowPositionMap.invert(windowToHomePositionMap); Loading quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java +5 −4 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ public abstract class SwipeUpAnimationLogic implements * @param startProgress The progress of {@link #mCurrentShift} to start thw window from. * @return {@link RectF} represents the bounds as starting point in window space. */ protected RectF[] updateProgressForStartRect(Matrix outMatrix, float startProgress) { protected RectF[] updateProgressForStartRect(Matrix[] outMatrix, float startProgress) { mCurrentShift.updateValue(startProgress); RectF[] startRects = new RectF[mRemoteTargetHandles.length]; for (int i = 0, mRemoteTargetHandlesLength = mRemoteTargetHandles.length; Loading @@ -237,7 +237,8 @@ public abstract class SwipeUpAnimationLogic implements tvs.apply(remoteHandle.getTransformParams().setProgress(startProgress)); startRects[i] = new RectF(tvs.getCurrentCropRect()); tvs.applyWindowToHomeRotation(outMatrix); outMatrix[i] = new Matrix(); tvs.applyWindowToHomeRotation(outMatrix[i]); tvs.getCurrentMatrix().mapRect(startRects[i]); } return startRects; Loading Loading @@ -267,14 +268,14 @@ public abstract class SwipeUpAnimationLogic implements // TODO(b/195473584) compute separate end targets for different staged split final RectF targetRect = homeAnimationFactory.getWindowTargetRect(); RectFSpringAnim[] out = new RectFSpringAnim[mRemoteTargetHandles.length]; Matrix homeToWindowPositionMap = new Matrix(); Matrix[] homeToWindowPositionMap = new Matrix[mRemoteTargetHandles.length]; RectF[] startRects = updateProgressForStartRect(homeToWindowPositionMap, startProgress); for (int i = 0, mRemoteTargetHandlesLength = mRemoteTargetHandles.length; i < mRemoteTargetHandlesLength; i++) { RemoteTargetHandle remoteHandle = mRemoteTargetHandles[i]; out[i] = getWindowAnimationToHomeInternal(homeAnimationFactory, targetRect, remoteHandle.getTransformParams(), remoteHandle.getTaskViewSimulator(), startRects[i], homeToWindowPositionMap); remoteHandle.getTaskViewSimulator(), startRects[i], homeToWindowPositionMap[i]); } return out; } Loading quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +3 −4 Original line number Diff line number Diff line Loading @@ -256,12 +256,14 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { * window coordinate space. */ public void applyWindowToHomeRotation(Matrix matrix) { mMatrix.postTranslate(mDp.windowX, mDp.windowY); matrix.postTranslate(mDp.windowX, mDp.windowY); postDisplayRotation(deltaRotation( mOrientationState.getRecentsActivityRotation(), mOrientationState.getDisplayRotation()), mDp.widthPx, mDp.heightPx, matrix); matrix.postTranslate(-mRunningTargetWindowPosition.x, -mRunningTargetWindowPosition.y); // Move lower/right split window into correct position matrix.postTranslate(mSplitOffset.x, mSplitOffset.y); } /** Loading Loading @@ -326,9 +328,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { recentsViewPrimaryTranslation.value); applyWindowToHomeRotation(mMatrix); // Move lower/right split window into correct position mMatrix.postTranslate(mSplitOffset.x, mSplitOffset.y); // Crop rect is the inverse of thumbnail matrix mTempRectF.set(-insets.left, -insets.top, taskWidth + insets.right, taskHeight + insets.bottom); Loading Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +3 −3 Original line number Diff line number Diff line Loading @@ -108,7 +108,6 @@ import com.android.quickstep.util.StaggeredWorkspaceAnim; import com.android.quickstep.util.SurfaceTransactionApplier; import com.android.quickstep.util.SwipePipToHomeAnimator; import com.android.quickstep.util.TaskViewSimulator; import com.android.quickstep.util.TransformParams; import com.android.quickstep.util.VibratorWrapper; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskView; Loading Loading @@ -1342,9 +1341,10 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, final int windowRotation = calculateWindowRotation(runningTaskTarget, orientationState); final int homeRotation = orientationState.getRecentsActivityRotation(); final Matrix homeToWindowPositionMap = new Matrix(); final RectF startRect = updateProgressForStartRect(homeToWindowPositionMap, final Matrix[] homeToWindowPositionMaps = new Matrix[mRemoteTargetHandles.length]; final RectF startRect = updateProgressForStartRect(homeToWindowPositionMaps, startProgress)[0]; final Matrix homeToWindowPositionMap = homeToWindowPositionMaps[0]; // Move the startRect to Launcher space as floatingIconView runs in Launcher final Matrix windowToHomePositionMap = new Matrix(); homeToWindowPositionMap.invert(windowToHomePositionMap); Loading
quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java +5 −4 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ public abstract class SwipeUpAnimationLogic implements * @param startProgress The progress of {@link #mCurrentShift} to start thw window from. * @return {@link RectF} represents the bounds as starting point in window space. */ protected RectF[] updateProgressForStartRect(Matrix outMatrix, float startProgress) { protected RectF[] updateProgressForStartRect(Matrix[] outMatrix, float startProgress) { mCurrentShift.updateValue(startProgress); RectF[] startRects = new RectF[mRemoteTargetHandles.length]; for (int i = 0, mRemoteTargetHandlesLength = mRemoteTargetHandles.length; Loading @@ -237,7 +237,8 @@ public abstract class SwipeUpAnimationLogic implements tvs.apply(remoteHandle.getTransformParams().setProgress(startProgress)); startRects[i] = new RectF(tvs.getCurrentCropRect()); tvs.applyWindowToHomeRotation(outMatrix); outMatrix[i] = new Matrix(); tvs.applyWindowToHomeRotation(outMatrix[i]); tvs.getCurrentMatrix().mapRect(startRects[i]); } return startRects; Loading Loading @@ -267,14 +268,14 @@ public abstract class SwipeUpAnimationLogic implements // TODO(b/195473584) compute separate end targets for different staged split final RectF targetRect = homeAnimationFactory.getWindowTargetRect(); RectFSpringAnim[] out = new RectFSpringAnim[mRemoteTargetHandles.length]; Matrix homeToWindowPositionMap = new Matrix(); Matrix[] homeToWindowPositionMap = new Matrix[mRemoteTargetHandles.length]; RectF[] startRects = updateProgressForStartRect(homeToWindowPositionMap, startProgress); for (int i = 0, mRemoteTargetHandlesLength = mRemoteTargetHandles.length; i < mRemoteTargetHandlesLength; i++) { RemoteTargetHandle remoteHandle = mRemoteTargetHandles[i]; out[i] = getWindowAnimationToHomeInternal(homeAnimationFactory, targetRect, remoteHandle.getTransformParams(), remoteHandle.getTaskViewSimulator(), startRects[i], homeToWindowPositionMap); remoteHandle.getTaskViewSimulator(), startRects[i], homeToWindowPositionMap[i]); } return out; } Loading
quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +3 −4 Original line number Diff line number Diff line Loading @@ -256,12 +256,14 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { * window coordinate space. */ public void applyWindowToHomeRotation(Matrix matrix) { mMatrix.postTranslate(mDp.windowX, mDp.windowY); matrix.postTranslate(mDp.windowX, mDp.windowY); postDisplayRotation(deltaRotation( mOrientationState.getRecentsActivityRotation(), mOrientationState.getDisplayRotation()), mDp.widthPx, mDp.heightPx, matrix); matrix.postTranslate(-mRunningTargetWindowPosition.x, -mRunningTargetWindowPosition.y); // Move lower/right split window into correct position matrix.postTranslate(mSplitOffset.x, mSplitOffset.y); } /** Loading Loading @@ -326,9 +328,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { recentsViewPrimaryTranslation.value); applyWindowToHomeRotation(mMatrix); // Move lower/right split window into correct position mMatrix.postTranslate(mSplitOffset.x, mSplitOffset.y); // Crop rect is the inverse of thumbnail matrix mTempRectF.set(-insets.left, -insets.top, taskWidth + insets.right, taskHeight + insets.bottom); Loading