Program: 193653
Project: 193653
Buggy source:
@Override protected void onHandleIntent(Intent intent){
  if (intent.hasExtra(EXTRA_CANCEL)) {
    handleCancel(intent);
    return;
  }
  final ArrayList<DocumentInfo> srcs=intent.getParcelableArrayListExtra(EXTRA_SRC_LIST);
  final DocumentStack stack=intent.getParcelableExtra(EXTRA_STACK);
  final int transferMode=intent.getIntExtra(EXTRA_TRANSFER_MODE,TRANSFER_MODE_COPY);
  try {
    mSrcClient=DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(),srcs.get(0).authority);
    mDstClient=DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(),stack.peek().authority);
    setupCopyJob(srcs,stack,transferMode);
    for (int i=0; i < srcs.size() && !mIsCancelled; ++i) {
      copy(srcs.get(i),stack.peek(),transferMode);
    }
  }
 catch (  Exception e) {
    Log.e(TAG,"String_Node_Str",e);
  }
 finally {
    ContentProviderClient.releaseQuietly(mSrcClient);
    ContentProviderClient.releaseQuietly(mDstClient);
    mNotificationManager.cancel(mJobId,0);
    if (mFailedFiles.size() > 0) {
      final Context context=getApplicationContext();
      final Intent navigateIntent=new Intent(context,FilesActivity.class);
      navigateIntent.putExtra(EXTRA_STACK,(Parcelable)stack);
      navigateIntent.putExtra(EXTRA_FAILURE,FAILURE_COPY);
      navigateIntent.putParcelableArrayListExtra(EXTRA_SRC_LIST,mFailedFiles);
      final int titleResourceId=(transferMode == TRANSFER_MODE_COPY ? R.plurals.copy_error_notification_title : R.plurals.move_error_notification_title);
      final Notification.Builder errorBuilder=new Notification.Builder(this).setContentTitle(context.getResources().getQuantityString(titleResourceId,mFailedFiles.size(),mFailedFiles.size())).setContentText(getString(R.string.notification_touch_for_details)).setContentIntent(PendingIntent.getActivity(context,0,navigateIntent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT)).setCategory(Notification.CATEGORY_ERROR).setSmallIcon(R.drawable.ic_menu_copy).setAutoCancel(true);
      mNotificationManager.notify(mJobId,0,errorBuilder.build());
    }
  }
}

Fixed version (ground truth):
@Override protected void onHandleIntent(Intent intent){
  if (intent.hasExtra(EXTRA_CANCEL)) {
    handleCancel(intent);
    return;
  }
  final ArrayList<DocumentInfo> srcs=intent.getParcelableArrayListExtra(EXTRA_SRC_LIST);
  final DocumentStack stack=intent.getParcelableExtra(EXTRA_STACK);
  final int transferMode=intent.getIntExtra(EXTRA_TRANSFER_MODE,TRANSFER_MODE_COPY);
  try {
    mSrcClient=DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(),srcs.get(0).authority);
    mDstClient=DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(),stack.peek().authority);
    setupCopyJob(srcs,stack,transferMode);
    for (int i=0; i < srcs.size() && !mIsCancelled; ++i) {
      copy(srcs.get(i),stack.peek(),transferMode);
    }
  }
 catch (  Exception e) {
    Log.e(TAG,"String_Node_Str",e);
  }
 finally {
    if (DEBUG)     Log.d(TAG,"String_Node_Str");
    ContentProviderClient.releaseQuietly(mSrcClient);
    ContentProviderClient.releaseQuietly(mDstClient);
    mNotificationManager.cancel(mJobId,0);
    if (mFailedFiles.size() > 0) {
      Log.e(TAG,mFailedFiles.size() + "String_Node_Str");
      final Context context=getApplicationContext();
      final Intent navigateIntent=new Intent(context,FilesActivity.class);
      navigateIntent.putExtra(EXTRA_STACK,(Parcelable)stack);
      navigateIntent.putExtra(EXTRA_FAILURE,FAILURE_COPY);
      navigateIntent.putExtra(EXTRA_TRANSFER_MODE,transferMode);
      navigateIntent.putParcelableArrayListExtra(EXTRA_SRC_LIST,mFailedFiles);
      final int titleResourceId=(transferMode == TRANSFER_MODE_COPY ? R.plurals.copy_error_notification_title : R.plurals.move_error_notification_title);
      final Notification.Builder errorBuilder=new Notification.Builder(this).setContentTitle(context.getResources().getQuantityString(titleResourceId,mFailedFiles.size(),mFailedFiles.size())).setContentText(getString(R.string.notification_touch_for_details)).setContentIntent(PendingIntent.getActivity(context,0,navigateIntent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT)).setCategory(Notification.CATEGORY_ERROR).setSmallIcon(R.drawable.ic_menu_copy).setAutoCancel(true);
      mNotificationManager.notify(mJobId,0,errorBuilder.build());
    }
    if (DEBUG)     Log.d(TAG,"String_Node_Str");
  }
}