SetupWizard: Ensure page object isn't null if FM destroyed
Change-Id: Ia794e7656587ca803d02418d3d84d4df5027cd00 (cherry picked from commit 62b79e38809699edf47f8a4fad16fdf706ceaa5e)
This commit is contained in:
parent
e68543ad74
commit
317a15e0eb
|
@ -43,11 +43,6 @@ public abstract class SetupPageFragment extends Fragment {
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setRetainInstance(true);
|
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,
|
SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED,
|
||||||
mKey, String.valueOf(System.currentTimeMillis()));
|
mKey, String.valueOf(System.currentTimeMillis()));
|
||||||
}
|
}
|
||||||
|
@ -65,6 +60,11 @@ public abstract class SetupPageFragment extends Fragment {
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Activity activity) {
|
public void onAttach(Activity activity) {
|
||||||
super.onAttach(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)) {
|
if (!(activity instanceof SetupDataCallbacks)) {
|
||||||
throw new ClassCastException("Activity implement SetupDataCallbacks");
|
throw new ClassCastException("Activity implement SetupDataCallbacks");
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,11 @@ public abstract class SetupPageFragment extends Fragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
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);
|
mPage.onActivityResult(requestCode, resultCode, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue