From 5c91e8f16dfc42365940fe2cdd343ed9d48b7b36 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 7 May 2018 10:06:55 -0700 Subject: [PATCH] Clear references to animation runner when the animation ends. Bug: 79322746 Test: Swipe up, ensure that there are no references from the system to the launcher animation runner Change-Id: Ib0fd59c20ab9f9b24dfad732519d33c4a8a148e3 --- .../com/android/server/wm/RecentsAnimationController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index 85e4ac7fe4ce2..553b4fe531155 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -79,7 +79,7 @@ public class RecentsAnimationController implements DeathRecipient { public @interface ReorderMode {} private final WindowManagerService mService; - private final IRecentsAnimationRunner mRunner; + private IRecentsAnimationRunner mRunner; private final RecentsAnimationCallbacks mCallbacks; private final ArrayList mPendingAnimations = new ArrayList<>(); private final int mDisplayId; @@ -426,7 +426,10 @@ public class RecentsAnimationController implements DeathRecipient { removeAnimation(taskAdapter); } + // Clear references to the runner unlinkToDeathOfRunner(); + mRunner = null; + // Clear associated input consumers mService.mInputMonitor.updateInputWindowsLw(true /*force*/); mService.destroyInputConsumer(INPUT_CONSUMER_RECENTS_ANIMATION);