diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 320e527030e..b36364d6f8c 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -143,9 +143,11 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { }); } - // TODO Add support for android.R.id.home in all Setting's onOptionsItemSelected - // getActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, - // ActionBar.DISPLAY_HOME_AS_UP); + // Override up navigation for multi-pane, since we handle it in the fragment breadcrumbs + if (onIsMultiPane()) { + getActionBar().setDisplayHomeAsUpEnabled(false); + getActionBar().setHomeButtonEnabled(false); + } } @Override @@ -602,6 +604,10 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { return true; } + public boolean shouldUpRecreateTask(Intent targetIntent) { + return super.shouldUpRecreateTask(new Intent(this, Settings.class)); + } + @Override public void setListAdapter(ListAdapter adapter) { if (mHeaders == null) { diff --git a/src/com/android/settings/SubSettings.java b/src/com/android/settings/SubSettings.java index 9cd3c31e18b..eb275ad6e83 100644 --- a/src/com/android/settings/SubSettings.java +++ b/src/com/android/settings/SubSettings.java @@ -21,4 +21,10 @@ package com.android.settings; * since for our app it is a special singleTask class. */ public class SubSettings extends Settings { + + @Override + public boolean onNavigateUp() { + finish(); + return true; + } }