Fix bug #16533532 Settings app crashes on device orientation change

...when "change language" warning dialog is on screen

- try harder at getting the parent fragment. First try by calling
getParentFragment() and if this is getting a null reference, try
again by using the fragment Id saved during onSaveInstanceState()

Change-Id: I3dbc6a229224c8770ff2c7e432e76b8796c4b099
This commit is contained in:
Fabrice Di Meglio
2014-07-25 13:03:09 -07:00
parent 9a60d7b569
commit b7bd72f297

View File

@@ -412,6 +412,9 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
mDialogId = savedInstanceState.getInt(KEY_DIALOG_ID, 0);
mParentFragment = getParentFragment();
int mParentFragmentId = savedInstanceState.getInt(KEY_PARENT_FRAGMENT_ID, -1);
if (mParentFragment == null) {
mParentFragment = getFragmentManager().findFragmentById(mParentFragmentId);
}
if (!(mParentFragment instanceof DialogCreatable)) {
throw new IllegalArgumentException(
(mParentFragment != null