summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Filip Pavlis <pavlis@google.com> 2017-03-07 19:09:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-03-07 19:09:50 +0000
commite88fbbac1245f5d9c0082b689fc8ee95bc291a2c (patch)
tree6fa389954234c03d006e4715730d77ad93734b59
parent9108ae1a16d1c9b0ad75292903b9cab26ab47633 (diff)
parent6af15ebcfec64d0cc6879a0af9cfffd3e084ee73 (diff)
Merge "Fix home/back buttons flow in PreferenceActivity."
-rw-r--r--core/java/android/preference/PreferenceActivity.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index c0c5db6ed709..02fa7edb2aae 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -40,6 +40,7 @@ import android.util.AttributeSet;
import android.util.TypedValue;
import android.util.Xml;
import android.view.LayoutInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -75,12 +76,11 @@ import java.util.List;
* however vary; currently there are two major approaches it may take:
*
* <ul>
- * <li>On a small screen it may display only the headers as a single list
- * when first launched. Selecting one of the header items will re-launch
- * the activity with it only showing the PreferenceFragment of that header.
- * <li>On a large screen in may display both the headers and current
- * PreferenceFragment together as panes. Selecting a header item switches
- * to showing the correct PreferenceFragment for that item.
+ * <li>On a small screen it may display only the headers as a single list when first launched.
+ * Selecting one of the header items will only show the PreferenceFragment of that header (on
+ * Android N and lower a new Activity is launched).
+ * <li>On a large screen in may display both the headers and current PreferenceFragment together as
+ * panes. Selecting a header item switches to showing the correct PreferenceFragment for that item.
* </ul>
*
* <p>Subclasses of PreferenceActivity should implement
@@ -540,6 +540,16 @@ public abstract class PreferenceActivity extends ListActivity implements
}
@Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() == android.R.id.home) {
+ // Override home navigation button to call onBackPressed (b/35152749).
+ onBackPressed();
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);