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) {