Show an empty presentation in connected displays during device provisioning
When a device is provisioned, showing wallpaper on connected displays requires a specific approach. Normally, two components handle this: 1. DesktopWallpaperActivity: This translucent activity acts as the launcher for connected displays, responsible for showing the wallpaper. 2. ConnectedDisplayKeyguardPresentation: This is a keyguard dialog that appears on the connected display when the device's keyguard is active. It uses the FLAG_SHOW_WALLPAPER flag to display the lock screen wallpaper. However, these mechanisms don't activate during the device provisioning process. To address this, a new translucent window (a new presentation) has been introduced specifically for showing wallpaper during provisioning. A new class WallpaperPresentationManager is introduced to control the lifecycle of SysUi wallpaper presentations. I considered moving the presentation to SetupWizard, but decided against it due to: 1. SetupWizard currently lacks the necessary display management mechanisms to effectively control the lifecycle of such a presentation. 2. Managing wallpaper is more appropriately handled by SysUI than by SetupWizard Test: SystemUITests:DisplayWallpaperPresentationInteractorTest Test: SystemUITests:WallpaperPresentationManagerTest Test: manual - In setupwizard, connect the device to an external monitor to confirm that the default wallpaper is shown in the connected display. Flag: com.android.window.flags.enable_connected_displays_wallpaper_presentations Fix: 429395688 Change-Id: I6005dad28e32efbd5f3a702c0440af63ac7923d1
Loading
Please register or sign in to comment