Introduce Windowless starting window.
Refine the file strcutre. The remove window process now extract as an
interface, each type of starting window can handle it based on
different scenario.
For legacy starting window:
Splash screen window and related API => SplashscreenWindowCreator
Task snapshot window related => SnapshotWindowCreator
Support windowless starting surface:
- Draw splash view to a surface => WindowlessSplashWindowCreator
A simple splash screen view with a static icon on it. It can play
default reveal animation while remove.
- Draw snapshot to a surface => WindowlessSnapshotWindowCreator
Similar to TaskSnapshotWindow just no window. It will play a fade
out animation while remove because there is no default window
animation.
Add another callback IWindowlessStartingSurfaceCallback for windowless
starting surface. Unlike starting window, there is no "addWindow"
signal to let core know the surface is create.
Also note the windowless starting surface is just a surface, it won't
support window-like features such as configuration change or resize.
Bug: 257857570
Test: atest SplashscreenTests StartingSurfaceDrawerTests
Test: verify legacy starting window work.
Change-Id: Ib32d4f8395ef54ce876a42b8259f8444943ea14d
22 files changed