package dev.dworks.libs.awizard.model.ui;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import dev.dworks.libs.awizard.model.ReviewCallbacks;
import dev.dworks.libs.awizard.model.WizardModel;
import dev.dworks.libs.awizard.model.WizardModelCallbacks;
import dev.dworks.libs.awizard.model.page.Page;
public abstract class DoneFragment extends Fragment implements WizardModelCallbacks {
private ReviewCallbacks mCallbacks;
private WizardModel mWizardModel;
private Bundle mAllData;
public DoneFragment() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (!(activity instanceof ReviewCallbacks)) {
throw new ClassCastException("Activity must implement fragment's callbacks");
}
mCallbacks = (ReviewCallbacks) activity;
mWizardModel = mCallbacks.getWizardModel();
mWizardModel.registerListener(this);
onPageTreeChanged();
}
@Override
public void onDetach() {
super.onDetach();
mCallbacks = null;
mWizardModel.unregisterListener(this);
}
@Override
public void onPageTreeChanged() {
onPageDataChanged(null);
}
@Override
public void onPageDataChanged(Page changedPage) {
Bundle bundle = new Bundle();
for (Page page : mWizardModel.getCurrentPageSequence()) {
bundle.putAll(page.getData());
}
mAllData = bundle;
}
public Bundle getAllData() {
return mAllData;
}
}