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
This commit is contained in:
Tony Huang
2022-01-03 16:58:26 +08:00
parent a9831fcd24
commit adae4870fb

View File

@@ -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();