mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Merge "Revert "Use splitscreen insets for multiwindow, else use thumbnail insets"" into ub-launcher3-rvc-dev
This commit is contained in:
@@ -65,7 +65,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
// Thumbnail view properties
|
||||
private final Rect mThumbnailPosition = new Rect();
|
||||
private final ThumbnailData mThumbnailData = new ThumbnailData();
|
||||
private final PreviewPositionHelper mPositionHelper;
|
||||
private final PreviewPositionHelper mPositionHelper = new PreviewPositionHelper();
|
||||
private final Matrix mInversePositionMatrix = new Matrix();
|
||||
|
||||
// TaskView properties
|
||||
@@ -87,7 +87,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
|
||||
mSizeStrategy = sizeStrategy;
|
||||
|
||||
mOrientationState = new RecentsOrientedState(context, sizeStrategy, i -> { });
|
||||
mPositionHelper = new PreviewPositionHelper(mContext);
|
||||
|
||||
mCurrentFullscreenParams = new FullscreenDrawParams(context);
|
||||
mPageSpacing = context.getResources().getDimensionPixelSize(R.dimen.recents_page_spacing);
|
||||
|
||||
@@ -49,7 +49,6 @@ import com.android.launcher3.util.SystemUiController;
|
||||
import com.android.launcher3.util.Themes;
|
||||
import com.android.quickstep.TaskOverlayFactory;
|
||||
import com.android.quickstep.TaskOverlayFactory.TaskOverlay;
|
||||
import com.android.quickstep.util.SplitScreenBounds;
|
||||
import com.android.quickstep.views.TaskView.FullscreenDrawParams;
|
||||
import com.android.systemui.plugins.OverviewScreenshotActions;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
@@ -91,7 +90,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
|
||||
// Contains the portion of the thumbnail that is clipped when fullscreen progress = 0.
|
||||
private final Rect mPreviewRect = new Rect();
|
||||
private final PreviewPositionHelper mPreviewPositionHelper;
|
||||
private final PreviewPositionHelper mPreviewPositionHelper = new PreviewPositionHelper();
|
||||
// Initialize with dummy value. It is overridden later by TaskView
|
||||
private TaskView.FullscreenDrawParams mFullscreenParams = TEMP_PARAMS;
|
||||
|
||||
@@ -123,7 +122,6 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
mDimmingPaintAfterClearing.setColor(Color.BLACK);
|
||||
mActivity = BaseActivity.fromContext(context);
|
||||
mIsDarkTextTheme = Themes.getAttrBoolean(mActivity, R.attr.isWorkspaceDarkText);
|
||||
mPreviewPositionHelper = new PreviewPositionHelper(context);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -415,17 +413,12 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
*/
|
||||
public static class PreviewPositionHelper {
|
||||
|
||||
private final Context mContext;
|
||||
// Contains the portion of the thumbnail that is clipped when fullscreen progress = 0.
|
||||
private final RectF mClippedInsets = new RectF();
|
||||
private final Matrix mMatrix = new Matrix();
|
||||
private float mClipBottom = -1;
|
||||
private boolean mIsOrientationChanged;
|
||||
|
||||
public PreviewPositionHelper(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public Matrix getMatrix() {
|
||||
return mMatrix;
|
||||
}
|
||||
@@ -451,6 +444,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
int thumbnailRotation = thumbnailData.rotation;
|
||||
int deltaRotate = getRotationDelta(currentRotation, thumbnailRotation);
|
||||
|
||||
Rect deviceInsets = dp.getInsets();
|
||||
// Landscape vs portrait change
|
||||
boolean windowingModeSupportsRotation = !dp.isMultiWindowMode
|
||||
&& thumbnailData.windowingMode == WINDOWING_MODE_FULLSCREEN;
|
||||
@@ -469,17 +463,9 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
: canvasWidth / thumbnailWidth;
|
||||
}
|
||||
|
||||
Rect splitScreenInsets = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(mContext)
|
||||
.insets;
|
||||
if (!isRotated) {
|
||||
// No Rotation
|
||||
if (dp.isMultiWindowMode) {
|
||||
mClippedInsets.offsetTo(splitScreenInsets.left * scale,
|
||||
splitScreenInsets.top * scale);
|
||||
} else {
|
||||
mClippedInsets.offsetTo(thumbnailInsets.left * scale,
|
||||
thumbnailInsets.top * scale);
|
||||
}
|
||||
mClippedInsets.offsetTo(deviceInsets.left * scale, deviceInsets.top * scale);
|
||||
mMatrix.setTranslate(
|
||||
-thumbnailInsets.left * scale,
|
||||
-thumbnailInsets.top * scale);
|
||||
@@ -500,8 +486,8 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc
|
||||
mClippedInsets.top *= thumbnailScale;
|
||||
|
||||
if (dp.isMultiWindowMode) {
|
||||
mClippedInsets.right = splitScreenInsets.right * scale * thumbnailScale;
|
||||
mClippedInsets.bottom = splitScreenInsets.bottom * scale * thumbnailScale;
|
||||
mClippedInsets.right = deviceInsets.right * scale * thumbnailScale;
|
||||
mClippedInsets.bottom = deviceInsets.bottom * scale * thumbnailScale;
|
||||
} else {
|
||||
mClippedInsets.right = Math.max(0,
|
||||
widthWithInsets - mClippedInsets.left - canvasWidth);
|
||||
|
||||
Reference in New Issue
Block a user