Disable nav drawer in Settings app.

Bug: 34054123
Test: runtest --path frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/drawer/SettingsDrawerActivityTest.java
Change-Id: Ia6ae42315c3d1798803b9554aa8400aafa2f31fa
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
index 86514dc..5041e0d 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
@@ -28,7 +28,6 @@
 import android.content.res.TypedArray;
 import android.os.AsyncTask;
 import android.os.Bundle;
-import android.os.UserManager;
 import android.provider.Settings;
 import android.support.v4.widget.DrawerLayout;
 import android.util.ArraySet;
@@ -72,7 +71,6 @@
     private FrameLayout mContentHeaderContainer;
     private DrawerLayout mDrawerLayout;
     private boolean mShowingMenu;
-    private UserManager mUserManager;
 
     // Remove below after new IA
     @Deprecated
@@ -108,6 +106,9 @@
             mDrawerLayout = null;
             return;
         }
+        if (!isNavDrawerEnabled()) {
+            setIsDrawerPresent(false);
+        }
         if (!isDashboardFeatureEnabled()) {
             getDashboardCategories();
         }
@@ -122,7 +123,6 @@
             }
         });
 
-        mUserManager = UserManager.get(this);
         if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
                 + " ms");
     }
@@ -138,6 +138,15 @@
     }
 
     @Override
+    public boolean onNavigateUp() {
+        if (!isNavDrawerEnabled()) {
+            finish();
+            return true;
+        }
+        return super.onNavigateUp();
+    }
+
+    @Override
     protected void onResume() {
         super.onResume();
 
@@ -277,10 +286,13 @@
     }
 
     public void showMenuIcon() {
-        mShowingMenu = true;
-        getActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);
-        getActionBar().setHomeActionContentDescription(R.string.content_description_menu_button);
         getActionBar().setDisplayHomeAsUpEnabled(true);
+        if (isNavDrawerEnabled()) {
+            mShowingMenu = true;
+            getActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);
+            getActionBar().setHomeActionContentDescription(
+                    R.string.content_description_menu_button);
+        }
     }
 
     public List<DashboardCategory> getDashboardCategories() {
@@ -429,6 +441,11 @@
         return false;
     }
 
+    boolean isNavDrawerEnabled() {
+        return !isDashboardFeatureEnabled()
+                || getResources().getBoolean(R.bool.config_enable_nav_drawer);
+    }
+
     private class PackageReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {