diff --git a/packages/SettingsLib/res/values/config.xml b/packages/SettingsLib/res/values/config.xml
index 64f21b50c0bc6..ee69b56ef472a 100755
--- a/packages/SettingsLib/res/values/config.xml
+++ b/packages/SettingsLib/res/values/config.xml
@@ -26,6 +26,9 @@
false
+
+ false
+
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
index 86514dc5a5cf2..5041e0dccc26d 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.pm.PackageManager;
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 @@ public class SettingsDrawerActivity extends Activity {
private FrameLayout mContentHeaderContainer;
private DrawerLayout mDrawerLayout;
private boolean mShowingMenu;
- private UserManager mUserManager;
// Remove below after new IA
@Deprecated
@@ -108,6 +106,9 @@ public class SettingsDrawerActivity extends Activity {
mDrawerLayout = null;
return;
}
+ if (!isNavDrawerEnabled()) {
+ setIsDrawerPresent(false);
+ }
if (!isDashboardFeatureEnabled()) {
getDashboardCategories();
}
@@ -122,7 +123,6 @@ public class SettingsDrawerActivity extends Activity {
}
});
- mUserManager = UserManager.get(this);
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
@@ -137,6 +137,15 @@ public class SettingsDrawerActivity extends Activity {
return super.onOptionsItemSelected(item);
}
+ @Override
+ public boolean onNavigateUp() {
+ if (!isNavDrawerEnabled()) {
+ finish();
+ return true;
+ }
+ return super.onNavigateUp();
+ }
+
@Override
protected void onResume() {
super.onResume();
@@ -277,10 +286,13 @@ public class SettingsDrawerActivity extends Activity {
}
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 getDashboardCategories() {
@@ -429,6 +441,11 @@ public class SettingsDrawerActivity extends Activity {
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) {
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/drawer/SettingsDrawerActivityTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/drawer/SettingsDrawerActivityTest.java
index 1e87ea0f18ef3..2fd5ec08656b8 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/drawer/SettingsDrawerActivityTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/drawer/SettingsDrawerActivityTest.java
@@ -52,34 +52,34 @@ public class SettingsDrawerActivityTest {
}
@Test
- public void startActivityWithNoExtra_showNoHamburgerMenu() {
+ public void startActivityWithNoExtra_showNoNavUp() {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
instrumentation.startActivitySync(new Intent(instrumentation.getTargetContext(),
TestActivity.class));
- onView(withContentDescription(R.string.content_description_menu_button))
+ onView(withContentDescription(com.android.internal.R.string.action_bar_up_description))
.check(doesNotExist());
}
@Test
- public void startActivityWithExtraToHideMenu_showNoHamburgerMenu() {
+ public void startActivityWithExtraToHideMenu_showNavUp() {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
Intent intent = new Intent(instrumentation.getTargetContext(), TestActivity.class)
.putExtra(TestActivity.EXTRA_SHOW_MENU, false);
instrumentation.startActivitySync(intent);
- onView(withContentDescription(R.string.content_description_menu_button))
+ onView(withContentDescription(com.android.internal.R.string.action_bar_up_description))
.check(doesNotExist());
}
@Test
- public void startActivityWithExtraToShowMenu_showHamburgerMenu() {
+ public void startActivityWithExtraToShowMenu_showNavUp() {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
Intent intent = new Intent(instrumentation.getTargetContext(), TestActivity.class)
.putExtra(TestActivity.EXTRA_SHOW_MENU, true);
instrumentation.startActivitySync(intent);
- onView(withContentDescription(R.string.content_description_menu_button))
+ onView(withContentDescription(com.android.internal.R.string.action_bar_up_description))
.check(matches(isDisplayed()));
}