Loading quickstep/src/com/android/quickstep/views/RecentsView.java +16 −7 Original line number Diff line number Diff line Loading @@ -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 = Loading Loading @@ -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)); } } } Loading Loading @@ -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( Loading quickstep/src/com/android/quickstep/views/TaskView.java +13 −50 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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. */ Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -1323,7 +1296,7 @@ public class TaskView extends FrameLayout implements Reusable { } protected void resetPersistentViewTransforms() { mNonGridTranslationX = mNonGridTranslationY = mGridTranslationX = mNonGridTranslationX = mGridTranslationX = mGridTranslationY = mBoxTranslationY = mNonGridPivotTranslationX = 0f; resetViewTransforms(); } Loading Loading @@ -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) { Loading Loading @@ -1540,7 +1515,7 @@ public class TaskView extends FrameLayout implements Reusable { if (gridEnabled) { scrollAdjustment += mGridTranslationX; } else { scrollAdjustment += getPrimaryNonGridTranslationProperty().get(this); scrollAdjustment += getNonGridTranslationX(); } return scrollAdjustment; } Loading Loading @@ -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() { Loading Loading @@ -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. Loading Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +16 −7 Original line number Diff line number Diff line Loading @@ -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 = Loading Loading @@ -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)); } } } Loading Loading @@ -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( Loading
quickstep/src/com/android/quickstep/views/TaskView.java +13 −50 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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. */ Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -1323,7 +1296,7 @@ public class TaskView extends FrameLayout implements Reusable { } protected void resetPersistentViewTransforms() { mNonGridTranslationX = mNonGridTranslationY = mGridTranslationX = mNonGridTranslationX = mGridTranslationX = mGridTranslationY = mBoxTranslationY = mNonGridPivotTranslationX = 0f; resetViewTransforms(); } Loading Loading @@ -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) { Loading Loading @@ -1540,7 +1515,7 @@ public class TaskView extends FrameLayout implements Reusable { if (gridEnabled) { scrollAdjustment += mGridTranslationX; } else { scrollAdjustment += getPrimaryNonGridTranslationProperty().get(this); scrollAdjustment += getNonGridTranslationX(); } return scrollAdjustment; } Loading Loading @@ -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() { Loading Loading @@ -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. Loading