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
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 097fb95..38344fb 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -412,6 +412,9 @@
                 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