725015a9cd
order. The new implementation uses a dually topologically sorted graph of the child views. The graph of dependencies is sorted once for the rules that impact the horizontal axis (toLeftOf, alignRight, etc.) and once for the rules that impact the vertical axis (above, below, etc.) Doing so gives the ability to declare dependencies in any order, allows for partial cycles in the graph (given view1 and view2, view1 can be toRightOf=view2 and view2 can be above=view1) and probably gets rid of most surprising behaviors of RelativeLayout.