am a5082305: Merge "Fix issue #3400255 Dialog fragments crash on rotation in Settings app" into honeycomb

* commit 'a5082305e8c4f3107ec1802b9fd911aba1c288f3':
  Fix issue #3400255 Dialog fragments crash on rotation in Settings app
This commit is contained in:
Dianne Hackborn
2011-01-27 23:20:37 -08:00
committed by Android Git Automerger

View File

@@ -161,7 +161,16 @@ public class SettingsPreferenceFragment extends PreferenceFragment
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (mParentFragment != null) {
outState.putInt(KEY_DIALOG_ID, mDialogId);
outState.putInt(KEY_PARENT_FRAGMENT_ID, mParentFragment.getId());
}
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
if (savedInstanceState != null) {
mDialogId = savedInstanceState.getInt(KEY_DIALOG_ID, 0);
int mParentFragmentId = savedInstanceState.getInt(KEY_PARENT_FRAGMENT_ID, -1);
@@ -174,20 +183,6 @@ public class SettingsPreferenceFragment extends PreferenceFragment
}
}
}
super.onActivityCreated(savedInstanceState);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (mParentFragment != null) {
outState.putInt(KEY_DIALOG_ID, mDialogId);
outState.putInt(KEY_PARENT_FRAGMENT_ID, mParentFragment.getId());
}
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return ((DialogCreatable) mParentFragment).onCreateDialog(mDialogId);
}