 {
    toolbarNavigationIcon.setIndicator(
                           CustomDrawerArrowDrawable.HOME_AS_UP_INDICATOR);
    mDrawerToggle.setToolbarNavigationClickListener(view -> finish());
} else {
    mToolbarNavigationIcon.setIndicator(
                           CustomDrawerArrowDrawable.DRAWER_INDICATOR);
    mDrawerToggle.setToolbarNavigationClickListener(view -> toggleDrawer());
}

mDrawerToggle.setHomeAsUpIndicator(toolbarNavigationIcon);


A: This is my function for controlling the ActionBarDrawableToggle located in the NavigationDrawerFragment, which I call in the onActivityCreated callback of every fragment. post functions are necessary. The hamburger icon changes into the back arrow and the back arrow is clickable. Orientation changes are properly handled by the handlers.
...

import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;

...

public class NavigationDrawerFragment extends Fragment
{
    private ActionBarDrawerToggle mDrawerToggle;

   ...

    public void syncDrawerState()
    {
       new Handler().post(new Runnable()
        {
            @Override
            public void run()
            {
                final ActionBar actionBar = activity.getSupportActionBar();
                if (activity.getSupportFragmentManager().getBackStackEntryCount() > 1 && (actionBar.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP)!= ActionBar.DISPLAY_HOME_AS_UP)
                {
                    new Handler().post(new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            mDrawerToggle.setDrawerIndicatorEnabled(false);
                            actionBar.setDisplayHomeAsUpEnabled(true);
                            mDrawerToggle.setToolbarNavigationClickListener(onToolbarNavigationClickListener());
                        }
                    });
                } else if (activity.getSupportFragmentManager().getBackStackEntryCount() <= 1 && (actionBar.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) == ActionBar.DISPLAY_HOME_AS_UP)
                {
                    actionBar.setHomeButtonEnabled(false);
                    actionBar.setDisplayHomeAsUpEnabled(false);
                    mDrawerToggle.setDrawerIndicatorEnabled(true);
                    mDrawerToggle.syncState();
                }
            }
        });      
    }
}

This is just my onActivityCreated method in my base fragment.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState)
{
    super.onActivityCreated(savedInstanceState);
    navigationDrawerFragment.syncDrawerState();
}


A: Now there is dedicated method to disable the animation: toggle.setDrawerSlideAnimationEnabled(false)
Here's a snippet I use:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    [...]

    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    toggle.setDrawerSlideAnimationEnabled(false);
    drawer.addDrawerListener(toggle);
    toggle.syncState();
}


A: 
In my opinion this animation is pointless

Well, ActionBarDrawerToggle is meant to be animated. 
From the docs:

You can customize the the animated toggle by defining the
  drawerArrowStyle in your ActionBar theme.


Any clues how this should be properly implemented to use just
  setDisplayHomeAsUpEnabled to switch between hamburger and back arrow
  icons?

The ActionBarDrawerToggle is just a fancy way of calling ActionBar.setHomeAsUpIndicator. So, either way you're going to have to call ActionBar.setDisplayHomeAsUpEnabled to true in order to display it.
If you're convinced that you have to use it, then I'd suggest just calling ActionBarDrawerToggle.onDrawerOpened(View drawerView) and ActionBarDrawerToggle.onDrawerClosed(View drawerView) respectively. 
This will set the DrawerIndicator position to 1 or 0, switching between the arrow and the hamburger states of the DrawerArrowDrawable. 
And in your case, there's no need to even attach an ActionBarDrawerToggle as a DrawerLayout.DrawerListener. As in:
mYourDrawer.setDrawerListener(mYourDrawerToggle);

But a much more forward approach would be to call ActionBar.setHomeAsUpIndicator once and apply your own hamburger icon, you could also do this via a style. Then when you want to display the back arrow, just call ActionBar.setDisplayHomeAsUpEnabled and let AppCompat or the framework handle the rest. From the comments you've made, I'm pretty sure this is what you're looking for.
If you're unsure which icon to use, the default DrawerArrowDrawable size is 24dp, which means you'd want to grab the ic_menu_white_24dp or ic_menu_black_24dp from the navigation icon set in Google's official Material design icon pack. 
You could also copy the DrawerArrowDrawable into your project and let then toggle the arrow or hamburger states as you need them. It's self contained, minus a few resources. 

A: Disabling the supper call in onDrawerSlide() method will stop the animation between Arrow and Burger. You will only see the switching (without animation) when drawer is fully open or fully closed.
mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.open, R.string.closed) {
            @Override
            public void onDrawerSlide(View drawerView, float slideOffset) {
                  //super.onDrawerSlide(drawerView, slideOffset);
            }
        };
mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);


A: If you don't want the animation, don't use ActionBarDrawerToggle. Use the code below instead.
toolbar.setNavigationIcon(R.drawable.ic_menu);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    drawer.openDrawer(GravityCompat.START);
                }
            });


A: To remove the hamberger menu animation, you can do like:
 ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, mDrawer,  mToolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);

 toggle.setDrawerSlideAnimationEnabled(false); 

1010+ Diskless System Disk Station 5-bay All-in-1 NAS Server for Business
Pros: Fast, quiet.
I use Seagate 1.5TB (ST3150054AS) drives at 5900rpm and get very good (50+ MB/sec or so) transfers when directly connected (via 1Gb ethernet) to my ESX box (using a vmdk on an iSCSI share - many layers involved there).
Cons: The drive trays do feel a little flimsy - time will tell.
Other Thoughts: I've not tried many of the features - I am using it for Time Machine backups via AFP and to host a few iSCSI targets.
I did upgrade the RAM, just because I had a space DDR2 SODIMM, the machine didn't seem too stressed otherwise.A new technology that is under investigation by the VRP is a Thermal Conversion Process (TCP) that was developed by Changing World Technologies (CWT). This process can convert hydrocarbons and organic materials into marketable high-quality, clean fuels and specialty chemicals for industrial and commercial use. The end products (recovered) are partly a function of feedstocks and partly a function of the specific combination of temperature, pressure and residence time utilized. CWT processed a small amount of shredder residue that was supplied by Troy Polymers, Inc. (TPI). This shredder residue contained PU foam as well as polybrominated foam. CWT performed the depolymerization process as well as a number of specific tests on the output products and the results are presented in this paper.
Winslow, G., Appel, B., Adams, T., Simon, N. et al., "Recycling Shredder Residue Containing Plastics and Foam Using a Thermal Conversion Process," SAE Technical Paper 2005-01-0848, 2005, https://doi.org/10.4271/2005-01-0848.
If you do not have access to SAE MOBILUS via username/password or institutional access, you can still purchase the Technical Paper, Recycling Shredder Resid