Program: 199015
Project: 199015
Buggy source:
/** 
 * Animates this task view as it enters recents 
 */
public void startEnterRecentsAnimation(ViewAnimation.TaskViewEnterContext ctx){
  TaskViewTransform transform=ctx.transform;
  if (mConfig.launchedFromAppWithScreenshot) {
    if (ctx.isFrontMost) {
      ctx.fullScreenshot.animateOnEnterRecents(ctx,new Runnable(){
        @Override public void run(){
          mBarView.startEnterRecentsAnimation(0,mEnableThumbnailClip);
          setVisibility(View.VISIBLE);
        }
      }
);
    }
 else {
      animate().scaleX(transform.scale).scaleY(transform.scale).translationY(transform.translationY).setStartDelay(0).setUpdateListener(null).setInterpolator(mConfig.linearOutSlowInInterpolator).setDuration(475).withLayer().withEndAction(mEnableThumbnailClip).start();
    }
  }
 else   if (mConfig.launchedFromAppWithThumbnail) {
    if (ctx.isFrontMost) {
      mBarView.startEnterRecentsAnimation(mConfig.taskBarEnterAnimDelay,mEnableThumbnailClip);
      ObjectAnimator anim=ObjectAnimator.ofInt(this,"String_Node_Str",getDimOverlayFromScale());
      anim.setStartDelay(mConfig.taskBarEnterAnimDelay);
      anim.setDuration(mConfig.taskBarEnterAnimDuration);
      anim.setInterpolator(mConfig.fastOutLinearInInterpolator);
      anim.start();
    }
 else {
      mEnableThumbnailClip.run();
    }
  }
 else   if (mConfig.launchedFromHome) {
    int frontIndex=(ctx.stackViewCount - ctx.stackViewIndex - 1);
    int delay=mConfig.taskBarEnterAnimDelay + frontIndex * mConfig.taskViewEnterFromHomeDelay;
    animate().scaleX(transform.scale).scaleY(transform.scale).translationY(transform.translationY).translationZ(transform.translationZ).setStartDelay(delay).setUpdateListener(null).setInterpolator(mConfig.quintOutInterpolator).setDuration(mConfig.taskViewEnterFromHomeDuration).withLayer().withEndAction(mEnableThumbnailClip).start();
  }
}

Fixed version (ground truth):
/** 
 * Animates this task view as it enters recents 
 */
public void startEnterRecentsAnimation(final ViewAnimation.TaskViewEnterContext ctx){
  TaskViewTransform transform=ctx.transform;
  if (mConfig.launchedFromAppWithScreenshot) {
    if (ctx.isFrontMost) {
      ctx.fullScreenshot.animateOnEnterRecents(ctx,new Runnable(){
        @Override public void run(){
          mBarView.startEnterRecentsAnimation(0,mEnableThumbnailClip);
          setVisibility(View.VISIBLE);
          ctx.postAnimationTrigger.decrement();
        }
      }
);
    }
 else {
      animate().scaleX(transform.scale).scaleY(transform.scale).translationY(transform.translationY).setStartDelay(0).setUpdateListener(null).setInterpolator(mConfig.linearOutSlowInInterpolator).setDuration(475).withLayer().withEndAction(new Runnable(){
        @Override public void run(){
          mEnableThumbnailClip.run();
          ctx.postAnimationTrigger.decrement();
        }
      }
).start();
    }
    ctx.postAnimationTrigger.increment();
  }
 else   if (mConfig.launchedFromAppWithThumbnail) {
    if (ctx.isFrontMost) {
      mBarView.startEnterRecentsAnimation(mConfig.taskBarEnterAnimDelay,mEnableThumbnailClip);
      ObjectAnimator anim=ObjectAnimator.ofInt(this,"String_Node_Str",getDimOverlayFromScale());
      anim.setStartDelay(mConfig.taskBarEnterAnimDelay);
      anim.setDuration(mConfig.taskBarEnterAnimDuration);
      anim.setInterpolator(mConfig.fastOutLinearInInterpolator);
      anim.addListener(new AnimatorListenerAdapter(){
        @Override public void onAnimationEnd(        Animator animation){
          ctx.postAnimationTrigger.decrement();
        }
      }
);
      anim.start();
      ctx.postAnimationTrigger.increment();
    }
 else {
      mEnableThumbnailClip.run();
    }
  }
 else   if (mConfig.launchedFromHome) {
    int frontIndex=(ctx.stackViewCount - ctx.stackViewIndex - 1);
    int delay=mConfig.taskBarEnterAnimDelay + frontIndex * mConfig.taskViewEnterFromHomeDelay;
    animate().scaleX(transform.scale).scaleY(transform.scale).translationY(transform.translationY).translationZ(transform.translationZ).setStartDelay(delay).setUpdateListener(null).setInterpolator(mConfig.quintOutInterpolator).setDuration(mConfig.taskViewEnterFromHomeDuration).withLayer().withEndAction(new Runnable(){
      @Override public void run(){
        mEnableThumbnailClip.run();
        ctx.postAnimationTrigger.decrement();
      }
    }
).start();
    ctx.postAnimationTrigger.increment();
  }
}