Program: 86962
Project: 86962
Buggy source:
@Override public View getView(final int position,View convertView,ViewGroup parent){
  final LayoutInflater inflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View rootView=inflater.inflate(R.layout.list_view_notifications,parent,false);
  final LockScreenNotification lsn=NotificationService.currentNotifications.get(position);
  final Notification mNotification=lsn.getNotification();
  final Bundle extras=mNotification.extras;
  final CardView cardView=(CardView)rootView.findViewById(R.id.card_view_notification);
  Card card=new Card(getContext());
  CardHeader cardHeader=new NotificationCardHeader(getContext(),new NotificationCardHeader.InnerViewElementsSetUpListener(){
    @Override public void onInnerViewElementsSetUp(    NotificationCardHeader header){
      header.setTitle(extras.getString(KEY_NOTIFICATION_TITLE));
      header.setText(extras.getString(KEY_NOTIFICATION_TEXT));
      try {
        int icon=mNotification.icon;
        Bitmap img=(Bitmap)mNotification.extras.get(Notification.EXTRA_LARGE_ICON);
        if (img == null) {
          Drawable app_icon=getContext().getPackageManager().getApplicationIcon(lsn.getPackageName());
          img=((BitmapDrawable)app_icon).getBitmap();
        }
        header.setImageBitmap(Picture.getCroppedBitmap(img,0));
      }
 catch (      Exception e) {
        Log.e(LOG_TAG,e.toString());
      }
    }
  }
);
  card.addCardHeader(cardHeader);
  if (position == clickedCard) {
    card.setBackgroundResource(new ColorDrawable(0xFFFFFFFF));
  }
 else {
    card.setBackgroundResource(new ColorDrawable(0xCCFFFFFF));
  }
  card.setOnClickListener(new Card.OnCardClickListener(){
    @Override public void onClick(    Card card,    View view){
      Log.d(LOG_TAG,"String_Node_Str");
      if (clickedCard == position) {
        try {
          mNotification.contentIntent.send();
        }
 catch (        Exception e) {
          Log.e(LOG_TAG,e.toString());
        }
      }
 else {
        clickedCard=position;
        CountDownTimer cdt=new CountDownTimer((long)2000,(long)2000){
          @Override public void onTick(          long millisUntilFinished){
          }
          @Override public void onFinish(){
            clickedCard=-1;
            notifyDataSetChanged();
          }
        }
.start();
        notifyDataSetChanged();
      }
    }
  }
);
  card.setSwipeable(lsn.isClearable());
  if (lsn.isClearable()) {
    card.setOnSwipeListener(new Card.OnSwipeListener(){
      @Override public void onSwipe(      Card card){
        lsn.dismiss(getContext());
      }
    }
);
  }
  cardView.setCard(card);
  return rootView;
}

Fixed version (ground truth):
@Override public View getView(final int position,View convertView,ViewGroup parent){
  final LayoutInflater inflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View rootView=inflater.inflate(R.layout.list_view_notifications,parent,false);
  final LockScreenNotification lsn=NotificationService.currentNotifications.get(position);
  final Notification mNotification=lsn.getNotification();
  final Bundle extras=mNotification.extras;
  final CardView cardView=(CardView)rootView.findViewById(R.id.card_view_notification);
  Card card=new Card(getContext());
  CardHeader cardHeader=new NotificationCardHeader(getContext(),new NotificationCardHeader.InnerViewElementsSetUpListener(){
    @Override public void onInnerViewElementsSetUp(    NotificationCardHeader header){
      header.setTitle(extras.getString(KEY_NOTIFICATION_TITLE));
      header.setText(extras.getString(KEY_NOTIFICATION_TEXT));
      try {
        int icon=mNotification.icon;
        Bitmap img=(Bitmap)mNotification.extras.get(Notification.EXTRA_LARGE_ICON);
        if (img == null) {
          Drawable app_icon=getContext().getPackageManager().getApplicationIcon(lsn.getPackageName());
          img=((BitmapDrawable)app_icon).getBitmap();
        }
        header.setImageBitmap(Picture.getCroppedBitmap(img,0));
      }
 catch (      Exception e) {
        Log.e(LOG_TAG,e.toString());
      }
    }
  }
);
  card.addCardHeader(cardHeader);
  if (position == clickedCard) {
    card.setBackgroundResource(new ColorDrawable(0xFFFFFFFF));
  }
 else {
    card.setBackgroundResource(new ColorDrawable(0xCCFFFFFF));
  }
  card.setOnClickListener(new Card.OnCardClickListener(){
    @Override public void onClick(    Card card,    View view){
      Log.d(LOG_TAG,"String_Node_Str");
      if (clickedCard == position) {
        try {
          mNotification.contentIntent.send();
        }
 catch (        Exception e) {
          Log.e(LOG_TAG,e.toString());
        }
      }
 else {
        clickedCard=position;
        CountDownTimer cdt=new CountDownTimer((long)2000,(long)2000){
          @Override public void onTick(          long millisUntilFinished){
          }
          @Override public void onFinish(){
            clickedCard=-1;
            notifyDataSetChanged();
          }
        }
.start();
        notifyDataSetChanged();
      }
    }
  }
);
  card.setSwipeable(!lsn.isOngoing());
  if (!lsn.isOngoing()) {
    card.setOnSwipeListener(new Card.OnSwipeListener(){
      @Override public void onSwipe(      Card card){
        lsn.dismiss(getContext());
      }
    }
);
  }
  cardView.setCard(card);
  return rootView;
}