diff options
Diffstat (limited to 'src/com/android/settings/SettingsPreferenceFragment.java')
-rw-r--r-- | src/com/android/settings/SettingsPreferenceFragment.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index b957c38..02f8a03 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -72,12 +72,12 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF private DataSetObserver mDataSetObserver = new DataSetObserver() { @Override public void onChanged() { - highlightPreferenceIfNeeded(); + highlightPreferenceIfNeeded(true); } @Override public void onInvalidated() { - highlightPreferenceIfNeeded(); + highlightPreferenceIfNeeded(true); } }; @@ -121,8 +121,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } public void setPinnedHeaderView(View pinnedHeader) { - mPinnedHeaderFrameLayout.addView(pinnedHeader); - mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE); + if (mPinnedHeaderFrameLayout != null) { + mPinnedHeaderFrameLayout.addView(pinnedHeader); + mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE); + } } @Override @@ -147,7 +149,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF final Bundle args = getArguments(); if (args != null) { mPreferenceKey = args.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY); - highlightPreferenceIfNeeded(); + highlightPreferenceIfNeeded(false); } } @@ -194,8 +196,9 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } } - public void highlightPreferenceIfNeeded() { - if (isAdded() && !mPreferenceHighlighted &&!TextUtils.isEmpty(mPreferenceKey)) { + public void highlightPreferenceIfNeeded(boolean forceHighlight) { + if (isAdded() && (!mPreferenceHighlighted || forceHighlight) + && !TextUtils.isEmpty(mPreferenceKey)) { highlightPreference(mPreferenceKey); } } |