diff options
| author | 2023-08-15 15:50:01 +0000 | |
|---|---|---|
| committer | 2023-08-15 15:50:01 +0000 | |
| commit | c84c7053025776d4895cc93e59f307e41c0e641d (patch) | |
| tree | a67c4a3cdf2433a964787d18259503e0858e7456 | |
| parent | 41e93ddc0c51371adae7b647680bf2d0433fd946 (diff) | |
| parent | 12989f76fa6c02f7b8fff7a0346c8527583e7791 (diff) | |
Merge "Remove possible memory leak on compat ui layer" into udc-qpr-dev am: 33158ac739 am: 12989f76fa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24405056
Change-Id: I067ca816a9dc2e9d00a7edd926d108436759ad27
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java index 62b0799618ac..0998e7134e00 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java @@ -342,6 +342,7 @@ public class CompatUIController implements OnDisplaysChangedListener, if (!mActiveLetterboxEduLayout.updateCompatInfo(taskInfo, taskListener, showOnDisplay(mActiveLetterboxEduLayout.getDisplayId()))) { // The layout is no longer eligible to be shown, clear active layout. + mActiveLetterboxEduLayout.release(); mActiveLetterboxEduLayout = null; } return; @@ -371,15 +372,9 @@ public class CompatUIController implements OnDisplaysChangedListener, ShellTaskOrganizer.TaskListener taskListener) { return new LetterboxEduWindowManager(context, taskInfo, mSyncQueue, taskListener, mDisplayController.getDisplayLayout(taskInfo.displayId), - mTransitionsLazy.get(), this::onLetterboxEduDismissed, mDockStateReader, - mCompatUIConfiguration); - } - - private void onLetterboxEduDismissed( - Pair<TaskInfo, ShellTaskOrganizer.TaskListener> stateInfo) { - mActiveLetterboxEduLayout = null; - // We need to update the UI - createOrUpdateReachabilityEduLayout(stateInfo.first, stateInfo.second); + mTransitionsLazy.get(), + stateInfo -> createOrUpdateReachabilityEduLayout(stateInfo.first, stateInfo.second), + mDockStateReader, mCompatUIConfiguration); } private void createOrUpdateRestartDialogLayout(TaskInfo taskInfo, @@ -448,6 +443,7 @@ public class CompatUIController implements OnDisplaysChangedListener, if (!mActiveReachabilityEduLayout.updateCompatInfo(taskInfo, taskListener, showOnDisplay(mActiveReachabilityEduLayout.getDisplayId()))) { // The layout is no longer eligible to be shown, remove from active layouts. + mActiveReachabilityEduLayout.release(); mActiveReachabilityEduLayout = null; } return; |