Refactoring of codebase #1
@ -168,89 +168,17 @@ abstract class QuestionnaireBase<T> {
|
||||
|
||||
protected open fun createHandlerForQuestion(question: QuestionItem): QuestionHandler? {
|
||||
return when (question) {
|
||||
is QuestionItem.RadioQuestion -> HandlerRadioQuestion(
|
||||
context,
|
||||
answers,
|
||||
points,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::goToQuestionById,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.ClientCoachCodeQuestion -> HandlerClientCoachCode(
|
||||
answers,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast
|
||||
)
|
||||
is QuestionItem.DateSpinnerQuestion -> HandlerDateSpinner(
|
||||
context,
|
||||
answers,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.ValueSpinnerQuestion -> HandlerValueSpinner(
|
||||
context,
|
||||
answers,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::goToQuestionById,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.GlassScaleQuestion -> HandlerGlassScaleQuestion(
|
||||
context,
|
||||
answers,
|
||||
points,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.ClientNotSigned -> HandlerClientNotSigned(
|
||||
answers,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast
|
||||
)
|
||||
is QuestionItem.StringSpinnerQuestion -> HandlerStringSpinner(
|
||||
context,
|
||||
answers,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.MultiCheckboxQuestion -> HandlerMultiCheckboxQuestion(
|
||||
context,
|
||||
answers,
|
||||
points,
|
||||
languageID,
|
||||
::goToNextQuestion,
|
||||
::goToPreviousQuestion,
|
||||
::showToast,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
is QuestionItem.RadioQuestion -> HandlerRadioQuestion(context, answers, points, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::goToQuestionById, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.ClientCoachCodeQuestion -> HandlerClientCoachCode(answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast)
|
||||
is QuestionItem.DateSpinnerQuestion -> HandlerDateSpinner(context, answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.ValueSpinnerQuestion -> HandlerValueSpinner(context, answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::goToQuestionById, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.GlassScaleQuestion -> HandlerGlassScaleQuestion(context, answers, points, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.ClientNotSigned -> HandlerClientNotSigned(answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast)
|
||||
is QuestionItem.StringSpinnerQuestion -> HandlerStringSpinner(context, answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.MultiCheckboxQuestion -> HandlerMultiCheckboxQuestion(context, answers, points, languageID, ::goToNextQuestion, ::goToPreviousQuestion, ::showToast, questionnaireMeta.id)
|
||||
is QuestionItem.LastPage -> HandlerLastPage(
|
||||
answers, languageID, ::goToNextQuestion, ::goToPreviousQuestion
|
||||
) {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
saveAnswersToDatabase(
|
||||
answers,
|
||||
questionnaireMeta.id
|
||||
)
|
||||
}
|
||||
}
|
||||
) { CoroutineScope(Dispatchers.IO).launch { saveAnswersToDatabase(answers, questionnaireMeta.id) } }
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user