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

Commit 925d8626 authored by Manu Cornet's avatar Manu Cornet Committed by Android (Google) Code Review
Browse files

Merge "2D Recents: use correct layout logic for drawing transition headers" into nyc-mr2-dev

parents d27f7a7a de3cfb0c
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import com.android.systemui.recents.views.TaskStackView;
import com.android.systemui.recents.views.TaskStackViewScroller;
import com.android.systemui.recents.views.TaskViewHeader;
import com.android.systemui.recents.views.TaskViewTransform;
import com.android.systemui.recents.views.grid.TaskGridLayoutAlgorithm;
import com.android.systemui.stackdivider.DividerView;
import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.phone.NavigationBarGestureHelper;
@@ -627,10 +628,21 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
            stackLayout.initialize(displayRect, windowRect, mTaskStackBounds,
                    TaskStackLayoutAlgorithm.StackState.getStackStateForStack(stack));
            mDummyStackView.setTasks(stack, false /* allowNotifyStackChanges */);

            // Get the width of a task view so that we know how wide to draw the header bar.
            int taskViewWidth = 0;
            if (mDummyStackView.useGridLayout()) {
                TaskGridLayoutAlgorithm gridLayout = mDummyStackView.getGridAlgorithm();
                gridLayout.initialize(windowRect);
                taskViewWidth = (int) gridLayout.getTransform(0 /* taskIndex */,
                        stack.getTaskCount(), new TaskViewTransform(), stackLayout).rect.width();
            } else {
                Rect taskViewBounds = stackLayout.getUntransformedTaskViewBounds();
                if (!taskViewBounds.isEmpty()) {
                int taskViewWidth = taskViewBounds.width();
                    taskViewWidth = taskViewBounds.width();
                }
            }

            if (taskViewWidth > 0) {
                synchronized (mHeaderBarLock) {
                    if (mHeaderBar.getMeasuredWidth() != taskViewWidth ||
                            mHeaderBar.getMeasuredHeight() != mTaskBarHeight) {
+6 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ import com.android.systemui.recents.model.Task;
import com.android.systemui.recents.model.TaskStack;

import com.android.systemui.recents.views.grid.GridTaskView;
import com.android.systemui.recents.views.grid.TaskGridLayoutAlgorithm;
import com.android.systemui.recents.views.grid.TaskViewFocusFrame;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
@@ -447,6 +448,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal
        return mLayoutAlgorithm;
    }

    /** Returns the grid algorithm for this task stack. */
    public TaskGridLayoutAlgorithm getGridAlgorithm() {
        return mLayoutAlgorithm.mTaskGridLayoutAlgorithm;
    }

    /**
     * Returns the touch handler for this task stack.
     */