From 08a48506b0233b6854eceaff28acac68866dec6f Mon Sep 17 00:00:00 2001 From: chaviw Date: Tue, 31 May 2022 16:47:55 -0500 Subject: [PATCH] Release SC when RootTaskDA is no longer organized WM Shell receives a leash for the DA that it wants to organize. However, it's not releasing the SC when it receives a vanished callback. This causes the SC to leak every time a new RootTaskDA is organized and then vanishes. Test: Add and remove simulated displays. Ensure no leaks Bug: 231752353 Change-Id: I181695f4bae65ccc0cd25e1b5480e33307e7834d --- .../src/com/android/wm/shell/RootTaskDisplayAreaOrganizer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/RootTaskDisplayAreaOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/RootTaskDisplayAreaOrganizer.java index bf074b0337efd..9230c22c5d952 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/RootTaskDisplayAreaOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/RootTaskDisplayAreaOrganizer.java @@ -145,6 +145,8 @@ public class RootTaskDisplayAreaOrganizer extends DisplayAreaOrganizer { } mDisplayAreasInfo.remove(displayId); + mLeashes.get(displayId).release(); + mLeashes.remove(displayId); ArrayList listeners = mListeners.get(displayId); if (listeners != null) {