From a1d0a65d30c62a13f832b227b2cd0cd6250dd76c Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Tue, 6 Feb 2024 20:10:38 +0800 Subject: Preventing from re-create starting window. Unlock device will also request to create starting window for visible activities, if core just remove first starting window after app window drawn, there can have a slightly timing gap to request another starting window. It should be much stable by modify the check condition to window type, instead of finding local member. Bug: 322547402 Test: after start activity on lockscreen, unlock immediately to simulate the second create starting window request. Change-Id: Icbc07fcf3f2c7a5fae2fc13f28f519885ae5054a --- services/core/java/com/android/server/wm/ActivityRecord.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 7b5975928308..c2117eaa72c4 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2441,11 +2441,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return false; } - if (mStartingData != null) { + if (hasStartingWindow()) { return false; } - final WindowState mainWin = findMainWindow(); + final WindowState mainWin = findMainWindow(false /* includeStartingApp */); if (mainWin != null && mainWin.mWinAnimator.getShown()) { // App already has a visible window...why would you want a starting window? return false; -- cgit v1.2.3-59-g8ed1b