Program: 8260
Project: 8260
Buggy source:
@Override public void bindView(View view,Context context,Cursor cursor){
  TextView vHeaderId=(TextView)view.findViewById(R.id.user_id_header);
  TextView vName=(TextView)view.findViewById(R.id.user_id_item_name);
  TextView vAddresses=(TextView)view.findViewById(R.id.user_id_item_addresses);
  byte[] data=cursor.getBlob(1);
  int isHeader=cursor.getInt(2);
  Parcel p=Parcel.obtain();
  p.unmarshall(data,0,data.length);
  p.setDataPosition(0);
  ArrayList<String> uids=p.createStringArrayList();
  p.recycle();
{
    String userId=uids.get(0);
    KeyRing.UserId splitUserId=KeyRing.splitUserId(userId);
    if (splitUserId.name != null) {
      vName.setText(splitUserId.name);
    }
 else {
      vName.setText(R.string.user_id_no_name);
    }
    if (isHeader == 1) {
      vHeaderId.setVisibility(View.VISIBLE);
      String message;
      if (splitUserId.name != null) {
        message=mContext.getString(R.string.section_uids_to_certify) + splitUserId.name;
      }
 else {
        message=mContext.getString(R.string.section_uids_to_certify) + context.getString(R.string.user_id_no_name);
      }
      vHeaderId.setText(message);
    }
 else {
      vHeaderId.setVisibility(View.GONE);
    }
  }
  StringBuilder lines=new StringBuilder();
  for (  String uid : uids) {
    KeyRing.UserId splitUserId=KeyRing.splitUserId(uid);
    if (splitUserId.email == null) {
      continue;
    }
    lines.append(splitUserId.email);
    if (splitUserId.comment != null) {
      lines.append("String_Node_Str").append(splitUserId.comment).append("String_Node_Str");
    }
    lines.append('\n');
  }
  if (lines.length() > 0) {
    lines.setLength(lines.length() - 1);
    vAddresses.setVisibility(View.VISIBLE);
    vAddresses.setText(lines);
  }
 else {
    vAddresses.setVisibility(View.GONE);
  }
  final CheckBox vCheckBox=(CheckBox)view.findViewById(R.id.user_id_item_check_box);
  final int position=cursor.getPosition();
  vCheckBox.setOnCheckedChangeListener(null);
  vCheckBox.setChecked(mCheckStates.get(position));
  vCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
    @Override public void onCheckedChanged(    CompoundButton compoundButton,    boolean b){
      mCheckStates.set(position,b);
    }
  }
);
  vCheckBox.setClickable(false);
  View vUidBody=view.findViewById(R.id.user_id_body);
  vUidBody.setClickable(true);
  vUidBody.setOnClickListener(new OnClickListener(){
    @Override public void onClick(    View v){
      vCheckBox.toggle();
    }
  }
);
}

Fixed version (ground truth):
@Override public void bindView(View view,Context context,Cursor cursor){
  TextView vHeaderId=(TextView)view.findViewById(R.id.user_id_header);
  TextView vName=(TextView)view.findViewById(R.id.user_id_item_name);
  TextView vAddresses=(TextView)view.findViewById(R.id.user_id_item_addresses);
  byte[] data=cursor.getBlob(1);
  int isHeader=cursor.getInt(2);
  Parcel p=Parcel.obtain();
  p.unmarshall(data,0,data.length);
  p.setDataPosition(0);
  ArrayList<String> uids=p.createStringArrayList();
  p.recycle();
{
    String userId=uids.get(0);
    KeyRing.UserId splitUserId=KeyRing.splitUserId(userId);
    if (splitUserId.name != null) {
      vName.setText(splitUserId.name);
    }
 else {
      vName.setText(R.string.user_id_no_name);
    }
    if (isHeader == 1) {
      vHeaderId.setVisibility(View.VISIBLE);
      String message;
      if (splitUserId.name != null) {
        message=mContext.getString(R.string.section_uids_to_certify) + splitUserId.name;
      }
 else {
        message=mContext.getString(R.string.section_uids_to_certify) + context.getString(R.string.user_id_no_name);
      }
      vHeaderId.setText(message);
    }
 else {
      vHeaderId.setVisibility(View.GONE);
    }
  }
  StringBuilder lines=new StringBuilder();
  for (  String uid : uids) {
    KeyRing.UserId splitUserId=KeyRing.splitUserId(uid);
    if (splitUserId.email == null) {
      continue;
    }
    lines.append(splitUserId.email);
    if (splitUserId.comment != null) {
      lines.append("String_Node_Str").append(splitUserId.comment).append("String_Node_Str");
    }
    lines.append('\n');
  }
  if (lines.length() > 0) {
    lines.setLength(lines.length() - 1);
    vAddresses.setVisibility(View.VISIBLE);
    vAddresses.setText(lines);
  }
 else {
    vAddresses.setVisibility(View.GONE);
  }
  final CheckBox vCheckBox=(CheckBox)view.findViewById(R.id.user_id_item_check_box);
  final int position=cursor.getPosition();
  vCheckBox.setOnCheckedChangeListener(null);
  vCheckBox.setChecked(mCheckStates.get(position));
  vCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
    @Override public void onCheckedChanged(    CompoundButton compoundButton,    boolean b){
      mCheckStates.set(position,b);
    }
  }
);
  vCheckBox.setClickable(false);
  vCheckBox.setVisibility(checkboxVisibility ? View.VISIBLE : View.GONE);
  View vUidBody=view.findViewById(R.id.user_id_body);
  vUidBody.setClickable(true);
  vUidBody.setOnClickListener(new OnClickListener(){
    @Override public void onClick(    View v){
      vCheckBox.toggle();
    }
  }
);
}