summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author wilsonshih <wilsonshih@google.com> 2024-02-06 20:10:38 +0800
committer wilsonshih <wilsonshih@google.com> 2024-02-06 20:10:38 +0800
commita1d0a65d30c62a13f832b227b2cd0cd6250dd76c (patch)
tree5db5c7d3ed2fe6a8243cedbbd4696e8653c4cc9e
parentd26b5778b26036bae1dac509727b66f8c516b609 (diff)
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
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java4
1 files 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;