From 1e60b1a4c441459f80ba7ecc894664463a3b6e1c Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Wed, 13 Dec 2023 05:36:03 +0000 Subject: [PATCH] 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 --- .../android/quickstep/util/TaskViewSimulator.java | 13 ++++++++++--- .../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