From 02bc31e7b351281e7ca905dbf7ad72ec4119e2e0 Mon Sep 17 00:00:00 2001 From: Brian Attwell Date: Mon, 16 Jun 2014 17:06:13 -0700 Subject: [PATCH] setSelectedHeader() when switching to fragment Without this change, passing a EXTRA_SHOW_FRAGMENT value for a two panel preferences activity will cause the correct fragment to be shown. However, it will not cause the correct header to be highlighted. Bug: 15675746 Bug: 5045558 Change-Id: I18d8e15dd104e8f39ae1ccbb11ab17fd1bf7462e --- core/java/android/preference/PreferenceActivity.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java index 04180491f137b..23b1e2c00022c 100644 --- a/core/java/android/preference/PreferenceActivity.java +++ b/core/java/android/preference/PreferenceActivity.java @@ -1194,7 +1194,14 @@ public abstract class PreferenceActivity extends ListActivity implements * @param args Optional arguments to supply to the fragment. */ public void switchToHeader(String fragmentName, Bundle args) { - setSelectedHeader(null); + Header selectedHeader = null; + for (int i = 0; i < mHeaders.size(); i++) { + if (fragmentName.equals(mHeaders.get(i).fragment)) { + selectedHeader = mHeaders.get(i); + break; + } + } + setSelectedHeader(selectedHeader); switchToHeaderInner(fragmentName, args); }