fix race condition when a new display is added

- When a new display is added, display add event triggers handleDisplayAddedLocked in
  WindowManagerService asynchronously.
- After creating virtual display, application can move on and call addWindow before
  handleDisplayAddedLock is called.
- Application's addWindow leads into creating a new DisplayContent, and a window will be added there.
- But when handleDisplayAddedLocked is called later, it will create a new DisplayContent for the
  display, and the window added by the application will be lost.
- This CL tries to fix the issue by checking the presence of DisplayContent before creating a new
  one.

bug: 9975297

Change-Id: I9fac7ffb57c3e1effa8f0e950539cfae73e7e1c6
1 file changed