Merge "Do not remove toast window token without removing window" into udc-dev am: 3235205887

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23659622

Change-Id: I9865114b46315813ebda119188995447aa6add82
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Iavor-Valentin Iftime
2023-06-15 17:45:41 +00:00
committed by Automerger Merge Worker

View File

@@ -8718,13 +8718,7 @@ public class NotificationManagerService extends SystemService {
ToastRecord lastToast = mToastQueue.remove(index);
mWindowManagerInternal.removeWindowToken(lastToast.windowToken, false /* removeWindows */,
lastToast.displayId);
// We passed 'false' for 'removeWindows' so that the client has time to stop
// rendering (as hide above is a one-way message), otherwise we could crash
// a client which was actively using a surface made from the token. However
// we need to schedule a timeout to make sure the token is eventually killed
// one way or another.
// We need to schedule a timeout to make sure the token is eventually killed
scheduleKillTokenTimeout(lastToast);
keepProcessAliveForToastIfNeededLocked(record.pid);