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
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 320e527..b36364d 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -143,9 +143,11 @@
});
}
- // 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 @@
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 9cd3c31..eb275ad 100644
--- a/src/com/android/settings/SubSettings.java
+++ b/src/com/android/settings/SubSettings.java
@@ -21,4 +21,10 @@
* since for our app it is a special singleTask class.
*/
public class SubSettings extends Settings {
+
+ @Override
+ public boolean onNavigateUp() {
+ finish();
+ return true;
+ }
}