Defer drag indicator removal until window drop transition ends
Synchronize the removal of multi-display drag indicators with the completion of the window drop animation for a smoother user experience. Previously, when a window drag operation ended, the drag-move indicators were hidden immediately. If the drop triggered a window drag transition, the indicators would disappear before the window animation completed, creating a visual jank. This change adds a call to remove drag indicators inside the transition handler to resolve the issue, this ensures the indicators disappears smoothly as part of the window's final placement animation. We also switch to use main thread for window drag indicator surface creation and removal. ShellDesktopThread was used in the past, because we had heavy operations like creating SurfaceControlViewHost. But since we have switched to use mirrored surface, doing all these operations in ShellDesktopThread is not needed anymore. Flag: com.android.window.flags.enable_window_drop_smooth_transition Bug: 398992368 Test: manual and atest Change-Id: I6f3f54de85bd564158b1cfcaf91a1955964cf575
Loading
Please register or sign in to comment