Loading quickstep/recents_ui_overrides/src/com/android/quickstep/util/TaskViewSimulator.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 = new PreviewPositionHelper(); private final PreviewPositionHelper mPositionHelper; private final Matrix mInversePositionMatrix = new Matrix(); // TaskView properties Loading @@ -87,6 +87,7 @@ 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); Loading quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java +19 −5 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ 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; Loading Loading @@ -90,7 +91,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 = new PreviewPositionHelper(); private final PreviewPositionHelper mPreviewPositionHelper; // Initialize with dummy value. It is overridden later by TaskView private TaskView.FullscreenDrawParams mFullscreenParams = TEMP_PARAMS; Loading Loading @@ -122,6 +123,7 @@ 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); } /** Loading Loading @@ -413,12 +415,17 @@ 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; } Loading @@ -444,7 +451,6 @@ 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; Loading @@ -463,9 +469,17 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc : canvasWidth / thumbnailWidth; } Rect splitScreenInsets = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(mContext) .insets; if (!isRotated) { // No Rotation mClippedInsets.offsetTo(deviceInsets.left * scale, deviceInsets.top * scale); if (dp.isMultiWindowMode) { mClippedInsets.offsetTo(splitScreenInsets.left * scale, splitScreenInsets.top * scale); } else { mClippedInsets.offsetTo(thumbnailInsets.left * scale, thumbnailInsets.top * scale); } mMatrix.setTranslate( -thumbnailInsets.left * scale, -thumbnailInsets.top * scale); Loading @@ -486,8 +500,8 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc mClippedInsets.top *= thumbnailScale; if (dp.isMultiWindowMode) { mClippedInsets.right = deviceInsets.right * scale * thumbnailScale; mClippedInsets.bottom = deviceInsets.bottom * scale * thumbnailScale; mClippedInsets.right = splitScreenInsets.right * scale * thumbnailScale; mClippedInsets.bottom = splitScreenInsets.bottom * scale * thumbnailScale; } else { mClippedInsets.right = Math.max(0, widthWithInsets - mClippedInsets.left - canvasWidth); Loading Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/util/TaskViewSimulator.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 = new PreviewPositionHelper(); private final PreviewPositionHelper mPositionHelper; private final Matrix mInversePositionMatrix = new Matrix(); // TaskView properties Loading @@ -87,6 +87,7 @@ 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); Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java +19 −5 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ 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; Loading Loading @@ -90,7 +91,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 = new PreviewPositionHelper(); private final PreviewPositionHelper mPreviewPositionHelper; // Initialize with dummy value. It is overridden later by TaskView private TaskView.FullscreenDrawParams mFullscreenParams = TEMP_PARAMS; Loading Loading @@ -122,6 +123,7 @@ 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); } /** Loading Loading @@ -413,12 +415,17 @@ 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; } Loading @@ -444,7 +451,6 @@ 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; Loading @@ -463,9 +469,17 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc : canvasWidth / thumbnailWidth; } Rect splitScreenInsets = SplitScreenBounds.INSTANCE.getSecondaryWindowBounds(mContext) .insets; if (!isRotated) { // No Rotation mClippedInsets.offsetTo(deviceInsets.left * scale, deviceInsets.top * scale); if (dp.isMultiWindowMode) { mClippedInsets.offsetTo(splitScreenInsets.left * scale, splitScreenInsets.top * scale); } else { mClippedInsets.offsetTo(thumbnailInsets.left * scale, thumbnailInsets.top * scale); } mMatrix.setTranslate( -thumbnailInsets.left * scale, -thumbnailInsets.top * scale); Loading @@ -486,8 +500,8 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc mClippedInsets.top *= thumbnailScale; if (dp.isMultiWindowMode) { mClippedInsets.right = deviceInsets.right * scale * thumbnailScale; mClippedInsets.bottom = deviceInsets.bottom * scale * thumbnailScale; mClippedInsets.right = splitScreenInsets.right * scale * thumbnailScale; mClippedInsets.bottom = splitScreenInsets.bottom * scale * thumbnailScale; } else { mClippedInsets.right = Math.max(0, widthWithInsets - mClippedInsets.left - canvasWidth); Loading