From 7f4424465e535fc7cb61c3a8ff653555280bd288 Mon Sep 17 00:00:00 2001 From: miaojian Date: Wed, 19 Oct 2022 10:45:04 +0800 Subject: [PATCH] Fix NPE when finishing remote animation Make sure the access is in the synchronized block. Fix: 254393965 Bug: 254320691 Test: Manual test Signed-off-by: miaojian Merged-In: Ia244b5ba2d3ba891319b32513841f397177cde0f Change-Id: Ia244b5ba2d3ba891319b32513841f397177cde0f --- .../com/android/server/wm/RemoteAnimationController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/wm/RemoteAnimationController.java b/services/core/java/com/android/server/wm/RemoteAnimationController.java index ac1a2b17603af..95371a52410f1 100644 --- a/services/core/java/com/android/server/wm/RemoteAnimationController.java +++ b/services/core/java/com/android/server/wm/RemoteAnimationController.java @@ -320,11 +320,11 @@ class RemoteAnimationController implements DeathRecipient { } finally { mService.closeSurfaceTransaction("RemoteAnimationController#finished"); } + // Reset input for all activities when the remote animation is finished. + final Consumer updateActivities = + activity -> activity.setDropInputForAnimation(false); + mDisplayContent.forAllActivities(updateActivities); } - // Reset input for all activities when the remote animation is finished. - final Consumer updateActivities = - activity -> activity.setDropInputForAnimation(false); - mDisplayContent.forAllActivities(updateActivities); setRunningRemoteAnimation(false); ProtoLog.i(WM_DEBUG_REMOTE_ANIMATIONS, "Finishing remote animation"); }