diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 6280bb909..b0f96ec1a 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -9,7 +9,7 @@ kotlin { sourceSets { androidMain.dependencies { implementation(project(":common")) - implementation("androidx.activity:activity-compose:1.8.1") + implementation("androidx.activity:activity-compose:1.8.2") } } } diff --git a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputDropDownScreen.kt b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputDropDownScreen.kt index 583c350ba..5264136ed 100644 --- a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputDropDownScreen.kt +++ b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputDropDownScreen.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import org.hisp.dhis.common.screens.previews.lorem import org.hisp.dhis.mobile.ui.designsystem.component.ColumnComponentContainer import org.hisp.dhis.mobile.ui.designsystem.component.DropdownItem import org.hisp.dhis.mobile.ui.designsystem.component.InputDropDown diff --git a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputFileResourceScreen.kt b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputFileResourceScreen.kt index 3167c2214..f37aa02d0 100644 --- a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputFileResourceScreen.kt +++ b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputFileResourceScreen.kt @@ -1,6 +1,10 @@ package org.hisp.dhis.common.screens import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import org.hisp.dhis.mobile.ui.designsystem.component.ColumnComponentContainer import org.hisp.dhis.mobile.ui.designsystem.component.InputFileResource import org.hisp.dhis.mobile.ui.designsystem.component.InputShellState @@ -17,6 +21,22 @@ fun InputFileResourceScreen() { val currentFileName2 = "filename.extension" val currentFileWeight2 = "524kb" + var inputFileResourceState by remember { mutableStateOf(UploadFileState.ADD) } + + InputFileResource( + title = "Label", + buttonText = provideStringResource("add_file"), + fileName = currentFileName, + fileWeight = currentFileWeight, + uploadFileState = inputFileResourceState, + onSelectFile = { + inputFileResourceState = UploadFileState.LOADED + }, + onUploadFile = {}, + onClear = { + inputFileResourceState = UploadFileState.ADD + }, + ) InputFileResource( title = "Label", buttonText = provideStringResource("add_file"), diff --git a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputImageScreen.kt b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputImageScreen.kt index e48dc6c0a..7b7da937c 100644 --- a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputImageScreen.kt +++ b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputImageScreen.kt @@ -48,6 +48,7 @@ fun InputImageScreen() { uploadState = UploadState.LOADED } }, + onImageClick = {}, ) Spacer(Modifier.size(Spacing.Spacing18)) @@ -62,6 +63,7 @@ fun InputImageScreen() { onShareButtonClick = {}, onResetButtonClicked = {}, onAddButtonClicked = {}, + onImageClick = {}, ) Spacer(Modifier.size(Spacing.Spacing18)) @@ -78,6 +80,7 @@ fun InputImageScreen() { onShareButtonClick = {}, onResetButtonClicked = { }, onAddButtonClicked = {}, + onImageClick = {}, ) } } diff --git a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputSignatureScreen.kt b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputSignatureScreen.kt index 34093d0c0..25b93ee4c 100644 --- a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputSignatureScreen.kt +++ b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputSignatureScreen.kt @@ -48,6 +48,7 @@ fun InputSignatureScreen() { uploadState = UploadState.LOADED } }, + onImageClick = {}, ) Spacer(Modifier.size(Spacing.Spacing18)) @@ -62,6 +63,7 @@ fun InputSignatureScreen() { onShareButtonClick = {}, onResetButtonClicked = {}, onAddButtonClicked = {}, + onImageClick = {}, ) Spacer(Modifier.size(Spacing.Spacing18)) @@ -78,6 +80,7 @@ fun InputSignatureScreen() { onShareButtonClick = {}, onResetButtonClicked = { }, onAddButtonClicked = {}, + onImageClick = {}, ) } } diff --git a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputYesOnlyCheckBoxScreen.kt b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputYesOnlyCheckBoxScreen.kt index 77d53c00b..6f2d98ffe 100644 --- a/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputYesOnlyCheckBoxScreen.kt +++ b/common/src/commonMain/kotlin/org/hisp/dhis/common/screens/InputYesOnlyCheckBoxScreen.kt @@ -5,7 +5,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import org.hisp.dhis.mobile.ui.designsystem.component.CheckBoxData @@ -19,19 +19,19 @@ import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing @Composable fun InputYesOnlyCheckBoxScreen() { ColumnComponentContainer { - var checkboxData by rememberSaveable { + var checkboxData by remember { mutableStateOf(CheckBoxData(uid = "0", checked = false, enabled = true, textInput = "Label")) } - var checkboxData1 by rememberSaveable { + var checkboxData1 by remember { mutableStateOf(CheckBoxData(uid = "0", checked = true, enabled = true, textInput = "Label")) } - var checkboxData2 by rememberSaveable { + var checkboxData2 by remember { mutableStateOf(CheckBoxData(uid = "0", checked = false, enabled = true, textInput = "Label")) } - val checkboxData3 by rememberSaveable { + val checkboxData3 by remember { mutableStateOf(CheckBoxData(uid = "0", checked = false, enabled = true, textInput = "Label")) } - val checkboxData4 by rememberSaveable { + val checkboxData4 by remember { mutableStateOf(CheckBoxData(uid = "0", checked = true, enabled = true, textInput = "Label")) } InputYesOnlyCheckBox( diff --git a/designsystem/build.gradle.kts b/designsystem/build.gradle.kts index c03e93a47..5d15346b3 100644 --- a/designsystem/build.gradle.kts +++ b/designsystem/build.gradle.kts @@ -27,10 +27,9 @@ kotlin { } androidMain.dependencies { - api("androidx.activity:activity-compose:1.8.1") + api("androidx.activity:activity-compose:1.8.2") api("androidx.appcompat:appcompat:1.6.1") api("androidx.core:core-ktx:1.12.0") - implementation("androidx.compose.material3:material3:1.1.2") implementation("com.google.zxing:core:3.5.2") } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImage.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImage.kt index 465900770..f42602b95 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImage.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImage.kt @@ -150,6 +150,10 @@ internal fun BasicInputImage( Spacing.Spacing0 }, ), + onImageClick = { + onImageClick.invoke() + focusRequester.requestFocus() + }, ) } } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BottomSheet.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BottomSheet.kt index fc1d599cd..109a4f758 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BottomSheet.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BottomSheet.kt @@ -26,6 +26,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/CheckBox.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/CheckBox.kt index 11627f97d..c7ce661e5 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/CheckBox.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/CheckBox.kt @@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.material.ripple.LocalRippleTheme import androidx.compose.material3.Checkbox import androidx.compose.material3.CheckboxDefaults +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -49,7 +50,7 @@ fun CheckBox( Row( horizontalArrangement = Arrangement.spacedBy(Spacing.Spacing0, Alignment.Start), - verticalAlignment = Alignment.Top, + verticalAlignment = Alignment.CenterVertically, modifier = modifier .clickable( interactionSource = interactionSource, @@ -91,6 +92,7 @@ fun CheckBox( .hoverPointerIcon(checkBoxData.enabled), text = it, color = textColor, + style = MaterialTheme.typography.bodyLarge, ) } } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDown.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDown.kt index c11344608..2d1679c49 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDown.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDown.kt @@ -37,6 +37,7 @@ import org.hisp.dhis.mobile.ui.designsystem.theme.DHIS2SCustomTextStyles import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing.Spacing16 import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing.Spacing8 import org.hisp.dhis.mobile.ui.designsystem.theme.SurfaceColor +import androidx.compose.ui.text.style.TextOverflow import org.hisp.dhis.mobile.ui.designsystem.theme.TextColor private const val MAX_DROPDOWN_ITEMS = 6 @@ -249,6 +250,8 @@ private fun DropdownInputField( TextColor.OnDisabledSurface }, ), + maxLines = 1, + overflow = TextOverflow.Ellipsis, ) Box( modifier = Modifier diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputImage.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputImage.kt index 24e4aeb6c..05af0eff5 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputImage.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputImage.kt @@ -44,6 +44,7 @@ fun InputImage( onShareButtonClick: () -> Unit, onResetButtonClicked: () -> Unit, onAddButtonClicked: () -> Unit, + onImageClick: () -> Unit, ) { BasicInputImage( title = title, @@ -63,5 +64,6 @@ fun InputImage( onShareButtonClick = onShareButtonClick, onResetButtonClicked = onResetButtonClicked, onAddButtonClicked = onAddButtonClicked, + onImageClick = onImageClick, ) } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputShell.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputShell.kt index 1c9ed595e..b12b6a5a3 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputShell.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputShell.kt @@ -8,10 +8,10 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width @@ -31,7 +31,6 @@ import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.IntOffset import org.hisp.dhis.mobile.ui.designsystem.theme.Border import org.hisp.dhis.mobile.ui.designsystem.theme.Outline import org.hisp.dhis.mobile.ui.designsystem.theme.Radius @@ -134,10 +133,12 @@ fun InputShell( } Box(Modifier.height(Spacing.Spacing2)) { InputShellIndicator( + modifier = Modifier.align(Alignment.BottomStart), color = indicatorColor, thickness = indicatorThickness, ) } + legend?.invoke(this) if (state != InputShellState.DISABLED) supportingText?.invoke() if (isRequiredField && state == InputShellState.ERROR && supportingText == null) SupportingText("Required", state = SupportingTextState.ERROR) @@ -155,14 +156,18 @@ fun InputShell( private fun InputShellRow( modifier: Modifier = Modifier, backgroundColor: Color, - content: @Composable (() -> Unit), + content: @Composable (RowScope.() -> Unit), ) { Row( horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically, modifier = modifier.fillMaxWidth() .background(backgroundColor) - .padding(Spacing.Spacing16, Spacing.Spacing8, Spacing.Spacing0, Spacing.Spacing6), + .padding( + start = Spacing.Spacing16, + top = Spacing.Spacing8, + end = Spacing.Spacing0, + bottom = Spacing.Spacing8, + ), ) { content() } @@ -196,16 +201,7 @@ private fun InputShellIndicator( thickness: Dp = Border.Thin, ) { Divider( - modifier = modifier - .fillMaxWidth() - .padding( - top = Spacing.Spacing0, - ).offset { - IntOffset( - 0, - if (thickness == Border.Thin) 0 else -2, - ) - }, + modifier = modifier.fillMaxWidth(), thickness = thickness, color = color, ) diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputSignature.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputSignature.kt index b95b74481..5337b6eb7 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputSignature.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputSignature.kt @@ -44,6 +44,7 @@ fun InputSignature( onShareButtonClick: () -> Unit, onResetButtonClicked: () -> Unit, onAddButtonClicked: () -> Unit, + onImageClick: () -> Unit, ) { BasicInputImage( title = title, @@ -63,5 +64,6 @@ fun InputSignature( onShareButtonClick = onShareButtonClick, onResetButtonClicked = onResetButtonClicked, onAddButtonClicked = onAddButtonClicked, + onImageClick = onImageClick, ) } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputYesOnlyCheckBox.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputYesOnlyCheckBox.kt index 65f4cb4f2..6ddab7d71 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputYesOnlyCheckBox.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputYesOnlyCheckBox.kt @@ -1,7 +1,6 @@ package org.hisp.dhis.mobile.ui.designsystem.component import androidx.compose.foundation.layout.offset -import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -50,7 +49,6 @@ fun InputYesOnlyCheckBox( inputField = { CheckBox( modifier = Modifier - .padding(bottom = Spacing.Spacing4) .offset(x = -Spacing.Spacing8), checkBoxData = CheckBoxData( uid = checkBoxData.uid, diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/RadioButton.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/RadioButton.kt index efdf720df..b5bb18b8a 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/RadioButton.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/RadioButton.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material.ripple.LocalRippleTheme +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.RadioButton import androidx.compose.material3.RadioButtonDefaults import androidx.compose.material3.Text @@ -42,7 +43,7 @@ fun RadioButton( val interactionSource = if (radioButtonData.enabled) remember { MutableInteractionSource() } else MutableInteractionSource() Row( horizontalArrangement = Arrangement.spacedBy(Spacing.Spacing0, Alignment.Start), - verticalAlignment = Alignment.Top, + verticalAlignment = Alignment.CenterVertically, modifier = modifier .clickable( interactionSource = interactionSource, @@ -88,6 +89,7 @@ fun RadioButton( } else { TextColor.OnDisabledSurface }, + style = MaterialTheme.typography.bodyLarge, ) } } diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/Text.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/Text.kt index 71d5ec9b3..6483fa05a 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/Text.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/Text.kt @@ -65,7 +65,7 @@ internal fun InputShellLabelText( ) { Text( text, - modifier = modifier, + modifier = modifier.padding(vertical = Spacing.Spacing2), color = textColor, style = MaterialTheme.typography.bodyMedium, textAlign = TextAlign.Start, diff --git a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/theme/Theme.kt b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/theme/Theme.kt index 0d232d69b..9abf6e8ce 100644 --- a/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/theme/Theme.kt +++ b/designsystem/src/commonMain/kotlin/org/hisp/dhis/mobile/ui/designsystem/theme/Theme.kt @@ -146,13 +146,13 @@ internal object DHIS2SCustomTextStyles { letterSpacing = 0.15.sp, ) - val bodyLargeBold: TextStyle - @Composable - @ReadOnlyComposable - get() = MaterialTheme.typography.bodyLarge.copy( - fontWeight = FontWeight.Bold, - color = TextColor.OnSurface, - ) + val bodyLargeBold = TextStyle( + fontSize = 16.sp, + lineHeight = 24.sp, + fontWeight = FontWeight.Bold, + color = TextColor.OnSurface, + letterSpacing = 0.5.sp, + ) val clickableSupportingText = SpanStyle( fontSize = 14.sp, diff --git a/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImageTest.kt b/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImageTest.kt index eb5124343..42fecd05e 100644 --- a/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImageTest.kt +++ b/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/BasicInputImageTest.kt @@ -37,6 +37,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() @@ -60,6 +61,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() @@ -83,6 +85,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() @@ -105,6 +108,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() @@ -208,6 +212,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() @@ -232,6 +237,7 @@ class BasicInputImageTest { }, onAddButtonClicked = { }, + onImageClick = {}, ) } rule.onNodeWithTag("INPUT_IMAGE").assertExists() diff --git a/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDownTest.kt b/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDownTest.kt index 115e8e3f1..062309aa0 100644 --- a/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDownTest.kt +++ b/designsystem/src/desktopTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/component/InputDropDownTest.kt @@ -5,6 +5,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.test.assertCountEquals +import androidx.compose.ui.test.assertHasNoClickAction import androidx.compose.ui.test.assertIsEnabled import androidx.compose.ui.test.assertIsNotEnabled import androidx.compose.ui.test.assertTextEquals @@ -144,6 +145,7 @@ class InputDropDownTest { } rule.onNodeWithTag("INPUT_DROPDOWN").assertExists() rule.onNodeWithTag("INPUT_DROPDOWN_LEGEND").assertExists() + rule.onNodeWithTag("INPUT_DROPDOWN_LEGEND").assertHasNoClickAction() } @Test diff --git a/gradle.properties b/gradle.properties index a62823213..e80150033 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,5 +22,5 @@ android.minSdk=21 #Versions kotlin.version=1.9.21 -agp.version=8.1.4 +agp.version=8.2.0 compose.version=1.5.11 \ No newline at end of file