Program: 25632
Project: 25632
Buggy source:
@Override public void draw(Canvas canvas){
  if (info == null) {
    if (placeholder == null && placeholderResource != 0)     placeholder=resources.getDrawable(placeholderResource);
    if (placeholder != null) {
      placeholder.setBounds(getBounds());
      placeholder.draw(canvas);
    }
    return;
  }
  if (info.drawTime == 0)   info.drawTime=SystemClock.uptimeMillis();
  long destAlpha=0xFF;
  if (!disableFadeIn) {
    destAlpha=((SystemClock.uptimeMillis() - info.drawTime) << 8) / FADE_DURATION;
    destAlpha=Math.min(destAlpha,0xFF);
  }
  if (destAlpha != 255) {
    if (placeholder == null && placeholderResource != 0)     placeholder=resources.getDrawable(placeholderResource);
    if (placeholder != null) {
      placeholder.setBounds(getBounds());
      placeholder.draw(canvas);
    }
  }
  if (info.bitmaps != null) {
    paint.setAlpha((int)destAlpha);
    canvas.drawBitmap(info.bitmaps[currentFrame % info.bitmaps.length],null,getBounds(),paint);
    paint.setAlpha(0xFF);
    if (info.delays != null) {
      int delay=info.delays[currentFrame++ % info.delays.length];
      if (!invalidateScheduled) {
        invalidateScheduled=true;
        scheduleSelf(invalidate,SystemClock.uptimeMillis() + Math.max(delay,100));
      }
    }
  }
 else {
    if (error == null && errorResource != 0)     error=resources.getDrawable(errorResource);
    if (error != null) {
      error.setAlpha((int)destAlpha);
      error.setBounds(getBounds());
      error.draw(canvas);
      error.setAlpha(0xFF);
    }
  }
  if (destAlpha != 255)   invalidateSelf();
  if (true)   return;
  canvas.save();
  canvas.rotate(45);
  paint.setColor(Color.WHITE);
  canvas.drawRect(0,-10,7.5f,10,paint);
  int sourceColor;
switch (loadedFrom) {
case Loader.LoaderEmitter.LOADED_FROM_CACHE:
    sourceColor=Color.CYAN;
  break;
case Loader.LoaderEmitter.LOADED_FROM_CONDITIONAL_CACHE:
sourceColor=Color.YELLOW;
break;
case Loader.LoaderEmitter.LOADED_FROM_MEMORY:
sourceColor=Color.GREEN;
break;
default :
sourceColor=Color.RED;
break;
}
paint.setColor(sourceColor);
canvas.drawRect(0,-9,6.5f,9,paint);
canvas.restore();
}

Fixed version (ground truth):
@Override public void draw(Canvas canvas){
  if (info == null) {
    if (placeholder == null && placeholderResource != 0)     placeholder=resources.getDrawable(placeholderResource);
    if (placeholder != null) {
      placeholder.setBounds(getBounds());
      placeholder.draw(canvas);
    }
    return;
  }
  if (info.drawTime == 0)   info.drawTime=SystemClock.uptimeMillis();
  long destAlpha=0xFF;
  if (!disableFadeIn) {
    destAlpha=((SystemClock.uptimeMillis() - info.drawTime) << 8) / FADE_DURATION;
    destAlpha=Math.min(destAlpha,0xFF);
  }
  if (destAlpha != 255) {
    if (placeholder == null && placeholderResource != 0)     placeholder=resources.getDrawable(placeholderResource);
    if (placeholder != null) {
      placeholder.setBounds(getBounds());
      placeholder.draw(canvas);
    }
  }
  if (info.bitmaps != null) {
    paint.setAlpha((int)destAlpha);
    canvas.drawBitmap(info.bitmaps[currentFrame % info.bitmaps.length],null,getBounds(),paint);
    paint.setAlpha(0xFF);
    if (info.delays != null) {
      int delay=info.delays[currentFrame % info.delays.length];
      if (!invalidateScheduled) {
        invalidateScheduled=true;
        unscheduleSelf(invalidate);
        scheduleSelf(invalidate,SystemClock.uptimeMillis() + Math.max(delay,100));
      }
    }
  }
 else {
    if (error == null && errorResource != 0)     error=resources.getDrawable(errorResource);
    if (error != null) {
      error.setAlpha((int)destAlpha);
      error.setBounds(getBounds());
      error.draw(canvas);
      error.setAlpha(0xFF);
    }
  }
  if (destAlpha != 255)   invalidateSelf();
  if (true)   return;
  canvas.save();
  canvas.rotate(45);
  paint.setColor(Color.WHITE);
  canvas.drawRect(0,-10,7.5f,10,paint);
  int sourceColor;
switch (loadedFrom) {
case Loader.LoaderEmitter.LOADED_FROM_CACHE:
    sourceColor=Color.CYAN;
  break;
case Loader.LoaderEmitter.LOADED_FROM_CONDITIONAL_CACHE:
sourceColor=Color.YELLOW;
break;
case Loader.LoaderEmitter.LOADED_FROM_MEMORY:
sourceColor=Color.GREEN;
break;
default :
sourceColor=Color.RED;
break;
}
paint.setColor(sourceColor);
canvas.drawRect(0,-9,6.5f,9,paint);
canvas.restore();
}