Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e60b1a4 authored by Tony Wickham's avatar Tony Wickham
Browse files

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
parent 5a26b1ce
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -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.
            if (ENABLE_SHELL_TRANSITIONS) {
                builder.setLayer(mDrawsBelowRecents
                        ? Integer.MIN_VALUE + app.prefixOrderIndex
                    : ENABLE_SHELL_TRANSITIONS ? Integer.MAX_VALUE : 0);
                        // 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);
            }
        }
    }

+0 −3
Original line number Diff line number Diff line
@@ -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