diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml index 83916417232..a44535f3d0b 100644 --- a/res/layout/preference_list_fragment.xml +++ b/res/layout/preference_list_fragment.xml @@ -20,10 +20,15 @@ + + + + diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 8661956f6dc..097fb95675e 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -33,10 +33,12 @@ import android.preference.PreferenceFragment; import android.preference.PreferenceGroupAdapter; import android.text.TextUtils; import android.util.Log; +import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.ViewGroup; import android.widget.Button; import android.widget.ListAdapter; import android.widget.ListView; @@ -77,6 +79,8 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di } }; + private ViewGroup mPinnedHeaderFrameLayout; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -92,6 +96,24 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di } } + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + final View root = super.onCreateView(inflater, container, savedInstanceState); + mPinnedHeaderFrameLayout = (ViewGroup) root.findViewById(R.id.pinned_header); + return root; + } + + public void setPinnedHeaderView(View pinnedHeader) { + mPinnedHeaderFrameLayout.addView(pinnedHeader); + mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE); + } + + public void clearPinnedHeaderView() { + mPinnedHeaderFrameLayout.removeAllViews(); + mPinnedHeaderFrameLayout.setVisibility(View.GONE); + } + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/src/com/android/settings/users/RestrictedProfileSettings.java b/src/com/android/settings/users/RestrictedProfileSettings.java index 535e19672e0..ce96c3d56e8 100644 --- a/src/com/android/settings/users/RestrictedProfileSettings.java +++ b/src/com/android/settings/users/RestrictedProfileSettings.java @@ -42,10 +42,8 @@ import android.provider.MediaStore; import android.provider.ContactsContract.DisplayPhoto; import android.support.v4.content.FileProvider; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; import android.view.WindowManager; import android.view.View.OnClickListener; import android.widget.AdapterView; @@ -97,7 +95,7 @@ public class RestrictedProfileSettings extends AppRestrictionsFragment { if (mHeaderView == null) { mHeaderView = LayoutInflater.from(getActivity()).inflate( R.layout.user_info_header, null); - ((ViewGroup) getListView().getParent()).addView(mHeaderView, 0); + setPinnedHeaderView(mHeaderView); mHeaderView.setOnClickListener(this); mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon); mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);