Program: 142125
Project: 142125
Buggy source:
private void showView(QuestionsView next,AnimationType from,boolean animateLastView){
switch (from) {
case RIGHT:
    mInAnimation=AnimationUtils.loadAnimation(this,R.anim.push_left_in);
  mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.push_left_out);
break;
case LEFT:
mInAnimation=AnimationUtils.loadAnimation(this,R.anim.push_right_in);
mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.push_right_out);
break;
case FADE:
mInAnimation=AnimationUtils.loadAnimation(this,R.anim.fade_in);
mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.fade_out);
break;
}
if (questionsView != null) {
if (animateLastView) {
questionsView.startAnimation(mOutAnimation);
}
mViewPane.removeView(questionsView);
questionsView.teardownView();
}
mInAnimation.setAnimationListener(this);
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
questionsView=next;
mViewPane.addView(questionsView,lp);
questionsView.startAnimation(mInAnimation);
FrameLayout header=(FrameLayout)findViewById(R.id.form_entry_header);
TextView groupLabel=((TextView)header.findViewById(R.id.form_entry_group_label));
this.mGroupNativeVisibility=false;
FormLayoutHelpers.updateGroupViewVisibility(this,mGroupNativeVisibility,mGroupForcedInvisible);
questionsView.setFocus(this);
SpannableStringBuilder groupLabelText=questionsView.getGroupLabel();
if (groupLabelText != null && !groupLabelText.toString().replace("String_Node_Str","String_Node_Str").trim().equals("String_Node_Str")) {
groupLabel.setText(groupLabelText);
this.mGroupNativeVisibility=true;
FormLayoutHelpers.updateGroupViewVisibility(this,mGroupNativeVisibility,mGroupForcedInvisible);
}
}

Fixed version (ground truth):
private void showView(QuestionsView next,AnimationType from,boolean animateLastView){
switch (from) {
case RIGHT:
    mInAnimation=AnimationUtils.loadAnimation(this,R.anim.push_left_in);
  mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.push_left_out);
break;
case LEFT:
mInAnimation=AnimationUtils.loadAnimation(this,R.anim.push_right_in);
mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.push_right_out);
break;
case FADE:
mInAnimation=AnimationUtils.loadAnimation(this,R.anim.fade_in);
mOutAnimation=AnimationUtils.loadAnimation(this,R.anim.fade_out);
break;
}
if (questionsView != null) {
if (animateLastView) {
questionsView.startAnimation(mOutAnimation);
}
mViewPane.removeView(questionsView);
questionsView.teardownView();
}
mInAnimation.setAnimationListener(this);
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
questionsView=next;
mViewPane.addView(questionsView,lp);
questionsView.startAnimation(mInAnimation);
FrameLayout header=(FrameLayout)findViewById(R.id.form_entry_header);
TextView groupLabel=((TextView)header.findViewById(R.id.form_entry_group_label));
this.mGroupNativeVisibility=false;
FormLayoutHelpers.updateGroupViewVisibility(this,mGroupNativeVisibility,mGroupForcedInvisible);
questionsView.setFocus(this);
SpannableStringBuilder groupLabelText=questionsView.getGroupLabel();
if (groupLabelText != null && !groupLabelText.toString().trim().equals("String_Node_Str")) {
groupLabel.setText(groupLabelText);
this.mGroupNativeVisibility=true;
FormLayoutHelpers.updateGroupViewVisibility(this,mGroupNativeVisibility,mGroupForcedInvisible);
}
}