diff options
author | 2012-05-11 15:22:04 -0700 | |
---|---|---|
committer | 2012-05-14 11:57:10 -0700 | |
commit | 3d384f4ca29d031f7ac3c7f0cc0a2f448a277097 (patch) | |
tree | 6e05a260c8c2c16d47050959633b9854adf7e405 | |
parent | e5050b1be72c5552bfc9c734d5a0e89f215bed62 (diff) |
Fix up-navigation for different levels of Settings screens.
No up affordance for 2-pane screens since there's already
a fragment breadcrumb for navigating up.
Bug: 6452961
Change-Id: Iad9a5c2d0b68cc8f2aec7d5ed8e2ab14d023d48c
-rw-r--r-- | src/com/android/settings/Settings.java | 12 | ||||
-rw-r--r-- | src/com/android/settings/SubSettings.java | 6 |
2 files changed, 15 insertions, 3 deletions
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; + } } |