Loading services/core/java/com/android/server/wm/InputMonitor.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; } } Loading services/core/java/com/android/server/wm/RecentsAnimationController.java +17 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading
services/core/java/com/android/server/wm/InputMonitor.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; } } Loading
services/core/java/com/android/server/wm/RecentsAnimationController.java +17 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading