Reduce unnecessary sync redraw without changes

If a window was drawn and its parent container's prepareSync is called,
the window will always redraw even if there is nothing change to it.

For example, when cold launching an activity in a different orientation,
the app window and starting window can be drawn first and then display
updates. The prepareSync from display will request the 2 windows redraw
but the windows already have the latest state.

In general, prepareSync is usually called before knowing whether there
will be a change. Then updateResizingWindowIfNeeded can give a chance
to filter necessary redraw request.

Bug: 231435331
Bug: 297493149
Test: atest WindowStateTests#testRequestResizeForBlastSync
Change-Id: Id9134e7c71d37357d39d864b3d502ba5bdaebdc2
2 files changed