Program: 111195
Project: 111195
Buggy source:
@Override protected void initializeGraph(){
  mSeries=new ArrayList<ValueLineSeries>();
  mLegendList=new ArrayList<LegendModel>();
  mLinePaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mLinePaint.setStrokeWidth(mLineStroke);
  mLegendPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mLegendPaint.setColor(DEF_LEGEND_COLOR);
  mLegendPaint.setTextSize(mLegendTextSize);
  mLegendPaint.setStrokeWidth(2);
  mLegendPaint.setStyle(Paint.Style.FILL);
  calculateMaxTextHeight(mLegendPaint);
  mIndicatorPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mIndicatorPaint.setColor(mIndicatorColor);
  mIndicatorPaint.setTextSize(mIndicatorTextSize);
  mIndicatorPaint.setStrokeWidth(mIndicatorWidth);
  mIndicatorPaint.setStyle(Paint.Style.FILL);
  mGraph=new Graph(getContext());
  addView(mGraph);
  mLegend=new Legend(getContext());
  addView(mLegend);
  mRevealAnimator=ValueAnimator.ofFloat(0,1);
  mRevealAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){
    @Override public void onAnimationUpdate(    ValueAnimator animation){
      mRevealValue=(animation.getAnimatedFraction());
      mScale.reset();
      mScale.setScale(1,1.f * mRevealValue,0,mUseableGraphHeight + mTopPadding);
      mGraph.invalidate();
    }
  }
);
  mRevealAnimator.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animation){
    }
    @Override public void onAnimationEnd(    Animator animation){
      mStartedAnimation=false;
    }
    @Override public void onAnimationCancel(    Animator animation){
    }
    @Override public void onAnimationRepeat(    Animator animation){
    }
  }
);
  if (this.isInEditMode()) {
    ValueLineSeries series1=new ValueLineSeries();
    series1.setColor(0xFF63CBB0);
    series1.addPoint(new ValueLinePoint(1.4f));
    series1.addPoint(new ValueLinePoint(4.4f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(3.2f));
    series1.addPoint(new ValueLinePoint(2.6f));
    series1.addPoint(new ValueLinePoint(5.0f));
    series1.addPoint(new ValueLinePoint(3.5f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(0.4f));
    series1.addPoint(new ValueLinePoint(3.4f));
    series1.addPoint(new ValueLinePoint(2.5f));
    series1.addPoint(new ValueLinePoint(1.0f));
    series1.addPoint(new ValueLinePoint(4.2f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(3.6f));
    series1.addPoint(new ValueLinePoint(1.0f));
    series1.addPoint(new ValueLinePoint(2.5f));
    series1.addPoint(new ValueLinePoint(1.4f));
    addSeries(series1);
  }
}

Fixed version (ground truth):
@Override protected void initializeGraph(){
  mSeries=new ArrayList<ValueLineSeries>();
  mLegendList=new ArrayList<LegendModel>();
  mLinePaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mLinePaint.setStrokeWidth(mLineStroke);
  mLegendPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mLegendPaint.setColor(DEF_LEGEND_COLOR);
  mLegendPaint.setTextSize(mLegendTextSize);
  mLegendPaint.setStrokeWidth(2);
  mLegendPaint.setStyle(Paint.Style.FILL);
  calculateMaxTextHeight(mLegendPaint);
  mIndicatorPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
  mIndicatorPaint.setColor(mIndicatorColor);
  mIndicatorPaint.setTextSize(mIndicatorTextSize);
  mIndicatorPaint.setStrokeWidth(mIndicatorWidth);
  mIndicatorPaint.setStyle(Paint.Style.FILL);
  mGraph=new Graph(getContext());
  addView(mGraph);
  mLegend=new Legend(getContext());
  addView(mLegend);
  mRevealAnimator=ValueAnimator.ofFloat(0,1);
  mRevealAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){
    @Override public void onAnimationUpdate(    ValueAnimator animation){
      mRevealValue=animation.getAnimatedFraction();
      mScale.reset();
      mScale.setScale(1,1.f * mRevealValue,0,mUseableGraphHeight + mTopPadding);
      mGraph.invalidate();
    }
  }
);
  mRevealAnimator.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animation){
    }
    @Override public void onAnimationEnd(    Animator animation){
      mStartedAnimation=false;
    }
    @Override public void onAnimationCancel(    Animator animation){
    }
    @Override public void onAnimationRepeat(    Animator animation){
    }
  }
);
  if (this.isInEditMode()) {
    ValueLineSeries series1=new ValueLineSeries();
    series1.setColor(0xFF63CBB0);
    series1.addPoint(new ValueLinePoint(1.4f));
    series1.addPoint(new ValueLinePoint(4.4f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(3.2f));
    series1.addPoint(new ValueLinePoint(2.6f));
    series1.addPoint(new ValueLinePoint(5.0f));
    series1.addPoint(new ValueLinePoint(3.5f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(0.4f));
    series1.addPoint(new ValueLinePoint(3.4f));
    series1.addPoint(new ValueLinePoint(2.5f));
    series1.addPoint(new ValueLinePoint(1.0f));
    series1.addPoint(new ValueLinePoint(4.2f));
    series1.addPoint(new ValueLinePoint(2.4f));
    series1.addPoint(new ValueLinePoint(3.6f));
    series1.addPoint(new ValueLinePoint(1.0f));
    series1.addPoint(new ValueLinePoint(2.5f));
    series1.addPoint(new ValueLinePoint(1.4f));
    addSeries(series1);
  }
}