Program: 31510
Project: 31510
Buggy source:
@Override protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my);
  final LinearLayout menuItemsLayout=(LinearLayout)findViewById(R.id.menu_items);
  container=(FrameLayout)findViewById(R.id.container);
  menu=(Button)findViewById(R.id.ic_main_menu);
  final RotateAnimation openRotateAnimation=setOpenMenuAnimation();
  final RotateAnimation closeRotateAnimation=setCloseMenuAnimation();
  final ObjectAnimator menuItemsShowAnimation=getMenuItemsShowAnimation(menuItemsLayout);
  final ObjectAnimator menuItemsHideAnimation=getMenuItemsHideAnimation(menuItemsLayout);
  if (savedInstanceState != null) {
    menuRotated=savedInstanceState.getBoolean(IS_MENU_OPENED);
    menu.startAnimation(openRotateAnimation);
    menuItemsLayout.setVisibility(View.VISIBLE);
  }
  menuItemsShowAnimation.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animator){
    }
    @Override public void onAnimationEnd(    Animator animator){
      menu.setClickable(true);
    }
    @Override public void onAnimationCancel(    Animator animator){
    }
    @Override public void onAnimationRepeat(    Animator animator){
    }
  }
);
  menuItemsHideAnimation.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animator){
    }
    @Override public void onAnimationEnd(    Animator animator){
      menuItemsLayout.setVisibility(View.GONE);
      menu.setClickable(true);
    }
    @Override public void onAnimationCancel(    Animator animator){
    }
    @Override public void onAnimationRepeat(    Animator animator){
    }
  }
);
  menu.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      view.setClickable(false);
      if (!menuRotated) {
        menuItemsLayout.setVisibility(View.VISIBLE);
        menuItemsShowAnimation.start();
        view.startAnimation(openRotateAnimation);
        menuRotated=true;
      }
 else {
        menuItemsHideAnimation.start();
        view.startAnimation(closeRotateAnimation);
        menuRotated=false;
      }
    }
  }
);
}

Fixed version (ground truth):
@Override protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my);
  final LinearLayout menuItemsLayout=(LinearLayout)findViewById(R.id.menu_items);
  container=(FrameLayout)findViewById(R.id.container);
  menu=(Button)findViewById(R.id.ic_main_menu);
  final RotateAnimation openRotateAnimation=setOpenMenuAnimation();
  final RotateAnimation closeRotateAnimation=setCloseMenuAnimation();
  final ObjectAnimator menuItemsShowAnimation=getMenuItemsShowAnimation(menuItemsLayout);
  final ObjectAnimator menuItemsHideAnimation=getMenuItemsHideAnimation(menuItemsLayout);
  if (savedInstanceState != null) {
    menuRotated=savedInstanceState.getBoolean(IS_MENU_OPENED);
    if (menuRotated) {
      menu.startAnimation(openRotateAnimation);
      menuItemsLayout.setVisibility(View.VISIBLE);
    }
  }
  menuItemsShowAnimation.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animator){
    }
    @Override public void onAnimationEnd(    Animator animator){
      menu.setClickable(true);
    }
    @Override public void onAnimationCancel(    Animator animator){
    }
    @Override public void onAnimationRepeat(    Animator animator){
    }
  }
);
  menuItemsHideAnimation.addListener(new Animator.AnimatorListener(){
    @Override public void onAnimationStart(    Animator animator){
    }
    @Override public void onAnimationEnd(    Animator animator){
      menuItemsLayout.setVisibility(View.GONE);
      menu.setClickable(true);
    }
    @Override public void onAnimationCancel(    Animator animator){
    }
    @Override public void onAnimationRepeat(    Animator animator){
    }
  }
);
  menu.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      view.setClickable(false);
      if (!menuRotated) {
        menuItemsLayout.setVisibility(View.VISIBLE);
        menuItemsShowAnimation.start();
        view.startAnimation(openRotateAnimation);
        menuRotated=true;
      }
 else {
        menuItemsHideAnimation.start();
        view.startAnimation(closeRotateAnimation);
        menuRotated=false;
      }
    }
  }
);
}