From d713541aa9d1167858b1dc0352f153c777df12db Mon Sep 17 00:00:00 2001 From: manu Date: Fri, 2 Feb 2024 09:52:41 +0100 Subject: [PATCH] feat: [ANDROAPP-5802] sonarqube --- .../dialogs/scheduling/SchedulingComponent.kt | 2 +- .../dialogs/scheduling/SchedulingDialog.kt | 4 +- .../dialogs/scheduling/SchedulingDialogUi.kt | 39 ++++++++++++------- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingComponent.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingComponent.kt index 303ea6063ee..32729e81d0c 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingComponent.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingComponent.kt @@ -5,6 +5,6 @@ import org.dhis2.commons.di.dagger.PerFragment @PerFragment @Subcomponent(modules = [SchedulingModule::class]) -interface SchedulingComponent { +fun interface SchedulingComponent { fun inject(schedulingDialog: SchedulingDialog) } diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialog.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialog.kt index d9f152a1a5e..5298d8db32f 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialog.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialog.kt @@ -89,7 +89,9 @@ class SchedulingDialog( dialog.isFutureDatesAllowed(viewModel.eventDate.value.allowFutureDates) dialog.setListener( object : OnDatePickerListener { - override fun onNegativeClick() {} + override fun onNegativeClick() { + // Unused + } override fun onPositiveClick(datePicker: DatePicker) { viewModel.onDateSet( datePicker.year, diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialogUi.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialogUi.kt index 18c02ae66ea..0b9923f6974 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialogUi.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dialogs/scheduling/SchedulingDialogUi.kt @@ -55,11 +55,14 @@ fun SchedulingDialogUi( derivedStateOf { optionSelected == yesNoOptions.first() } } + val onButtonClick = { + when { + scheduleNew -> viewModel.scheduleEvent() + else -> onDismiss() + } + } BottomSheetShell( - title = stringResource(id = R.string.schedule_next) + " " + when (programStages.size) { - 1 -> programStages.first().displayName() - else -> stringResource(id = R.string.event) - } + "?", + title = bottomSheetTitle(programStages), buttonBlock = { Button( modifier = Modifier.fillMaxWidth(), @@ -67,17 +70,9 @@ fun SchedulingDialogUi( enabled = !scheduleNew || !date.dateValue.isNullOrEmpty() && catCombo.isCompleted, - text = when (scheduleNew) { - true -> stringResource(id = R.string.schedule) - false -> stringResource(id = R.string.done) - }, - ) { - if (scheduleNew) { - viewModel.scheduleEvent() - } else { - onDismiss() - } - } + text = buttonTitle(scheduleNew), + onClick = onButtonClick, + ) }, showSectionDivider = false, content = { @@ -143,3 +138,17 @@ fun SchedulingDialogUi( onDismiss = onDismiss, ) } + +@Composable +fun bottomSheetTitle(programStages: List): String = + stringResource(id = R.string.schedule_next) + " " + + when (programStages.size) { + 1 -> programStages.first().displayName() + else -> stringResource(id = R.string.event) + } + "?" + +@Composable +fun buttonTitle(scheduleNew: Boolean): String = when (scheduleNew) { + true -> stringResource(id = R.string.schedule) + false -> stringResource(id = R.string.done) +}