Search in sources :

Example 1 with CommonQuestionView

use of org.eyeseetea.malariacare.views.question.CommonQuestionView in project pictureapp by EyeSeeTea.

the class DynamicTabAdapter method initializeNavigationButtons.

private void initializeNavigationButtons(View navigationButtonsHolder) {
    ImageButton button = (ImageButton) navigationButtonsHolder.findViewById(R.id.next_btn);
    ((LinearLayout) button.getParent()).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isClicked) {
                Log.d(TAG, "onClick ignored to avoid double click");
                return;
            }
            Log.d(TAG, "onClicked");
            isClicked = true;
            boolean questionsWithError = false;
            for (IMultiQuestionView multiquestionView : mMultiQuestionViews) {
                if (((CommonQuestionView) multiquestionView).isActive() && multiquestionView.hasError()) {
                    questionsWithError = true;
                    break;
                }
            }
            Log.d(TAG, "Questions with failed validation " + failedValidations);
            if (failedValidations == 0 && !questionsWithError) {
                TableRow currentRow = (TableRow) tableLayout.getChildAt(0);
                if (!readOnly && currentRow != null && currentRow.getChildAt(0) instanceof ImageRadioButtonSingleQuestionView) {
                    navigationController.isMovingToForward = true;
                    ImageRadioButtonSingleQuestionView imageRadioButtonSingleQuestionView = (ImageRadioButtonSingleQuestionView) currentRow.getChildAt(0);
                    ImageRadioButtonOption selectedOptionView = imageRadioButtonSingleQuestionView.getSelectedOptionView();
                    if (selectedOptionView != null) {
                        final Question question = navigationController.getCurrentQuestion();
                        Option selectedOption = selectedOptionView.getOption();
                        Question counterQuestion = question.findCounterByOption(selectedOption);
                        if ((mReviewMode && isCounterValueEqualToMax(question, selectedOption))) {
                            saveOptionValue(selectedOptionView, selectedOptionView.getOption(), question, true);
                        } else if (counterQuestion != null) {
                            showConfirmCounter(selectedOptionView, selectedOptionView.getOption(), question, counterQuestion);
                        } else {
                            finishOrNext();
                        }
                    } else {
                        isClicked = false;
                    }
                } else {
                    finishOrNext();
                }
            } else if (navigationController.getCurrentQuestion().hasCompulsoryNotAnswered() || mDynamicTabAdapterStrategy.isMultiQuestionByVariant(navigationController.getCurrentTab().getType())) {
                UIMessagesStrategy.getInstance().showCompulsoryUnansweredToast();
                isClicked = false;
                return;
            } else {
                isClicked = false;
            }
        }
    });
    button = (ImageButton) navigationButtonsHolder.findViewById(R.id.back_btn);
    // Save the numberpicker value in the DB, and continue to the next screen.
    ((LinearLayout) button.getParent()).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            previous();
        }
    });
}
Also used : ImageRadioButtonOption(org.eyeseetea.malariacare.views.option.ImageRadioButtonOption) ImageButton(android.widget.ImageButton) TableRow(android.widget.TableRow) IMultiQuestionView(org.eyeseetea.malariacare.views.question.IMultiQuestionView) CommonQuestionView(org.eyeseetea.malariacare.views.question.CommonQuestionView) Question(org.eyeseetea.malariacare.data.database.model.Question) QuestionOption(org.eyeseetea.malariacare.data.database.model.QuestionOption) ImageRadioButtonOption(org.eyeseetea.malariacare.views.option.ImageRadioButtonOption) Option(org.eyeseetea.malariacare.data.database.model.Option) AKeyboardQuestionView(org.eyeseetea.malariacare.views.question.AKeyboardQuestionView) ImageView(android.widget.ImageView) AOptionQuestionView(org.eyeseetea.malariacare.views.question.AOptionQuestionView) View(android.view.View) INavigationQuestionView(org.eyeseetea.malariacare.views.question.INavigationQuestionView) IQuestionView(org.eyeseetea.malariacare.views.question.IQuestionView) ImageRadioButtonSingleQuestionView(org.eyeseetea.malariacare.views.question.singlequestion.ImageRadioButtonSingleQuestionView) CustomTextView(org.eyeseetea.sdk.presentation.views.CustomTextView) ListView(android.widget.ListView) CommonQuestionView(org.eyeseetea.malariacare.views.question.CommonQuestionView) YearSelectorQuestionView(org.eyeseetea.malariacare.views.question.multiquestion.YearSelectorQuestionView) IMultiQuestionView(org.eyeseetea.malariacare.views.question.IMultiQuestionView) IImageQuestionView(org.eyeseetea.malariacare.views.question.IImageQuestionView) ScrollView(android.widget.ScrollView) LinearLayout(android.widget.LinearLayout) ImageRadioButtonSingleQuestionView(org.eyeseetea.malariacare.views.question.singlequestion.ImageRadioButtonSingleQuestionView)

