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

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

Merge "Make sure recents animation input consumer is above the top task" into sc-v2-dev

parents 27146852 a800d9b5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -539,7 +539,8 @@ final class InputMonitor {
            if (mAddRecentsAnimationInputConsumerHandle && shouldApplyRecentsInputConsumer) {
                if (recentsAnimationController.updateInputConsumerForApp(
                        mRecentsAnimationInputConsumer.mWindowHandle)) {
                    mRecentsAnimationInputConsumer.show(mInputTransaction, w.mActivityRecord);
                    mRecentsAnimationInputConsumer.show(mInputTransaction,
                            recentsAnimationController.getHighestLayerTask());
                    mAddRecentsAnimationInputConsumerHandle = false;
                }
            }
+17 −0
Original line number Diff line number Diff line
@@ -1102,6 +1102,23 @@ public class RecentsAnimationController implements DeathRecipient {
        return mTargetActivityRecord.findMainWindow();
    }

    /**
     * Returns the task with the highest layer, or null if none is found.
     */
    public Task getHighestLayerTask() {
        int highestLayer = Integer.MIN_VALUE;
        Task highestLayerTask = null;
        for (int i = mPendingAnimations.size() - 1; i >= 0; i--) {
            TaskAnimationAdapter adapter = mPendingAnimations.get(i);
            int layer = adapter.mTask.getPrefixOrderIndex();
            if (layer > highestLayer) {
                highestLayer = layer;
                highestLayerTask = adapter.mTask;
            }
        }
        return highestLayerTask;
    }

    boolean isAnimatingTask(Task task) {
        for (int i = mPendingAnimations.size() - 1; i >= 0; i--) {
            if (task == mPendingAnimations.get(i).mTask) {