Fix for http://b/issue?id=5297155

. Make GridLayout dynamic (see below)
. Change access modifiers from private to package private
  (to remove access$XX methods generated by compiler)
. Make private internal classes final (+10% perf)
. Update javadoc and add limitations section
. Improve error diagnostics

The bug above highlights the fact that GridLayout is a static
rather than dynamic layout - i.e. that the structure of the
grid could not be changed once it had been set up. This fix changes
GridLayout to a dynamic layout in which changes to its orientation,
rowCount and columnCount properties may be effected between layout
operations.

This change does not require a change to GridLayout's public API.

Change-Id: If5643574422dcfd3a557ce4db2bb19498dc6ecd8
1 file changed