nit: I would like to move L98 to L103 to LayoutManager and implement
LayoutManager.getAvailableHeight().
That would be useful for others.