Always resume view when relaunching with preserved window
This relaxes the condition added in [1]. Because IWindow#dispatchAppVisibility(true) may arrive after the relaunch message, then getHostVisibility() will be GONE because mAppVisible is still false. The original concern is not a problem: call Activity#recreate() while the activity is invisible. Because a stopped activity won't use preserveWindow=true, it won't call VRI#notifyChildRebuilt. [1]: Iee780c12535217a5a9726f9f4d6b21952ce56d70 Bug: 269179932 Test: WMShellFlickerTests:CopyContentInSplit Change-Id: I7ea7d54f0c6bbf67b295ac3a2c97a62d81b0458b
This commit is contained in:
@@ -1136,7 +1136,7 @@ public final class ViewRootImpl implements ViewParent,
|
||||
// Make sure to report the completion of draw for relaunch with preserved window.
|
||||
reportNextDraw("rebuilt");
|
||||
// Make sure to resume this root view when relaunching its host activity which was stopped.
|
||||
if (mStopped && getHostVisibility() != View.GONE) {
|
||||
if (mStopped) {
|
||||
setWindowStopped(false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user