Program: 25483
Project: 25483
Buggy source:
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  final int widthMode=MeasureSpec.getMode(widthMeasureSpec);
  final int widthSize=MeasureSpec.getSize(widthMeasureSpec);
  final int heightMode=MeasureSpec.getMode(heightMeasureSpec);
  final int heightSize=MeasureSpec.getSize(heightMeasureSpec);
  if (widthMode != MeasureSpec.EXACTLY) {
    throw new IllegalStateException("String_Node_Str");
  }
 else   if (heightMode != MeasureSpec.EXACTLY) {
    throw new IllegalStateException("String_Node_Str");
  }
  final int childCount=getChildCount();
  if (childCount != 2) {
    throw new IllegalStateException("String_Node_Str");
  }
  mMainView=getChildAt(0);
  mSlideableView=getChildAt(1);
  if (mDragView == null) {
    setDragView(mSlideableView);
  }
  if (mSlideableView.getVisibility() != VISIBLE) {
    mSlideState=PanelState.HIDDEN;
  }
  int layoutHeight=heightSize - getPaddingTop() - getPaddingBottom();
  int layoutWidth=widthSize - getPaddingLeft() - getPaddingRight();
  for (int i=0; i < childCount; i++) {
    final View child=getChildAt(i);
    final LayoutParams lp=(LayoutParams)child.getLayoutParams();
    if (child.getVisibility() == GONE && i == 0) {
      continue;
    }
    int height=layoutHeight;
    int width=layoutWidth;
    if (child == mMainView) {
      if (!mOverlayContent && mSlideState != PanelState.HIDDEN) {
        height-=mPanelHeight;
      }
      width-=lp.leftMargin + lp.rightMargin;
    }
 else     if (child == mSlideableView) {
      height-=lp.topMargin;
    }
    int childWidthSpec;
    if (lp.width == LayoutParams.WRAP_CONTENT) {
      childWidthSpec=MeasureSpec.makeMeasureSpec(width,MeasureSpec.AT_MOST);
    }
 else     if (lp.width == LayoutParams.MATCH_PARENT) {
      childWidthSpec=MeasureSpec.makeMeasureSpec(width,MeasureSpec.EXACTLY);
    }
 else {
      childWidthSpec=MeasureSpec.makeMeasureSpec(lp.width,MeasureSpec.EXACTLY);
    }
    int childHeightSpec;
    if (lp.height == LayoutParams.WRAP_CONTENT) {
      childHeightSpec=MeasureSpec.makeMeasureSpec(height,MeasureSpec.AT_MOST);
    }
 else {
      if (lp.weight > 0 && lp.weight < 1) {
        height=(int)(height * lp.weight);
      }
 else       if (lp.height != LayoutParams.MATCH_PARENT) {
        height=lp.height;
      }
      childHeightSpec=MeasureSpec.makeMeasureSpec(height,MeasureSpec.EXACTLY);
    }
    child.measure(childWidthSpec,childHeightSpec);
    if (child == mSlideableView) {
      mSlideRange=mSlideableView.getMeasuredHeight() - mPanelHeight;
    }
  }
  setMeasuredDimension(widthSize,heightSize);
}

Fixed version (ground truth):
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  final int widthMode=MeasureSpec.getMode(widthMeasureSpec);
  final int widthSize=MeasureSpec.getSize(widthMeasureSpec);
  final int heightMode=MeasureSpec.getMode(heightMeasureSpec);
  final int heightSize=MeasureSpec.getSize(heightMeasureSpec);
  if (widthMode != MeasureSpec.EXACTLY && widthMode != MeasureSpec.AT_MOST) {
    throw new IllegalStateException("String_Node_Str");
  }
 else   if (heightMode != MeasureSpec.EXACTLY && heightMode != MeasureSpec.AT_MOST) {
    throw new IllegalStateException("String_Node_Str");
  }
  final int childCount=getChildCount();
  if (childCount != 2) {
    throw new IllegalStateException("String_Node_Str");
  }
  mMainView=getChildAt(0);
  mSlideableView=getChildAt(1);
  if (mDragView == null) {
    setDragView(mSlideableView);
  }
  if (mSlideableView.getVisibility() != VISIBLE) {
    mSlideState=PanelState.HIDDEN;
  }
  int layoutHeight=heightSize - getPaddingTop() - getPaddingBottom();
  int layoutWidth=widthSize - getPaddingLeft() - getPaddingRight();
  for (int i=0; i < childCount; i++) {
    final View child=getChildAt(i);
    final LayoutParams lp=(LayoutParams)child.getLayoutParams();
    if (child.getVisibility() == GONE && i == 0) {
      continue;
    }
    int height=layoutHeight;
    int width=layoutWidth;
    if (child == mMainView) {
      if (!mOverlayContent && mSlideState != PanelState.HIDDEN) {
        height-=mPanelHeight;
      }
      width-=lp.leftMargin + lp.rightMargin;
    }
 else     if (child == mSlideableView) {
      height-=lp.topMargin;
    }
    int childWidthSpec;
    if (lp.width == LayoutParams.WRAP_CONTENT) {
      childWidthSpec=MeasureSpec.makeMeasureSpec(width,MeasureSpec.AT_MOST);
    }
 else     if (lp.width == LayoutParams.MATCH_PARENT) {
      childWidthSpec=MeasureSpec.makeMeasureSpec(width,MeasureSpec.EXACTLY);
    }
 else {
      childWidthSpec=MeasureSpec.makeMeasureSpec(lp.width,MeasureSpec.EXACTLY);
    }
    int childHeightSpec;
    if (lp.height == LayoutParams.WRAP_CONTENT) {
      childHeightSpec=MeasureSpec.makeMeasureSpec(height,MeasureSpec.AT_MOST);
    }
 else {
      if (lp.weight > 0 && lp.weight < 1) {
        height=(int)(height * lp.weight);
      }
 else       if (lp.height != LayoutParams.MATCH_PARENT) {
        height=lp.height;
      }
      childHeightSpec=MeasureSpec.makeMeasureSpec(height,MeasureSpec.EXACTLY);
    }
    child.measure(childWidthSpec,childHeightSpec);
    if (child == mSlideableView) {
      mSlideRange=mSlideableView.getMeasuredHeight() - mPanelHeight;
    }
  }
  setMeasuredDimension(widthSize,heightSize);
}