Program: 111180
Project: 111180
Buggy source:
@Override protected void onGraphOverlayDraw(Canvas _Canvas){
  super.onGraphOverlayDraw(_Canvas);
  mLegendPaint.setStrokeWidth(mXAxisStroke);
  _Canvas.drawLine(0,(mGraphHeight - mNegativeOffset) * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mGraphWidth,(mGraphHeight - mNegativeOffset) * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mLegendPaint);
  if (mShowStandardValues) {
    for (    StandardValue value : mStandardValues) {
      mIndicatorPaint.setColor(value.getColor());
      mIndicatorPaint.setStrokeWidth(value.getStroke());
      _Canvas.drawLine(0,value.getY() * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mGraphWidth,value.getY() * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mIndicatorPaint);
    }
  }
  if (mShowIndicator && mSeries.size() == 1) {
    mIndicatorPaint.setColor(mIndicatorLineColor);
    mIndicatorPaint.setStrokeWidth(mIndicatorWidth);
    _Canvas.translate(Utils.getTranslationX(mDrawMatrixValues),0);
    _Canvas.drawLine(mTouchedArea.getX(),0,mTouchedArea.getX(),mGraphHeight,mIndicatorPaint);
    if (mFocusedPoint != null) {
      if (mActivateIndicatorShadow) {
        mIndicatorPaint.setShadowLayer(mIndicatorShadowStrength,0,0,mIndicatorShadowColor);
      }
      mIndicatorPaint.setColor(mIndicatorTextColor);
      _Canvas.drawText(Utils.getFloatString(mFocusedPoint.getValue(),mShowDecimal) + (!mIndicatorTextUnit.isEmpty() ? "String_Node_Str" + mIndicatorTextUnit : "String_Node_Str"),mValueLabelX,mValueLabelY,mIndicatorPaint);
      if (mShowLegendBeneathIndicator) {
        mLegendPaint.setColor(mIndicatorTextColor);
        _Canvas.drawText(mFocusedPoint.getLegendLabel(),mLegendLabelX,mLegendLabelY,mLegendPaint);
      }
      if (mActivateIndicatorShadow) {
        mIndicatorPaint.setShadowLayer(0,0,0,0x00000000);
      }
    }
  }
}

Fixed version (ground truth):
@Override protected void onGraphOverlayDraw(Canvas _Canvas){
  super.onGraphOverlayDraw(_Canvas);
  mLegendPaint.setStrokeWidth(mXAxisStroke);
  _Canvas.drawLine(0,(mGraphHeight - mNegativeOffset) * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mGraphWidth,(mGraphHeight - mNegativeOffset) * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mLegendPaint);
  if (!mSeries.isEmpty()) {
    if (mShowStandardValues) {
      for (      StandardValue value : mStandardValues) {
        mIndicatorPaint.setColor(value.getColor());
        mIndicatorPaint.setStrokeWidth(value.getStroke());
        _Canvas.drawLine(0,value.getY() * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mGraphWidth,value.getY() * Utils.getScaleY(mDrawMatrixValues) + Utils.getTranslationY(mDrawMatrixValues),mIndicatorPaint);
      }
    }
    if (mShowIndicator && mSeries.size() == 1) {
      mIndicatorPaint.setColor(mIndicatorLineColor);
      mIndicatorPaint.setStrokeWidth(mIndicatorWidth);
      _Canvas.translate(Utils.getTranslationX(mDrawMatrixValues),0);
      _Canvas.drawLine(mTouchedArea.getX(),0,mTouchedArea.getX(),mGraphHeight,mIndicatorPaint);
      if (mFocusedPoint != null) {
        if (mActivateIndicatorShadow) {
          mIndicatorPaint.setShadowLayer(mIndicatorShadowStrength,0,0,mIndicatorShadowColor);
        }
        mIndicatorPaint.setColor(mIndicatorTextColor);
        _Canvas.drawText(Utils.getFloatString(mFocusedPoint.getValue(),mShowDecimal) + (!mIndicatorTextUnit.isEmpty() ? "String_Node_Str" + mIndicatorTextUnit : "String_Node_Str"),mValueLabelX,mValueLabelY,mIndicatorPaint);
        if (mShowLegendBeneathIndicator) {
          mLegendPaint.setColor(mIndicatorTextColor);
          _Canvas.drawText(mFocusedPoint.getLegendLabel(),mLegendLabelX,mLegendLabelY,mLegendPaint);
        }
        if (mActivateIndicatorShadow) {
          mIndicatorPaint.setShadowLayer(0,0,0,0x00000000);
        }
      }
    }
  }
}