// Met à jour la valeur de NavDrawerItemClass dans la drawerList à la position 2 et notifie
 // l'adapter pour qu'il se reset
 public static void updateCount() {
   if (notificationList.size() > 0) {
     drawerList.get(2).setNavDrawer_count(notificationList.size());
     myadapter = new DrawerCustomlistAdapter(mContext, drawerList);
     myadapter.notifyDataSetChanged();
     mDrawerList.setAdapter(myadapter);
   }
 }
  public void displayfragment(int pos) {
    switch (pos) {
      case 0:
        frag = new FragmentHome();
        break;
      case 1:
        frag = new FragmentHome();
        if (getFragmentManager().getBackStackEntryCount() > 0) {
          getFragmentManager().popBackStack();
        }
        break;
      case 2:
        frag = new FragmentSetting();
        break;
      case 3:
        frag = new FragmentNotification();
        drawerList.get(2).setNavDrawer_count(0);
        myadapter = new DrawerCustomlistAdapter(mContext, drawerList);
        myadapter.notifyDataSetChanged();
        mDrawerList.setAdapter(myadapter);
        break;
      case 4:
        frag = new FragmentProfile();
        break;
      case 5:
        exitApp();
      default:
        break;
    }

    // récupération du frag manager
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction ft = fragmentManager.beginTransaction();

    // détection du fragment
    Fragment currentFragment = getFragmentManager().findFragmentById(R.id.content_frame);

    // replace fragment
    if (currentFragment instanceof FragmentHome) {
      Log.v("Fragment", "C'est le frag Home");
      ft.addToBackStack("any");
    } else {

    }

    if (frag != null) {
      ft.replace(R.id.content_frame, frag).commit();

      mDrawerLayout.closeDrawer(slidingmenu); // close Navigation drawer menu menu
    }
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // met l'activity en full screen
    this.getWindow()
        .setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    this.getWindow()
        .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); // cache le keyboard

    setContentView(R.layout.nav_drawer_activity);
    Init();

    handler = new Handler();
    // set le temps de répétition à 2min
    handler.postDelayed(runnable, 120000);

    inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
    dialog = new ProgressDialog(mActivity);
    ViewGroup header =
        (ViewGroup) inflater.inflate(R.layout.nav_drawer_list_header, mDrawerList, false);
    sharedPreferences = mActivity.getSharedPreferences("MyFridge", MODE_PRIVATE);
    String userFname = sharedPreferences.getString("first_name", "");
    String userLname = sharedPreferences.getString("last_name", "");
    String userMail = sharedPreferences.getString("email", "");
    // get l'utilisateur connecté et set le header du menu
    TextView userNameTv = (TextView) header.findViewById(R.id.tv_header_username);
    TextView userDetailTv = (TextView) header.findViewById(R.id.tv_header_userdetail);
    ImageView userImg = (ImageView) header.findViewById(R.id.dpimg);
    if (!sharedPreferences.getString("photo", "").equals("")) {
      Picasso.with(mActivity)
          .load(Constants.mWebURL + sharedPreferences.getString("photo", "") + "")
          .into(userImg);
    }
    userNameTv.setText("" + userFname + " " + userLname + "");
    userDetailTv.setText(userMail);
    // Navigation drawer menu items list
    drawerList = new ArrayList<>();
    // Ajoute NavDrawerItemClass  à la drawerList
    drawerList.add(0, new NavDrawerItemClass(R.drawable.home, "Accueil", 0));
    drawerList.add(1, new NavDrawerItemClass(R.drawable.setting, "Paramètres", 0));
    drawerList.add(2, new NavDrawerItemClass(R.drawable.notification, "Notifications", 0));
    drawerList.add(3, new NavDrawerItemClass(R.drawable.profile, "Profil", 0));
    drawerList.add(4, new NavDrawerItemClass(R.drawable.logout, "Déconnexion", 0));
    mDrawerList.addHeaderView(header, null, false); // ajoute l'en-tête à la liste
    myadapter =
        new DrawerCustomlistAdapter(mContext, drawerList); // passe la drawer list à l'adapter

    myadapter.notifyDataSetChanged();

    mDrawerList.setAdapter(myadapter); // set adapter au menu list

    mDrawerList.setOnItemClickListener(this);
    View actionbarView = inflater.inflate(R.layout.custom_action_bar, null);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setCustomView(actionbarView);
    getSupportActionBar().setHomeAsUpIndicator(R.drawable.menu);
    getSupportActionBar()
        .setDisplayOptions(
            getSupportActionBar().DISPLAY_SHOW_CUSTOM
                | getSupportActionBar().DISPLAY_SHOW_HOME
                | getSupportActionBar().DISPLAY_HOME_AS_UP);

    getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.header));
    drawerlistener = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.menu, 0, 0);
    mDrawerLayout.setDrawerListener(drawerlistener);
    Bundle data = getIntent().getExtras(); // check si l'utilisateur a cliqué sur push notification
    if (data != null) // si l'utilisateur a cliqué sur push notification ouvre le fragment notif
    {
      String frag = data.getString("FRAGMENT");
      if (frag.equals("notification")) {
        Fragment fragment = new FragmentNotification();
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.replace(R.id.content_frame, fragment);
        ft.commit();
      }
    }

    // Si l'utilisateur est venu normalement, ouvre l'accueil
    else {
      frag = new FragmentHome();
      FragmentManager fragmentManager = getFragmentManager();
      android.app.FragmentTransaction ft = fragmentManager.beginTransaction();
      ft.replace(R.id.content_frame, frag).commit();
    }
  }