diff options
author | Tony Wickham <twickham@google.com> | 2023-12-13 05:36:03 +0000 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2023-12-13 19:59:08 +0000 |
commit | 1e60b1a4c441459f80ba7ecc894664463a3b6e1c (patch) | |
tree | 2a097e41c956811a165c45ecb5c1ef3c0862732e | |
parent | 5a26b1ce0f6d5f0c5fb81dff78d391c295ad9141 (diff) | |
download | Launcher3-1e60b1a4c441459f80ba7ecc894664463a3b6e1c.tar.gz |
Fix layering issue when launching from side TaskView
Fully reverted the change in ag/24840504, and instead make use of
prefixOrderIndex to ensure translucent overlays launch on top of
the underlying task.
Test: Swipe up from an app to Overview (phone), scroll over one
task, click on the live tile you came from; ensure animates well
Test: Open an app, launch a translucent overlay, e.g. Volume
Dialog, swipe up to Overview and relaunch the live tasks; ensure
the overlay stays on top throughout the animation
Fixes: 310765248
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Change-Id: I0708bf3c060ba84089722d0bd9480a4f4bd2b8e2
-rw-r--r-- | quickstep/src/com/android/quickstep/util/TaskViewSimulator.java | 13 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskView.java | 3 |
2 files changed, 10 insertions, 6 deletions
diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java index 5d8e53efe7..baaa062e97 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java @@ -427,9 +427,16 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { // conflict with layers that WM core positions (ie. the input consumers). For shell // transitions, the animation leashes are reparented to an animation container so we // can bump layers as needed. - builder.setLayer(mDrawsBelowRecents - ? Integer.MIN_VALUE + app.prefixOrderIndex - : ENABLE_SHELL_TRANSITIONS ? Integer.MAX_VALUE : 0); + if (ENABLE_SHELL_TRANSITIONS) { + builder.setLayer(mDrawsBelowRecents + ? Integer.MIN_VALUE + app.prefixOrderIndex + // 1000 is an arbitrary number to give room for multiple layers. + : Integer.MAX_VALUE - 1000 + app.prefixOrderIndex); + } else { + builder.setLayer(mDrawsBelowRecents + ? Integer.MIN_VALUE + app.prefixOrderIndex + : 0); + } } } diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index af4f402f07..5041a76db8 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -1062,9 +1062,6 @@ public class TaskView extends FrameLayout implements Reusable { anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { - if (!recentsView.showAsGrid()) { - return; - } recentsView.runActionOnRemoteHandles( (Consumer<RemoteTargetHandle>) remoteTargetHandle -> remoteTargetHandle |