summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorTony Huang <tonyychuang@google.com>2022-01-03 16:58:26 +0800
committerTony Huang <tonyychuang@google.com>2022-01-03 19:03:02 +0800
commitadae4870fb862acf83837922362ca1762c19c9aa (patch)
tree2a30704f1f23966bd22724277d6840c06a98acfa /libs
parenta9831fcd24f1207881cee5919861f41ac35df72b (diff)
Fix toucn unresponsive after half fold in split
After fold animation finished, it will always set null bounds crop to surface and cause root task surface bounds abnormal. Fix by ignoring root task surface in StageTaskUnfoldController because it would not effect animation. Fix: 211132158 Test: manual Test: pass existing tests Change-Id: Iece8f7e7d437bdff1cf9e738df3acc075729b993
Diffstat (limited to 'libs')
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskUnfoldController.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskUnfoldController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskUnfoldController.java
index e904f6a9e22c..4849163e96fd 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskUnfoldController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskUnfoldController.java
@@ -100,6 +100,9 @@ public class StageTaskUnfoldController implements UnfoldListener, OnInsetsChange
* @param leash surface leash for the appeared task
*/
public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo, SurfaceControl leash) {
+ // Only handle child task surface here.
+ if (!taskInfo.hasParentTask()) return;
+
AnimationContext context = new AnimationContext(leash);
mAnimationContextByTaskId.put(taskInfo.taskId, context);
}
@@ -109,6 +112,8 @@ public class StageTaskUnfoldController implements UnfoldListener, OnInsetsChange
* @param taskInfo info for the vanished task
*/
public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) {
+ if (!taskInfo.hasParentTask()) return;
+
AnimationContext context = mAnimationContextByTaskId.get(taskInfo.taskId);
if (context != null) {
final SurfaceControl.Transaction transaction = mTransactionPool.acquire();