Program: 63765
Project: 63765
Buggy source:
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  final int heightSize=MeasureSpec.getSize(heightMeasureSpec);
  final int leftPointerH=mLeftCursorBG.getIntrinsicHeight();
  final int rightPointerH=mRightCursorBG.getIntrinsicHeight();
  final int maxOfCursor=Math.max(leftPointerH,rightPointerH);
  final int maxOfCursorAndSeekbar=Math.max(mSeekbarHeight,maxOfCursor);
  int heightNeeded=maxOfCursorAndSeekbar + mMarginBetween + mTextSize+ mPaddingRect.top+ mPaddingRect.bottom;
  if (heightMode == MeasureSpec.EXACTLY) {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightSize,MeasureSpec.EXACTLY);
  }
 else   if (heightMode == MeasureSpec.AT_MOST) {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightSize < heightNeeded ? heightSize : heightNeeded,MeasureSpec.EXACTLY);
  }
 else {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightNeeded,MeasureSpec.EXACTLY);
  }
  final int widthSize=MeasureSpec.getSize(widthMeasureSpec);
  mSeekbarRect.left=mPaddingRect.left + mLeftCursorBG.getIntrinsicWidth() / 2;
  mSeekbarRect.right=widthSize - mPaddingRect.right - mRightCursorBG.getIntrinsicWidth() / 2;
  mSeekbarRect.top=mPaddingRect.top + mTextSize + mMarginBetween;
  mSeekbarRect.bottom=mSeekbarRect.top + mSeekbarHeight;
  mSeekbarRectSelected.top=mSeekbarRect.top;
  mSeekbarRectSelected.bottom=mSeekbarRect.bottom;
  mPartLength=((int)(mSeekbarRect.right - mSeekbarRect.left)) / (mTextArray.length - 1);
  mRightBoundary=(int)(mSeekbarRect.right + mRightCursorBG.getIntrinsicWidth() / 2);
  super.onMeasure(widthMeasureSpec,heightMeasureSpec);
}

Fixed version (ground truth):
@Override protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
  final int heightSize=MeasureSpec.getSize(heightMeasureSpec);
  final int heightMode=MeasureSpec.getMode(heightMeasureSpec);
  final int leftPointerH=mLeftCursorBG.getIntrinsicHeight();
  final int rightPointerH=mRightCursorBG.getIntrinsicHeight();
  final int maxOfCursor=Math.max(leftPointerH,rightPointerH);
  final int maxOfCursorAndSeekbar=Math.max(mSeekbarHeight,maxOfCursor);
  int heightNeeded=maxOfCursorAndSeekbar + mMarginBetween + mTextSize+ mPaddingRect.top+ mPaddingRect.bottom;
  if (heightMode == MeasureSpec.EXACTLY) {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightSize,MeasureSpec.EXACTLY);
  }
 else   if (heightMode == MeasureSpec.AT_MOST) {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightSize < heightNeeded ? heightSize : heightNeeded,MeasureSpec.EXACTLY);
  }
 else {
    heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightNeeded,MeasureSpec.EXACTLY);
  }
  final int widthSize=MeasureSpec.getSize(widthMeasureSpec);
  mSeekbarRect.left=mPaddingRect.left + mLeftCursorBG.getIntrinsicWidth() / 2;
  mSeekbarRect.right=widthSize - mPaddingRect.right - mRightCursorBG.getIntrinsicWidth() / 2;
  mSeekbarRect.top=mPaddingRect.top + mTextSize + mMarginBetween;
  mSeekbarRect.bottom=mSeekbarRect.top + mSeekbarHeight;
  mSeekbarRectSelected.top=mSeekbarRect.top;
  mSeekbarRectSelected.bottom=mSeekbarRect.bottom;
  mPartLength=((int)(mSeekbarRect.right - mSeekbarRect.left)) / (mTextArray.length - 1);
  mRightBoundary=(int)(mSeekbarRect.right + mRightCursorBG.getIntrinsicWidth() / 2);
  super.onMeasure(widthMeasureSpec,heightMeasureSpec);
}