diff options
author | Sergey Pinkevich <spinkevich@google.com> | 2023-12-12 13:06:40 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-12-12 13:06:40 +0000 |
commit | 2adff1b7c01615d0bded76c02ebdb99f6e95237e (patch) | |
tree | 40a054a1f3b91fd9b45748461558ca33a528fcec | |
parent | 6263ac3894f7562788c49066ce0474a9bb1c5f29 (diff) | |
parent | 83462a488bdf7a8456ef8123346a08faf06c3bf6 (diff) | |
download | Launcher3-2adff1b7c01615d0bded76c02ebdb99f6e95237e.tar.gz |
Merge "Update secondary grid translation" into main
-rw-r--r-- | quickstep/src/com/android/quickstep/views/RecentsView.java | 23 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskView.java | 63 |
2 files changed, 29 insertions, 57 deletions
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 7e1034b16a..87cee63f9e 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -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( diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index af4f402f07..b42f0552cd 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -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. |