gt: 		if (mDrawerListView != null) {
context: package com.stealth.drawer;
  
  import java.util.ArrayList;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.content.SharedPreferences;
  import android.content.res.Configuration;
  import android.os.Bundle;
  import android.preference.PreferenceManager;
  import android.support.v4.app.ActionBarDrawerToggle;
  import android.support.v4.app.Fragment;
  import android.support.v4.view.GravityCompat;
  import android.support.v4.widget.DrawerLayout;
  import android.support.v7.app.ActionBar;
  import android.support.v7.app.ActionBarActivity;
  import android.view.LayoutInflater;
  import android.view.Menu;
  import android.view.MenuInflater;
  import android.view.MenuItem;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.AdapterView;
  import android.widget.LinearLayout;
  import android.widget.ListView;
  import android.widget.TextView;
  import com.stealth.android.R;
  import com.stealth.android.StealthSettingActivity;
  import com.stealth.font.FontManager;
  import com.stealth.utils.Utils;
  
  /**
   * Fragment used for managing interactions for and presentation of a navigation drawer. See the <a
   * href="https://developer.android.com/design/patterns/navigation-drawer.html#Interaction"> design guidelines</a> for a
   * complete explanation of the behaviors implemented here.
   */
  public class NavigationDrawerFragment extends Fragment {
  
  	public static final int POSITION_HOME = 0;
  	public static final int POSITION_MORPH = 1;
  	public static final int POSITION_LAUNCH = 2;
  	public static final int POSITION_GENERAL = 3;
  	public static final int POSITION_PIN = 4;
  
  	/**
  	 * Remember the position of the selected item.
  	 */
  	private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position";
  
  	/**
  	 * Per the design guidelines, you should show the drawer on launch until the user manually expands it. This shared
  	 * preference tracks this.
  	 */
  	private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned";
  
  	/**
  	 * A pointer to the current callbacks instance (the Activity).
  	 */
  	private NavigationDrawerCallbacks mCallbacks;
  
  	/**
  	 * Helper component that ties the action bar to the navigation drawer.
  	 */
  	private ActionBarDrawerToggle mDrawerToggle;
  
  	private DrawerLayout mDrawerLayout;
  	private NavigationDrawerAdapter mAdapter;
  	private ListView mDrawerListView;
  	private View mFragmentContainerView;
  
  	private int mCurrentSelectedPosition = 0;
  	private boolean mFromSavedInstanceState;
  	private boolean mUserLearnedDrawer;
  
  	public NavigationDrawerFragment() {
  	}
  
  	@Override
  	public void onCreate(Bundle savedInstanceState) {
  		super.onCreate(savedInstanceState);
  
  		// Read in the flag indicating whether or not the user has demonstrated awareness of the
  		// drawer. See PREF_USER_LEARNED_DRAWER for details.
  		SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
  		mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);
  
  		if (savedInstanceState != null) {
  			mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION);
  			mFromSavedInstanceState = true;
  		}
  
  		// Select either the default item (0) or the last selected item.
  		selectItem(mCurrentSelectedPosition);
  	}
  
  	@Override
  	public void onActivityCreated(Bundle savedInstanceState) {
  		super.onActivityCreated(savedInstanceState);
  		// Indicate that this fragment would like to influence the set of actions in the action bar.
  		setHasOptionsMenu(true);
  	}
  
  	@Override
  	public View onCreateView(LayoutInflater inflater, ViewGroup container,
  			Bundle savedInstanceState) {
  		LinearLayout root = (LinearLayout) inflater.inflate(
  				R.layout.fragment_navigation_drawer, container, false);
  
  		TextView tv = (TextView) root.findViewById(R.id.drawer_version);
  		tv.setText(Utils.str(R.string.drawer_version) + " " + Utils.getVersionName());
  
  		mDrawerListView = (ListView) root.findViewById(R.id.drawer_list);
  		mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  			@Override
  			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  				selectItem(position);
  			}
  		});
  
  		ArrayList<NavigationDrawerItem> items = new ArrayList<NavigationDrawerItem>();
  		items.add(POSITION_HOME,
  				new NavigationDrawerItem(R.string.drawer_home, R.drawable.ic_drawer_home, R.color.drawer_home));
  		items.add(POSITION_MORPH,
  				new NavigationDrawerItem(R.string.drawer_morph, R.drawable.ic_drawer_morph, R.color.drawer_morph));
  		items.add(POSITION_LAUNCH,
  				new NavigationDrawerItem(R.string.drawer_launch, R.drawable.ic_drawer_launch, R.color.drawer_launch));
  		items.add(POSITION_GENERAL,
  				new NavigationDrawerItem(R.string.drawer_general, R.drawable.ic_drawer_general,
  						R.color.drawer_general));
  		items.add(POSITION_PIN,
  				new NavigationDrawerItem(R.string.drawer_pin, R.drawable.ic_drawer_pin, R.color.drawer_pin));
  
  		mAdapter = new NavigationDrawerAdapter(root.getContext(), items);
  		mDrawerListView.setAdapter(mAdapter);
  		mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
  
  		FontManager.handleFontTags(root);
  
  		return root;
  	}
  
  	public boolean isDrawerOpen() {
  		return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView);
  	}
  
  	/**
  	 * Closes the navigation drawer
  	 */
  	public void closeDrawer() {
  		mDrawerLayout.closeDrawers();
  	}
  
  	/**
  	 * Users of this fragment must call this method to set up the navigation drawer interactions.
  	 *
  	 * @param fragmentId   The android:id of this fragment in its activity's layout.
  	 * @param drawerLayout The DrawerLayout containing this fragment's UI.
  	 */
  	public void setUp(int fragmentId, DrawerLayout drawerLayout) {
  		mFragmentContainerView = getActivity().findViewById(fragmentId);
  		mDrawerLayout = drawerLayout;
  
  		// set a custom shadow that overlays the main content when the drawer opens
  		mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
  		// set up the drawer's list view with items and click listener
  
  		ActionBar actionBar = getActionBar();
  		actionBar.setDisplayHomeAsUpEnabled(true);
  		actionBar.setHomeButtonEnabled(true);
  
  		// ActionBarDrawerToggle ties together the the proper interactions
  		// between the navigation drawer and the action bar app icon.
  		mDrawerToggle = new ActionBarDrawerToggle(
  				getActivity(),                    /* host Activity */
  				mDrawerLayout,                    /* DrawerLayout object */
  				R.drawable.ic_drawer,             /* nav drawer image to replace 'Up' caret */
  				R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
  				R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
  		) {
  			@Override
  			public void onDrawerClosed(View drawerView) {
  				super.onDrawerClosed(drawerView);
  				if (!isAdded()) {
  					return;
  				}
  
  				getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu()
  			}
  
  			@Override
  			public void onDrawerOpened(View drawerView) {
  				super.onDrawerOpened(drawerView);
  				if (!isAdded()) {
  					return;
  				}
  
  				if (!mUserLearnedDrawer) {
  					// The user manually opened the drawer; store this flag to prevent auto-showing
  					// the navigation drawer automatically in the future.
  					mUserLearnedDrawer = true;
  					SharedPreferences sp = PreferenceManager
  							.getDefaultSharedPreferences(getActivity());
  					sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply();
  				}
  
  				getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu()
  			}
  		};
  
  		// If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer,
  		// per the navigation drawer design guidelines.
  		if (!mUserLearnedDrawer && !mFromSavedInstanceState) {
  			mDrawerLayout.openDrawer(mFragmentContainerView);
  		}
  
  		// Defer code dependent on restoration of previous instance state.
  		mDrawerLayout.post(new Runnable() {
  			@Override
  			public void run() {
  				mDrawerToggle.syncState();
  			}
  		});
  
  		mDrawerLayout.setDrawerListener(mDrawerToggle);
  	}
  
  	private void selectItem(int position) {
  		mCurrentSelectedPosition = position;
  