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

Commit 2adff1b7 authored by Sergey Pinkevich's avatar Sergey Pinkevich Committed by Android (Google) Code Review
Browse files

Merge "Update secondary grid translation" into main

parents 6263ac38 83462a48
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -2124,8 +2124,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        for (int i = 0; i < taskCount; i++) {
            TaskView taskView = requireTaskViewAt(i);
            taskView.updateTaskSize();
            taskView.getPrimaryNonGridTranslationProperty().set(taskView, accumulatedTranslationX);
            taskView.getSecondaryNonGridTranslationProperty().set(taskView, 0f);
            taskView.setNonGridTranslationX(accumulatedTranslationX);
            taskView.setNonGridPivotTranslationX(translateXToMiddle);
            // Compensate space caused by TaskView scaling.
            float widthDiff =
@@ -2642,23 +2641,25 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        if (endState.displayOverviewTasksAsGrid(mActivity.getDeviceProfile())) {
            TaskView runningTaskView = getRunningTaskView();
            float runningTaskPrimaryGridTranslation = 0;
            float runningTaskSecondaryGridTranslation = 0;
            if (runningTaskView != null) {
                // Apply the grid translation to running task unless it's being snapped to
                // and removes the current translation applied to the running task.
                runningTaskPrimaryGridTranslation = mOrientationHandler.getPrimaryValue(
                        runningTaskView.getGridTranslationX(),
                        runningTaskView.getGridTranslationY())
                        - runningTaskView.getPrimaryNonGridTranslationProperty().get(
                        runningTaskView);
                runningTaskPrimaryGridTranslation = runningTaskView.getGridTranslationX()
                        - runningTaskView.getNonGridTranslationX();
                runningTaskSecondaryGridTranslation = runningTaskView.getGridTranslationY();
            }
            for (TaskViewSimulator tvs : taskViewSimulators) {
                if (animatorSet == null) {
                    setGridProgress(1);
                    tvs.taskPrimaryTranslation.value = runningTaskPrimaryGridTranslation;
                    tvs.taskSecondaryTranslation.value = runningTaskSecondaryGridTranslation;
                } else {
                    animatorSet.play(ObjectAnimator.ofFloat(this, RECENTS_GRID_PROGRESS, 1));
                    animatorSet.play(tvs.taskPrimaryTranslation.animateToValue(
                            runningTaskPrimaryGridTranslation));
                    animatorSet.play(tvs.taskSecondaryTranslation.animateToValue(
                            runningTaskSecondaryGridTranslation));
                }
            }
        }
@@ -3123,6 +3124,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
                    + snappedTaskNonGridScrollAdjustment);
        }

        final TaskView runningTask = getRunningTaskView();
        if (showAsGrid() && enableGridOnlyOverview() && runningTask != null) {
            runActionOnRemoteHandles(
                    remoteTargetHandle -> remoteTargetHandle.getTaskViewSimulator()
                            .taskSecondaryTranslation.value = runningTask.getGridTranslationY()
            );
        }

        mClearAllButton.setGridTranslationPrimary(
                clearAllTotalTranslationX - snappedTaskGridTranslationX);
        mClearAllButton.setGridScrollOffset(
+13 −50
Original line number Diff line number Diff line
@@ -119,6 +119,8 @@ import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.QuickStepContract;

import kotlin.Unit;

import java.lang.annotation.Retention;
import java.util.Arrays;
import java.util.Collections;
@@ -127,8 +129,6 @@ import java.util.List;
import java.util.function.Consumer;
import java.util.stream.Stream;

import kotlin.Unit;

/**
 * A task in the Recents view.
 */
@@ -304,32 +304,6 @@ public class TaskView extends FrameLayout implements Reusable {
                }
            };

    private static final FloatProperty<TaskView> NON_GRID_TRANSLATION_X =
            new FloatProperty<TaskView>("nonGridTranslationX") {
                @Override
                public void setValue(TaskView taskView, float v) {
                    taskView.setNonGridTranslationX(v);
                }

                @Override
                public Float get(TaskView taskView) {
                    return taskView.mNonGridTranslationX;
                }
            };

    private static final FloatProperty<TaskView> NON_GRID_TRANSLATION_Y =
            new FloatProperty<TaskView>("nonGridTranslationY") {
                @Override
                public void setValue(TaskView taskView, float v) {
                    taskView.setNonGridTranslationY(v);
                }

                @Override
                public Float get(TaskView taskView) {
                    return taskView.mNonGridTranslationY;
                }
            };

    public static final FloatProperty<TaskView> GRID_END_TRANSLATION_X =
            new FloatProperty<TaskView>("gridEndTranslationX") {
                @Override
@@ -386,7 +360,6 @@ public class TaskView extends FrameLayout implements Reusable {
    // Applied as a complement to gridTranslation, for adjusting the carousel overview and quick
    // switch.
    private float mNonGridTranslationX;
    private float mNonGridTranslationY;
    private float mNonGridPivotTranslationX;
    // Used when in SplitScreenSelectState
    private float mSplitSelectTranslationY;
@@ -1323,7 +1296,7 @@ public class TaskView extends FrameLayout implements Reusable {
    }

    protected void resetPersistentViewTransforms() {
        mNonGridTranslationX = mNonGridTranslationY = mGridTranslationX =
        mNonGridTranslationX = mGridTranslationX =
                mGridTranslationY = mBoxTranslationY = mNonGridPivotTranslationX = 0f;
        resetViewTransforms();
    }
@@ -1494,14 +1467,16 @@ public class TaskView extends FrameLayout implements Reusable {
        applyTranslationY();
    }

    private void setNonGridTranslationX(float nonGridTranslationX) {
        mNonGridTranslationX = nonGridTranslationX;
        applyTranslationX();
    public float getNonGridTranslationX() {
        return mNonGridTranslationX;
    }

    private void setNonGridTranslationY(float nonGridTranslationY) {
        mNonGridTranslationY = nonGridTranslationY;
        applyTranslationY();
    /**
     * Updates X coordinate of non-grid translation.
     */
    public void setNonGridTranslationX(float nonGridTranslationX) {
        mNonGridTranslationX = nonGridTranslationX;
        applyTranslationX();
    }

    public void setGridTranslationX(float gridTranslationX) {
@@ -1540,7 +1515,7 @@ public class TaskView extends FrameLayout implements Reusable {
        if (gridEnabled) {
            scrollAdjustment += mGridTranslationX;
        } else {
            scrollAdjustment += getPrimaryNonGridTranslationProperty().get(this);
            scrollAdjustment += getNonGridTranslationX();
        }
        return scrollAdjustment;
    }
@@ -1586,9 +1561,7 @@ public class TaskView extends FrameLayout implements Reusable {
     * change according to a temporary state (e.g. task offset).
     */
    public float getPersistentTranslationY() {
        return mBoxTranslationY
                + getNonGridTrans(mNonGridTranslationY)
                + getGridTrans(mGridTranslationY);
        return mBoxTranslationY + getGridTrans(mGridTranslationY);
    }

    public FloatProperty<TaskView> getPrimarySplitTranslationProperty() {
@@ -1626,16 +1599,6 @@ public class TaskView extends FrameLayout implements Reusable {
                TASK_RESISTANCE_TRANSLATION_X, TASK_RESISTANCE_TRANSLATION_Y);
    }

    public FloatProperty<TaskView> getPrimaryNonGridTranslationProperty() {
        return getPagedOrientationHandler().getPrimaryValue(
                NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y);
    }

    public FloatProperty<TaskView> getSecondaryNonGridTranslationProperty() {
        return getPagedOrientationHandler().getSecondaryValue(
                NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y);
    }

    @Override
    public boolean hasOverlappingRendering() {
        // TODO: Clip-out the icon region from the thumbnail, since they are overlapping.