diff options
| author | cretin45 <cretin45@gmail.com> | 2015-04-09 10:43:41 -0700 |
|---|---|---|
| committer | cretin45 <cretin45@gmail.com> | 2015-04-09 10:43:41 -0700 |
| commit | 62b79e38809699edf47f8a4fad16fdf706ceaa5e (patch) | |
| tree | 885137e2161bc5d9166a705c8d552a64b8cd1264 | |
| parent | 0fde3a04cc62396b524aadb6a1a30f573a4b1b38 (diff) | |
| download | android_packages_apps_SetupWizard-62b79e38809699edf47f8a4fad16fdf706ceaa5e.tar.gz android_packages_apps_SetupWizard-62b79e38809699edf47f8a4fad16fdf706ceaa5e.tar.bz2 android_packages_apps_SetupWizard-62b79e38809699edf47f8a4fad16fdf706ceaa5e.zip | |
SetupWizard: Ensure page object isn't null if FM destroyed
Change-Id: Ia794e7656587ca803d02418d3d84d4df5027cd00
| -rw-r--r-- | src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java index 93b349ca..b0df4408 100644 --- a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java +++ b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java @@ -43,11 +43,6 @@ public abstract class SetupPageFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); - Bundle args = getArguments(); - mKey = args.getString(Page.KEY_PAGE_ARGUMENT); - if (mKey == null) { - throw new IllegalArgumentException("No KEY_PAGE_ARGUMENT given"); - } SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED, mKey, String.valueOf(System.currentTimeMillis())); } @@ -65,6 +60,11 @@ public abstract class SetupPageFragment extends Fragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); + Bundle args = getArguments(); + mKey = args.getString(Page.KEY_PAGE_ARGUMENT); + if (mKey == null) { + throw new IllegalArgumentException("No KEY_PAGE_ARGUMENT given"); + } if (!(activity instanceof SetupDataCallbacks)) { throw new ClassCastException("Activity implement SetupDataCallbacks"); } @@ -90,6 +90,11 @@ public abstract class SetupPageFragment extends Fragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { + // On low mem devices, this fragment might get destroyed by + // fragment manager while we are in another activity. + if (mPage == null) { + mPage = mCallbacks.getPage(mKey); + } mPage.onActivityResult(requestCode, resultCode, data); } |
