protected void bindViewHelper(CustomBaseViewHolder viewHolder) {
        Context ctx = viewHolder.itemView.getContext();

        //set the identifier from the drawerItem here. It can be used to run tests
        viewHolder.itemView.setId(hashCode());

        //set the item selected if it is
        viewHolder.itemView.setSelected(isSelected());

        //get the correct color for the background
        int selectedColor = getSelectedColor(ctx);
        //get the correct color for the text
        int color = getColor(ctx);
        int selectedTextColor = getSelectedTextColor(ctx);

        //set the background for the item
        themeDrawerItem(ctx, viewHolder.view, selectedColor, isSelectedBackgroundAnimated());
        //set the text for the name
        StringHolder.applyTo(this.getName(), viewHolder.name);
        //set the text for the description or hide
        StringHolder.applyToOrHide(this.getDescription(), viewHolder.description);

        //set the colors for textViews
        viewHolder.name.setTextColor(getTextColorStateList(color, selectedTextColor));
        //set the description text color
        ColorHolder.applyToOr(getDescriptionTextColor(), viewHolder.description, getTextColorStateList(color, selectedTextColor));

        //define the typeface for our textViews
        if (getTypeface() != null) {
            viewHolder.name.setTypeface(getTypeface());
            viewHolder.description.setTypeface(getTypeface());
        }

        //we make sure we reset the image first before setting the new one in case there is an empty one
        DrawerImageLoader.getInstance().cancelImage(viewHolder.icon);
        viewHolder.icon.setImageBitmap(null);
        //get the drawables for our icon and set it
        ImageHolder.applyTo(icon, viewHolder.icon, "customUrlItem");

        //for android API 17 --> Padding not applied via xml
        DrawerUIUtils.setDrawerVerticalPadding(viewHolder.view);
    }
protected void bindViewHelper ( CustomBaseViewHolder viewHolder ) { Context ctx = viewHolder . itemView . getContext ( ) ; viewHolder . itemView . setId ( hashCode ( ) ) ; viewHolder . itemView . setSelected ( isSelected ( ) ) ; int selectedColor = getSelectedColor ( ctx ) ; int color = getColor ( ctx ) ; int selectedTextColor = getSelectedTextColor ( ctx ) ; themeDrawerItem ( ctx , viewHolder . view , selectedColor , isSelectedBackgroundAnimated ( ) ) ; StringHolder . applyTo ( this . getName ( ) , viewHolder . name ) ; StringHolder . applyToOrHide ( this . getDescription ( ) , viewHolder . description ) ; viewHolder . name . setTextColor ( getTextColorStateList ( color , selectedTextColor ) ) ; ColorHolder . applyToOr ( getDescriptionTextColor ( ) , viewHolder . description , getTextColorStateList ( color , selectedTextColor ) ) ; if ( getTypeface ( ) != null ) { viewHolder . name . setTypeface ( getTypeface ( ) ) ; viewHolder . description . setTypeface ( getTypeface ( ) ) ; } DrawerImageLoader . getInstance ( ) . cancelImage ( viewHolder . icon ) ; viewHolder . icon . setImageBitmap ( null ) ; ImageHolder . applyTo ( icon , viewHolder . icon , "customUrlItem" ) ; DrawerUIUtils . setDrawerVerticalPadding ( viewHolder . view ) ; }
a helper method to have the logic for all secondaryDrawerItems only once

@param viewHolder