Program: 45422
Project: 45422
Buggy source:
@Override public void onActivityResult(int requestCode,int resultCode,Intent data){
  super.onActivityResult(requestCode,resultCode,data);
switch (requestCode) {
case EDIT_GARDEN:
    setTitle(garden.getName());
  break;
case USE_CAMERA:
if (resultCode == RESULT_OK) {
  System.out.print("String_Node_Str" + imageUri.toString() + "String_Node_Str");
  android.database.Cursor cursor=managedQuery(imageUri,new String[]{MediaStore.Images.Media.DATA},null,null,null);
  int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
  cursor.moveToFirst();
  System.out.println(cursor.getString(column_index));
  if (data != null && data.getData() != null)   imageUri=data.getData();
  System.out.print("String_Node_Str" + imageUri.toString() + "String_Node_Str");
  cursor=managedQuery(imageUri,new String[]{MediaStore.Images.Media.DATA},null,null,null);
  column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
  cursor.moveToFirst();
  System.out.println(cursor.getString(column_index));
  GardenGnome.addPhoto(garden,new Photo(imageUri));
}
break;
case ADD_PLOT:
if (data != null) {
data.putExtra("String_Node_Str",gardenId);
data.putExtra("String_Node_Str",gardenView.zoomScale);
float[] values=new float[9], bgvalues=new float[9];
gardenView.dragMatrix.getValues(values);
gardenView.bgDragMatrix.getValues(bgvalues);
data.putExtra("String_Node_Str",values);
data.putExtra("String_Node_Str",bgvalues);
startActivityForResult(data,0);
overridePendingTransition(0,0);
}
break;
case EDIT_PLOT:
gardenView.zoomScale=data.getFloatExtra("String_Node_Str",1);
gardenView.dragMatrix.setValues(data.getFloatArrayExtra("String_Node_Str"));
gardenView.bgDragMatrix.setValues(data.getFloatArrayExtra("String_Node_Str"));
gardenView.onAnimationEnd();
if (zoomAutoHidden) zoomControls.setVisibility(View.GONE);
break;
case VIEW_PLOT:
if (zoomAutoHidden) zoomControls.hide();
break;
}
}

Fixed version (ground truth):
@Override public void onActivityResult(int requestCode,int resultCode,Intent data){
switch (requestCode) {
case EDIT_GARDEN:
    setTitle(garden.getName());
  break;
case USE_CAMERA:
if (resultCode == RESULT_OK) {
  System.out.print("String_Node_Str" + imageUri.toString() + "String_Node_Str");
  android.database.Cursor cursor=managedQuery(imageUri,new String[]{MediaStore.Images.Media.DATA},null,null,null);
  int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
  cursor.moveToFirst();
  System.out.println(cursor.getString(column_index));
  if (data != null && data.getData() != null)   imageUri=data.getData();
  System.out.print("String_Node_Str" + imageUri.toString() + "String_Node_Str");
  cursor=managedQuery(imageUri,new String[]{MediaStore.Images.Media.DATA},null,null,null);
  column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
  cursor.moveToFirst();
  System.out.println(cursor.getString(column_index));
  GardenGnome.addPhoto(garden,new Photo(imageUri));
}
break;
case ADD_PLOT:
if (data != null) {
data.putExtra("String_Node_Str",gardenId);
data.putExtra("String_Node_Str",gardenView.zoomScale);
float[] values=new float[9], bgvalues=new float[9];
gardenView.dragMatrix.getValues(values);
gardenView.bgDragMatrix.getValues(bgvalues);
data.putExtra("String_Node_Str",values);
data.putExtra("String_Node_Str",bgvalues);
startActivityForResult(data,EDIT_PLOT);
overridePendingTransition(0,0);
}
break;
case EDIT_PLOT:
gardenView.zoomScale=data.getFloatExtra("String_Node_Str",1);
gardenView.dragMatrix.setValues(data.getFloatArrayExtra("String_Node_Str"));
gardenView.bgDragMatrix.setValues(data.getFloatArrayExtra("String_Node_Str"));
System.out.println("String_Node_Str" + garden.getBounds().toString());
gardenView.onAnimationEnd();
if (zoomAutoHidden) zoomControls.setVisibility(View.GONE);
break;
case VIEW_PLOT:
if (zoomAutoHidden) zoomControls.hide();
break;
}
}