AIOOB exception fix in TabWidget
Bug http://code.google.com/p/android/issues/detail?id=15005
The problem was not specific to the legacy theme. The code that first
measure the tab's width with no contraint was incorrectly using the
mImposedTabsWidth array which could not have the right size if a
child was added.
The first measure after a child is added should indeed crash. Could
be investigated. This fix is sure anyway.
Change-Id: If5015aaa2d5574939fd5d6c6362ed6db94d35d4a
void measureHorizontal(int widthMeasureSpec, int heightMeasureSpec) {
// First, measure with no constraint
final int unspecifiedWidth = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
- super.measureHorizontal(unspecifiedWidth, heightMeasureSpec);
mImposedTabsHeight = -1;
+ super.measureHorizontal(unspecifiedWidth, heightMeasureSpec);
int extraWidth = getMeasuredWidth() - MeasureSpec.getSize(widthMeasureSpec);
if (extraWidth > 0) {