Fix no AVD transfer to client when using setOnExitAnimationListener

The reparent transaction of transfer AVD icon to client won't happen
when calling VRI#applyTransactionOnDraw during draw section, because
that transaction will be deferred into next draw call, and if no extra
invalid happen in the view tree, there won't draw another frame.
To fix that, call the applyTransactionOnDraw during onPreDraw section,
so the transaction can be handled when VRI enter draw section.

Bug: 287729934
Test: launch test app which use SplashScreen#setOnExitAnimationListener
with a AVD style icon, verify the SurfaceView of AVD can reparent to
client's surface hierarchy.

Change-Id: I149386543b3449f7e9b98e2f362936a4d2cdd17e
1 file changed