Merge "Cleanup split screen offset in TaskViewSimulator" into sc-v2-dev am: d58e7b6fc4

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15910345

Change-Id: Idf1e7806ce0dfd81cfd1986b75fdaa587eb67d55
This commit is contained in:
TreeHugger Robot
2021-09-25 04:19:27 +00:00
committed by Automerger Merge Worker
4 changed files with 6 additions and 60 deletions
@@ -17,7 +17,11 @@ package com.android.quickstep.util;
import static com.android.launcher3.states.RotationHelper.deltaRotation;
import static com.android.launcher3.touch.PagedOrientationHandler.MATRIX_POST_TRANSLATE;
import static com.android.launcher3.util.SplitConfigurationOptions.*;
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED;
import static com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
import static com.android.launcher3.util.SplitConfigurationOptions.StagedSplitBounds;
import static com.android.quickstep.util.RecentsOrientedState.postDisplayRotation;
import static com.android.quickstep.util.RecentsOrientedState.preDisplayRotation;
import static com.android.systemui.shared.system.WindowManagerWrapper.WINDOWING_MODE_FULLSCREEN;
@@ -26,7 +30,6 @@ import android.animation.TimeInterpolator;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
@@ -56,8 +59,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
private final Rect mTmpCropRect = new Rect();
private final RectF mTempRectF = new RectF();
// Additional offset for split tasks
private final Point mSplitOffset = new Point();
private final float[] mTempPoint = new float[2];
private final Context mContext;
@@ -75,7 +76,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
private final Matrix mMatrix = new Matrix();
private final Matrix mMatrixTmp = new Matrix();
private final Point mRunningTargetWindowPosition = new Point();
// Thumbnail view properties
private final Rect mThumbnailPosition = new Rect();
@@ -159,8 +159,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
*/
public void setPreview(RemoteAnimationTargetCompat runningTarget) {
setPreviewBounds(runningTarget.screenSpaceBounds, runningTarget.contentInsets);
mRunningTargetWindowPosition.set(runningTarget.screenSpaceBounds.left,
runningTarget.screenSpaceBounds.top);
}
/**
@@ -261,9 +259,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
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);
}
/**
@@ -280,11 +275,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
getFullScreenScale();
mThumbnailData.rotation = mOrientationState.getDisplayRotation();
if (mStagedSplitBounds != null) {
mOrientationState.getOrientationHandler().setLeashSplitOffset(mSplitOffset, mDp,
mStagedSplitBounds, mStagePosition);
}
// mIsRecentsRtl is the inverse of TaskView RTL.
boolean isRtlEnabled = !mIsRecentsRtl;
mPositionHelper.updateThumbnailMatrix(
@@ -293,7 +283,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
mDp, mOrientationState.getRecentsActivityRotation(), isRtlEnabled);
mPositionHelper.getMatrix().invert(mInversePositionMatrix);
if (DEBUG) {
Log.d(TAG, " taskRect: " + mTaskRect + " splitOffset: " + mSplitOffset);
Log.d(TAG, " taskRect: " + mTaskRect);
}
}
@@ -344,7 +334,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
+ " recentsViewScale: " + recentsViewScale.value
+ " crop: " + mTmpCropRect
+ " radius: " + getCurrentCornerRadius()
+ " translate: " + mSplitOffset
+ " taskW: " + taskWidth + " H: " + taskHeight
+ " taskRect: " + mTaskRect
+ " taskPrimaryT: " + taskPrimaryTranslation.value
@@ -31,7 +31,6 @@ import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITIO
import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_TYPE_MAIN;
import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
@@ -388,15 +387,6 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
}
}
@Override
public void setLeashSplitOffset(Point splitOffset, DeviceProfile dp,
StagedSplitBounds splitInfo, int desiredStagePosition) {
if (desiredStagePosition == STAGE_POSITION_BOTTOM_OR_RIGHT) {
// The preview set is for the bottom/right, inset by top/left task
splitOffset.x = splitInfo.leftTopBounds.width() + splitInfo.visualDividerBounds.width();
}
}
@Override
public void measureGroupedTaskViewThumbnailBounds(View primarySnapshot, View secondarySnapshot,
int parentWidth, int parentHeight,
@@ -19,7 +19,6 @@ package com.android.launcher3.touch;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
@@ -146,21 +145,6 @@ public interface PagedOrientationHandler {
StagedSplitBounds splitInfo,
@SplitConfigurationOptions.StagePosition int desiredStagePosition);
/**
* It's important to note that {@link #setSplitTaskSwipeRect(DeviceProfile, Rect,
* StagedSplitBounds, int)} above operates on the outRect based on
* launcher's coordinate system, meaning it will treat the outRect as portrait if home rotation
* is not allowed.
*
* However, here the splitOffset is from perspective of TaskViewSimulator, which is in display
* orientation coordinates. So, for example, for the fake landscape scenario, even though
* launcher is portrait, we inset the bottom/right task by an X coordinate instead of the
* usual Y
*/
void setLeashSplitOffset(Point splitOffset, DeviceProfile dp,
StagedSplitBounds splitInfo,
@SplitConfigurationOptions.StagePosition int desiredStagePosition);
void measureGroupedTaskViewThumbnailBounds(View primarySnapshot, View secondarySnapshot,
int parentWidth, int parentHeight,
SplitConfigurationOptions.StagedSplitBounds splitBoundsConfig, DeviceProfile dp);
@@ -31,7 +31,6 @@ import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_TYPE_MA
import android.content.res.Resources;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
@@ -475,22 +474,6 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler {
}
}
@Override
public void setLeashSplitOffset(Point splitOffset, DeviceProfile dp,
StagedSplitBounds splitInfo, int desiredStagePosition) {
if (desiredStagePosition == STAGE_POSITION_BOTTOM_OR_RIGHT) {
if (dp.isLandscape) {
splitOffset.x = splitInfo.leftTopBounds.width() +
splitInfo.visualDividerBounds.width();
splitOffset.y = 0;
} else {
splitOffset.y = splitInfo.leftTopBounds.height() +
splitInfo.visualDividerBounds.height();
splitOffset.x = 0;
}
}
}
@Override
public void measureGroupedTaskViewThumbnailBounds(View primarySnapshot, View secondarySnapshot,
int parentWidth, int parentHeight,