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
This commit is contained in:
Tony Wickham
2023-12-13 05:36:03 +00:00
parent 5a26b1ce0f
commit 1e60b1a4c4
2 changed files with 10 additions and 6 deletions

View File

@@ -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);
}
}
}

View File

@@ -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