From b7bd72f297c9a33e7d819e3a309d304eac165919 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 25 Jul 2014 13:03:09 -0700 Subject: [PATCH] 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 --- src/com/android/settings/SettingsPreferenceFragment.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 097fb95675e..38344fb8234 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -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