Program: 26268
Project: 26268
Buggy source:
private void initNavigationDrawer(){
  mDrawerAdapter=new DrawerAdapter(this);
  mDrawerContent.setAdapter(mDrawerAdapter);
  mDrawerContent.setOnItemClickListener(new AdapterView.OnItemClickListener(){
    @Override public void onItemClick(    AdapterView<?> adapterView,    View view,    int i,    long l){
      DrawerAdapter.DrawerItem item=(DrawerAdapter.DrawerItem)mDrawerAdapter.getItem(i);
switch (item.getId()) {
case Const.DRAWER_ACHIEVEMENTS:
        if (mPreferences.getBoolean(Const.SETTINGS_SIGNED_IN,false) && getGoogleApiClient().isConnected()) {
          startActivityForResult(Games.Achievements.getAchievementsIntent(getGoogleApiClient()),0);
        }
 else {
          Crouton.makeText(GdgNavDrawerActivity.this,getString(R.string.achievements_need_signin),Style.INFO).show();
        }
      break;
case Const.DRAWER_HOME:
    navigateTo(MainActivity.class,null);
  break;
case Const.DRAWER_GDE:
navigateTo(GdeActivity.class,null);
break;
case Const.DRAWER_SPECIAL:
Bundle special=new Bundle();
special.putInt(Const.SPECIAL_EVENT_LOGO_EXTRA,R.drawable.ic_logo_devfest);
special.putString(Const.SPECIAL_EVENT_VIEWTAG_EXTRA,"String_Node_Str");
special.putString(Const.SPECIAL_EVENT_CACHEKEY_EXTRA,"String_Node_Str");
special.putLong(Const.SPECIAL_EVENT_START_EXTRA,DateTime.now().getMillis());
special.putLong(Const.SPECIAL_EVENT_END_EXTRA,1419984000000L);
special.putInt(Const.SPECIAL_EVENT_DESCRIPTION_EXTRA,R.string.devfest_description);
navigateTo(SpecialEventActivity.class,special);
break;
case Const.DRAWER_PULSE:
navigateTo(PulseActivity.class,null);
break;
case Const.DRAWER_ARROW:
navigateTo(ArrowActivity.class,null);
break;
}
}
}
);
mDrawerToggle=new ActionBarDrawerToggle(this,mDrawerLayout,R.string.drawer_open,R.string.drawer_close){
/** 
 * Called when a drawer has settled in a completely closed state.
 */
public void onDrawerClosed(View view){
if (mPreferences.getBoolean(Const.SETTINGS_OPEN_DRAWER_ON_START,Const.SETTINGS_OPEN_DRAWER_ON_START_DEFAULT)) {
mPreferences.edit().putBoolean(Const.SETTINGS_OPEN_DRAWER_ON_START,!Const.SETTINGS_OPEN_DRAWER_ON_START_DEFAULT).apply();
}
}
/** 
 * Called when a drawer has settled in a completely open state.
 */
public void onDrawerOpened(View drawerView){
}
}
;
mDrawerLayout.setDrawerListener(mDrawerToggle);
}

Fixed version (ground truth):
private void initNavigationDrawer(){
  mDrawerAdapter=new DrawerAdapter(this);
  mDrawerContent.setAdapter(mDrawerAdapter);
  mDrawerContent.setOnItemClickListener(new AdapterView.OnItemClickListener(){
    @Override public void onItemClick(    AdapterView<?> adapterView,    View view,    int i,    long l){
      DrawerAdapter.DrawerItem item=(DrawerAdapter.DrawerItem)mDrawerAdapter.getItem(i);
switch (item.getId()) {
case Const.DRAWER_ACHIEVEMENTS:
        if (mPreferences.getBoolean(Const.SETTINGS_SIGNED_IN,false) && getGoogleApiClient().isConnected()) {
          startActivityForResult(Games.Achievements.getAchievementsIntent(getGoogleApiClient()),0);
        }
 else {
          Crouton.makeText(GdgNavDrawerActivity.this,getString(R.string.achievements_need_signin),Style.INFO).show();
        }
      break;
case Const.DRAWER_HOME:
    navigateTo(MainActivity.class,null);
  break;
case Const.DRAWER_GDE:
navigateTo(GdeActivity.class,null);
break;
case Const.DRAWER_SPECIAL:
Bundle special=new Bundle();
special.putInt(Const.SPECIAL_EVENT_LOGO_EXTRA,R.drawable.ic_logo_devfest);
special.putString(Const.SPECIAL_EVENT_VIEWTAG_EXTRA,"String_Node_Str");
special.putString(Const.SPECIAL_EVENT_CACHEKEY_EXTRA,"String_Node_Str");
special.putLong(Const.SPECIAL_EVENT_START_EXTRA,DateTime.now().getMillis());
special.putLong(Const.SPECIAL_EVENT_END_EXTRA,1419984000000L);
special.putInt(Const.SPECIAL_EVENT_DESCRIPTION_EXTRA,R.string.devfest_description);
navigateTo(SpecialEventActivity.class,special);
break;
case Const.DRAWER_PULSE:
navigateTo(PulseActivity.class,null);
break;
case Const.DRAWER_ARROW:
if (mPreferences.getBoolean(Const.SETTINGS_SIGNED_IN,false) && getGoogleApiClient().isConnected()) {
navigateTo(ArrowActivity.class,null);
}
 else {
Crouton.makeText(GdgNavDrawerActivity.this,getString(R.string.arrow_need_games),Style.INFO).show();
}
break;
}
}
}
);
mDrawerToggle=new ActionBarDrawerToggle(this,mDrawerLayout,R.string.drawer_open,R.string.drawer_close){
/** 
 * Called when a drawer has settled in a completely closed state.
 */
public void onDrawerClosed(View view){
if (mPreferences.getBoolean(Const.SETTINGS_OPEN_DRAWER_ON_START,Const.SETTINGS_OPEN_DRAWER_ON_START_DEFAULT)) {
mPreferences.edit().putBoolean(Const.SETTINGS_OPEN_DRAWER_ON_START,!Const.SETTINGS_OPEN_DRAWER_ON_START_DEFAULT).apply();
}
}
/** 
 * Called when a drawer has settled in a completely open state.
 */
public void onDrawerOpened(View drawerView){
}
}
;
mDrawerLayout.setDrawerListener(mDrawerToggle);
}