/** * Initialize {@link FormEntryController} with {@link FormDef} from binary or from XML. If given * an instance, it will be used to fill the {@link FormDef}. */ @Override protected Integer doInBackground(Void... nothing) { FormController formController = MjivitaPlus.getInstance().getFormController(); // validation failed, pass specific failure int validateStatus = formController.validateAnswers(mMarkCompleted); if (validateStatus != FormEntryController.ANSWER_OK) { return validateStatus; } if (mMarkCompleted) { formController.postProcessInstance(); } MjivitaPlus.getInstance() .getActivityLogger() .logInstanceAction(this, "save", Boolean.toString(mMarkCompleted)); boolean saveOutcome = exportData(mMarkCompleted); // attempt to remove any scratch file File shadowInstance = savepointFile(formController.getInstancePath()); if (shadowInstance.exists()) { shadowInstance.delete(); } if (saveOutcome) { return mSave ? SAVED_AND_EXIT : SAVED; } return SAVE_ERROR; }