Avoid showing/hiding task surfaces in window decor relayout
WindowDecorations relayout in both transition callbacks and onTaskInfoChanged callbacks, which can sometimes cause the task surface to be shown or hidden too early during a task animation because onTaskInfoChanged might get invoked before the animation plays or finishes. This change removes show()/hide() calls on the task surface in window decoration #relayout to leave that responsibility entirely to the transition handlers, with the exception of #relayouts originating from onTaskInfoChanged during fluid drag-resizing gestures, which we know aren't using shell transitions. Similar logic already existed for setting the task position/crop, so visibility updates are just added to the existing mechanism they use. Fix: 365703208 Test: Enter PIP with a multi-activity app (e.g. Netflix), verify there's no flicker where the surface disappears for 1 frame towards the end of the animation. Flag: EXEMPT refactor Change-Id: Ib215d5fa5005a7270e2f154a1a18111749554e36
Loading
Please register or sign in to comment