Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 529ced99 authored by Manu Cornet's avatar Manu Cornet Committed by android-build-merger
Browse files

2D Recents: polish the app -> recents transition am: fc6ac0a7

am: f6770e45

Change-Id: Ic1da2d280f4234fd69e9c7e6c69cc845a2aeae34
parents d37d431c f6770e45
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -745,7 +745,11 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
            Task toTask = new Task();
            TaskViewTransform toTransform = getThumbnailTransitionTransform(stackView, toTask,
                    windowOverrideRect);
            Bitmap thumbnail = drawThumbnailTransitionBitmap(toTask, toTransform,
            // When using a grid layout, the header is already visible on screen at the target
            // location, making it unnecessary to draw it in the transition thumbnail.
            Bitmap thumbnail = stackView.useGridLayout()
                    ? mThumbTransitionBitmapCache.createAshmemBitmap()
                    : drawThumbnailTransitionBitmap(toTask, toTransform,
                            mThumbTransitionBitmapCache);
            if (thumbnail != null) {
                RectF toTaskRect = toTransform.rect;
@@ -777,7 +781,6 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
        // Get the transform for the running task
        stackView.updateLayoutAlgorithm(true /* boundScroll */);
        stackView.updateToInitialState();
        boolean isInSplitScreen = Recents.getSystemServices().hasDockedTask();
        stackView.getStackAlgorithm().getStackTransformScreenCoordinates(launchTask,
                stackView.getScroller().getStackScroll(), mTmpTransform, null, windowOverrideRect);
        return mTmpTransform;
+17 −1
Original line number Diff line number Diff line
@@ -291,6 +291,9 @@ public class TaskStackLayoutAlgorithm {
    @ViewDebug.ExportedProperty(category="recents")
    private int mStackBottomOffset;

    /** The height, in pixels, of each task view's title bar. */
    private int mTitleBarHeight;

    // The paths defining the motion of the tasks when the stack is focused and unfocused
    private Path mUnfocusedCurve;
    private Path mFocusedCurve;
@@ -403,6 +406,14 @@ public class TaskStackLayoutAlgorithm {
        mBaseBottomMargin = res.getDimensionPixelSize(R.dimen.recents_layout_bottom_margin);
        mFreeformStackGap =
                res.getDimensionPixelSize(R.dimen.recents_freeform_layout_bottom_margin);
        mTitleBarHeight = getDimensionForDevice(mContext,
                R.dimen.recents_task_view_header_height,
                R.dimen.recents_task_view_header_height,
                R.dimen.recents_task_view_header_height,
                R.dimen.recents_task_view_header_height_tablet_land,
                R.dimen.recents_task_view_header_height,
                R.dimen.recents_task_view_header_height_tablet_land,
                R.dimen.recents_grid_task_view_header_height);
    }

    /**
@@ -903,12 +914,17 @@ public class TaskStackLayoutAlgorithm {
     * Transforms the given {@param transformOut} to the screen coordinates, overriding the current
     * window rectangle with {@param windowOverrideRect} if non-null.
     */
    public TaskViewTransform transformToScreenCoordinates(TaskViewTransform transformOut,
    TaskViewTransform transformToScreenCoordinates(TaskViewTransform transformOut,
            Rect windowOverrideRect) {
        Rect windowRect = windowOverrideRect != null
                ? windowOverrideRect
                : Recents.getSystemServices().getWindowRect();
        transformOut.rect.offset(windowRect.left, windowRect.top);
        if (useGridLayout()) {
            // Draw the thumbnail a little lower to perfectly coincide with the view we are
            // transitioning to, where the header bar has already been drawn.
            transformOut.rect.offset(0, mTitleBarHeight);
        }
        return transformOut;
    }