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

Commit a7fedd96 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Fix issues where the task was still touchable in overview" into sc-v2-dev

parents 2fc7622e 04c0fa9b
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -67,6 +67,8 @@ import com.android.wm.shell.transition.LegacyTransitions;
import com.android.wm.shell.transition.Transitions;

import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Comparator;
import java.util.concurrent.Executor;

/**
@@ -295,11 +297,15 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
        mRootTDAOrganizer.attachToDisplayArea(DEFAULT_DISPLAY, builder);
        SurfaceControl sc = builder.build();
        SurfaceControl.Transaction transaction = new SurfaceControl.Transaction();

        // Ensure that we order these in the parent in the right z-order as their previous order
        Arrays.sort(apps, (a1, a2) -> a1.prefixOrderIndex - a2.prefixOrderIndex);
        int layer = 1;
        for (RemoteAnimationTarget appTarget : apps) {
            // TODO(b/195958376) set the correct layer/z-order in transaction for the new surface
            transaction.reparent(appTarget.leash, sc);
            transaction.setPosition(appTarget.leash, appTarget.screenSpaceBounds.left,
                    appTarget.screenSpaceBounds.top);
            transaction.setLayer(appTarget.leash, layer++);
        }
        transaction.apply();
        transaction.close();
+1 −1
Original line number Diff line number Diff line
@@ -582,7 +582,7 @@ final class InputMonitor {
                if (recentsAnimationController.updateInputConsumerForApp(
                        mRecentsAnimationInputConsumer.mWindowHandle)) {
                    mRecentsAnimationInputConsumer.show(mInputTransaction,
                            recentsAnimationController.getHighestLayerActivity());
                            recentsAnimationController.getHighestLayerWindow());
                    mAddRecentsAnimationInputConsumerHandle = false;
                }
            }
+3 −3
Original line number Diff line number Diff line
@@ -1103,9 +1103,9 @@ public class RecentsAnimationController implements DeathRecipient {
    }

    /**
     * Returns the activity with the highest layer, or null if none is found.
     * Returns the window with the highest layer, or null if none is found.
     */
    public ActivityRecord getHighestLayerActivity() {
    public WindowState getHighestLayerWindow() {
        int highestLayer = Integer.MIN_VALUE;
        Task highestLayerTask = null;
        for (int i = mPendingAnimations.size() - 1; i >= 0; i--) {
@@ -1116,7 +1116,7 @@ public class RecentsAnimationController implements DeathRecipient {
                highestLayerTask = adapter.mTask;
            }
        }
        return highestLayerTask.getTopMostActivity();
        return highestLayerTask.getTopMostActivity().getTopChild();
    }

    boolean isAnimatingTask(Task task) {