Example 2 with CommonQuestionView

use of org.eyeseetea.malariacare.views.question.CommonQuestionView in project pictureapp by EyeSeeTea.

the class DynamicTabAdapter method toggleChild.

/**
 * find and toggle the child question
 *
 * @param row           is the child question view
 * @param rowQuestion   is the question in the view
 * @param childQuestion is the posible child
 */
private boolean toggleChild(TableRow row, Question rowQuestion, Question childQuestion) {
    if (childQuestion.getId_question().equals(rowQuestion.getId_question())) {
        Survey survey = SurveyFragmentStrategy.getSessionSurveyByQuestion(rowQuestion);
        if (rowQuestion.isHiddenBySurveyAndHeader(survey)) {
            row.clearFocus();
            row.setVisibility(View.GONE);
            ((CommonQuestionView) row.getChildAt(0)).deactivateQuestion();
            hideDefaultValue(rowQuestion);
        } else {
            row.setVisibility(View.VISIBLE);
            ((CommonQuestionView) row.getChildAt(0)).activateQuestion();
            showDefaultValue(row, rowQuestion);
        }
        return true;
    }
    return false;
}
Also used : Session.getMalariaSurvey(org.eyeseetea.malariacare.data.database.utils.Session.getMalariaSurvey) Survey(org.eyeseetea.malariacare.data.database.model.Survey) CommonQuestionView(org.eyeseetea.malariacare.views.question.CommonQuestionView)

Aggregations

CommonQuestionView (org.eyeseetea.malariacare.views.question.CommonQuestionView)2 View (android.view.View)1 ImageButton (android.widget.ImageButton)1 ImageView (android.widget.ImageView)1 LinearLayout (android.widget.LinearLayout)1 ListView (android.widget.ListView)1 ScrollView (android.widget.ScrollView)1 TableRow (android.widget.TableRow)1 Option (org.eyeseetea.malariacare.data.database.model.Option)1 Question (org.eyeseetea.malariacare.data.database.model.Question)1 QuestionOption (org.eyeseetea.malariacare.data.database.model.QuestionOption)1 Survey (org.eyeseetea.malariacare.data.database.model.Survey)1 Session.getMalariaSurvey (org.eyeseetea.malariacare.data.database.utils.Session.getMalariaSurvey)1 ImageRadioButtonOption (org.eyeseetea.malariacare.views.option.ImageRadioButtonOption)1 AKeyboardQuestionView (org.eyeseetea.malariacare.views.question.AKeyboardQuestionView)1 AOptionQuestionView (org.eyeseetea.malariacare.views.question.AOptionQuestionView)1 IImageQuestionView (org.eyeseetea.malariacare.views.question.IImageQuestionView)1 IMultiQuestionView (org.eyeseetea.malariacare.views.question.IMultiQuestionView)1 INavigationQuestionView (org.eyeseetea.malariacare.views.question.INavigationQuestionView)1 IQuestionView (org.eyeseetea.malariacare.views.question.IQuestionView)1