OnLayoutCompleted API for LayoutManager

This CL introduces a new LayoutManager API: onLayoutCompleted.

This new method is called after a layout calculation is
completed. It is a good checkpoint for layout managers
to clear any layout related data (e.g. pending scroll
position).

We also use this new API to fix a bug where scrollToPosition
may not work if the LayoutManager is measured multiple
times which is likely to be triggered if it is inside a
Dialog.

Bug: 27765270
Change-Id: Ib576ff609dcedc1e9978551c009d00d5c457665a
7 files changed