From 3f392dc915f96a618ff1d30baabf165a6fade4cc Mon Sep 17 00:00:00 2001 From: Milen Marinov Date: Mon, 15 Jul 2024 21:22:52 +0300 Subject: [PATCH] [MS-585] Add "Wrong age group selection" exit option --- .../feature/exitform/ExitFormConfigurationBuilder.kt | 2 ++ .../simprints/feature/exitform/config/ExitFormOption.kt | 5 +++++ .../simprints/feature/exitform/screen/ExitFormFragment.kt | 4 ++-- .../src/main/res/layout-land/fragment_exit_form.xml | 7 +++++++ .../exit-form/src/main/res/layout/fragment_exit_form.xml | 7 +++++++ .../eventsync/event/remote/models/ApiRefusalPayload.kt | 3 +++ .../infra/events/event/domain/models/RefusalEvent.kt | 1 + infra/resources/src/main/res/values/strings.xml | 1 + 8 files changed, 28 insertions(+), 2 deletions(-) diff --git a/feature/exit-form/src/main/java/com/simprints/feature/exitform/ExitFormConfigurationBuilder.kt b/feature/exit-form/src/main/java/com/simprints/feature/exitform/ExitFormConfigurationBuilder.kt index 689fa26df6..9450ccb99e 100644 --- a/feature/exit-form/src/main/java/com/simprints/feature/exitform/ExitFormConfigurationBuilder.kt +++ b/feature/exit-form/src/main/java/com/simprints/feature/exitform/ExitFormConfigurationBuilder.kt @@ -23,6 +23,7 @@ fun defaultOptions() = setOf( ExitFormOption.AppNotWorking, ExitFormOption.PersonNotPresent, ExitFormOption.TooYoung, + ExitFormOption.WrongAgeGroupSelected, ExitFormOption.Other, ) @@ -36,6 +37,7 @@ fun scannerOptions() = setOf( ExitFormOption.ScannerNotWorking, ExitFormOption.PersonNotPresent, ExitFormOption.TooYoung, + ExitFormOption.WrongAgeGroupSelected, ExitFormOption.Other, ) diff --git a/feature/exit-form/src/main/java/com/simprints/feature/exitform/config/ExitFormOption.kt b/feature/exit-form/src/main/java/com/simprints/feature/exitform/config/ExitFormOption.kt index 513f397e8e..4f74ba96f4 100644 --- a/feature/exit-form/src/main/java/com/simprints/feature/exitform/config/ExitFormOption.kt +++ b/feature/exit-form/src/main/java/com/simprints/feature/exitform/config/ExitFormOption.kt @@ -44,6 +44,11 @@ enum class ExitFormOption( logName = "Too young", answer = RefusalEvent.RefusalPayload.Answer.REFUSED_YOUNG, ), + WrongAgeGroupSelected( + requiresInfo = false, + logName = "Wrong age group selected", + answer = RefusalEvent.RefusalPayload.Answer.WRONG_AGE_GROUP_SELECTED, + ), Other( requiresInfo = true, logName = "Other", diff --git a/feature/exit-form/src/main/java/com/simprints/feature/exitform/screen/ExitFormFragment.kt b/feature/exit-form/src/main/java/com/simprints/feature/exitform/screen/ExitFormFragment.kt index a173d96405..5453e02000 100644 --- a/feature/exit-form/src/main/java/com/simprints/feature/exitform/screen/ExitFormFragment.kt +++ b/feature/exit-form/src/main/java/com/simprints/feature/exitform/screen/ExitFormFragment.kt @@ -53,8 +53,6 @@ internal class ExitFormFragment : Fragment(R.layout.fragment_exit_form) { observeViewModel() } - - private fun setOptionsVisible(options: Set) = with(binding) { exitFormRadioReligiousConcerns.isVisible = options.contains(ExitFormOption.ReligiousConcerns) exitFormRadioDataConcerns.isVisible = options.contains(ExitFormOption.DataConcerns) @@ -63,6 +61,7 @@ internal class ExitFormFragment : Fragment(R.layout.fragment_exit_form) { exitFormRadioScannerNotWorking.isVisible = options.contains(ExitFormOption.ScannerNotWorking) exitFromRadioPersonNotPresent.isVisible = options.contains(ExitFormOption.PersonNotPresent) exitFormRadioTooYoung.isVisible = options.contains(ExitFormOption.TooYoung) + exitFormRadioWrongAgeGroupSelected.isVisible = options.contains(ExitFormOption.WrongAgeGroupSelected) exitFormRadioOther.isVisible = options.contains(ExitFormOption.Other) } @@ -93,6 +92,7 @@ internal class ExitFormFragment : Fragment(R.layout.fragment_exit_form) { R.id.exitFormRadioScannerNotWorking -> ExitFormOption.ScannerNotWorking R.id.exitFromRadioPersonNotPresent -> ExitFormOption.PersonNotPresent R.id.exitFormRadioTooYoung -> ExitFormOption.TooYoung + R.id.exitFormRadioWrongAgeGroupSelected -> ExitFormOption.WrongAgeGroupSelected else -> ExitFormOption.Other } diff --git a/feature/exit-form/src/main/res/layout-land/fragment_exit_form.xml b/feature/exit-form/src/main/res/layout-land/fragment_exit_form.xml index 28016b8ea2..f2c5aff7c1 100644 --- a/feature/exit-form/src/main/res/layout-land/fragment_exit_form.xml +++ b/feature/exit-form/src/main/res/layout-land/fragment_exit_form.xml @@ -94,6 +94,13 @@ android:layout_height="wrap_content" android:text="@string/exit_form_reason_too_young" /> + + + + ApiAnswer.APP_NOT_WORKING REFUSED_NOT_PRESENT -> ApiAnswer.REFUSED_NOT_PRESENT REFUSED_YOUNG -> ApiAnswer.REFUSED_YOUNG + WRONG_AGE_GROUP_SELECTED -> ApiAnswer.WRONG_AGE_GROUP_SELECTED OTHER -> ApiAnswer.OTHER } diff --git a/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/RefusalEvent.kt b/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/RefusalEvent.kt index d651428423..431e5582f0 100644 --- a/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/RefusalEvent.kt +++ b/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/RefusalEvent.kt @@ -59,6 +59,7 @@ data class RefusalEvent( APP_NOT_WORKING, REFUSED_NOT_PRESENT, REFUSED_YOUNG, + WRONG_AGE_GROUP_SELECTED, OTHER } } diff --git a/infra/resources/src/main/res/values/strings.xml b/infra/resources/src/main/res/values/strings.xml index 5fb0f49164..61bd78ce3d 100644 --- a/infra/resources/src/main/res/values/strings.xml +++ b/infra/resources/src/main/res/values/strings.xml @@ -66,6 +66,7 @@ Scanner not working Person not present Too young + Wrong age group selected Other