Merge "Cleanup split screen offset in TaskViewSimulator" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d58e7b6fc4
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user