From 10504efcdbfc3f33e7e360e57666d3e6c0afb0cc Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Mon, 18 Mar 2024 20:04:42 -0700 Subject: [PATCH 01/53] provide public webmap which has forms --- .../java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt | 2 +- .../toolkit/featureformsapp/data/PortalItemRepository.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt index 8a0f32896..aa4d401c6 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt @@ -92,7 +92,7 @@ class MainActivity : ComponentActivity() { } private suspend fun loadCredentials(portalSettings: PortalSettings) = - withContext(Dispatchers.IO) { + withContext(Dispatchers.Default) { // create and set a ArcGISCredentialStore that persists val arcGISCredentialStore = ArcGISCredentialStore.createWithPersistence().getOrThrow() ArcGISEnvironment.authenticationManager.arcGISCredentialStore = arcGISCredentialStore diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt index 25cb367df..1edf73a02 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt @@ -166,5 +166,5 @@ class PortalItemRepository( */ fun getListOfMaps(): List = listOf( - "https://www.arcgis.com/home/item.html?id=a95963333bf84055b7115dc60d10443e" + "https://www.arcgis.com/home/item.html?id=fe8b712a5bf7480e9781a4ad3dd5e0ff" ) From 802dab1cdc5f61ae60468047002ac79cd7b608f5 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 20 Mar 2024 15:57:54 -0700 Subject: [PATCH 02/53] `Forms`: Updated radio button tests (#366) * updated radio button tests * added test doc link --- .../featureforms/RadioButtonFieldTests.kt | 94 +++++++++++++++++-- 1 file changed, 87 insertions(+), 7 deletions(-) diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt index 178a740bd..ab02e3557 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt @@ -21,11 +21,14 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.semantics.SemanticsProperties import androidx.compose.ui.test.SemanticsMatcher import androidx.compose.ui.test.assert +import androidx.compose.ui.test.assertContentDescriptionContains import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertIsSelected import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick +import androidx.compose.ui.test.performScrollToIndex import com.arcgismaps.ArcGISEnvironment import com.arcgismaps.data.ArcGISFeature import com.arcgismaps.data.QueryParameters @@ -35,6 +38,7 @@ import com.arcgismaps.mapping.featureforms.RadioButtonsFormInput import com.arcgismaps.mapping.layers.FeatureLayer import junit.framework.TestCase import kotlinx.coroutines.test.runTest +import org.junit.Assert.assertThrows import org.junit.Assert.fail import org.junit.Before import org.junit.BeforeClass @@ -57,25 +61,24 @@ class RadioButtonFieldTests { } /** - * Given a RadioFormInput with a pre-existing value and a no value label + * Given a RadioFormInput with a pre-existing value * When the FeatureForm is displayed - * Then the RadioButtonField shows a no value option and indicates the pre-existing value is selected - * And a new option is selected + * Then the RadioButtonField indicates the pre-existing value is selected + * And when a new option is selected * Then the new selection is visible + * + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-41-test-regular-selection */ @Test fun testRadioButtonSelection() { val radioElement = featureForm.getFieldFormElementWithLabel("Radio Button Text") ?: return fail("element not found") - val input = radioElement.input as RadioButtonsFormInput // find the field with the the label - val radioField = composeTestRule.onNodeWithText(radioElement.label) + val radioField = composeTestRule.onNodeWithText("${radioElement.label} *") // assert it is displayed radioField.assertIsDisplayed() // assert the node has group selection indicating it is a radio button field radioField.assert(SemanticsMatcher.expectValue(SemanticsProperties.SelectableGroup, Unit)) - // assert "no value" option is visible - radioField.onChildWithText(input.noValueLabel.ifEmpty { context.getString(R.string.no_value) }).assertExists() // check if the current value of the element is visible and selected radioField.onChildWithText(radioElement.formattedValue).assertIsSelected() // select the "dog" option @@ -86,6 +89,83 @@ class RadioButtonFieldTests { radioField.onChildWithText(radioElement.formattedValue).assertIsSelected() } + /** + * Given a RadioFormInput with a pre-existing value that is not in the given domain + * When the FeatureForm is displayed + * Then the FieldFormElement is rendered as a ComboBoxField + * + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-42-test-radio-button-fallback-to-combo-box-and-no-value-label + */ + @Test + fun testFallback() { + // find the lazy column and scroll to the appropriate index + val column = composeTestRule.onNodeWithContentDescription("lazy column") + column.performScrollToIndex(7) + val radioElement = featureForm.getFieldFormElementWithLabel("Fallback 1") + ?: return fail("element not found") + // find the field with the the label + val radioField = composeTestRule.onNodeWithText(radioElement.label) + // assert it is displayed + radioField.assertIsDisplayed() + // assert the node does not have a group selection indicating it is not a radio field + radioField.assert(!SemanticsMatcher.expectValue(SemanticsProperties.SelectableGroup, Unit)) + // also assert that this is rendered with an outlined text field which also assures + // the fallback behavior + radioField.assertContentDescriptionContains("outlined text field") + } + + /** + * Given a RadioFormInput with no pre-existing value and a noValueLabel + * When the FeatureForm is displayed + * Then the RadioButtonField displays the noValueLabel + * + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-42-test-radio-button-fallback-to-combo-box-and-no-value-label + */ + @Test + fun testNoValueLabelExists() { + // find the lazy column and scroll to the appropriate index + val column = composeTestRule.onNodeWithContentDescription("lazy column") + column.performScrollToIndex(8) + val radioElement = featureForm.getFieldFormElementWithLabel("No Value Enabled") + ?: return fail("element not found") + val input = radioElement.input as RadioButtonsFormInput + // find the field with the the label + val radioField = composeTestRule.onNodeWithText(radioElement.label) + // assert it is displayed + radioField.assertIsDisplayed() + // assert the node has group selection indicating it is a radio button field + radioField.assert(SemanticsMatcher.expectValue(SemanticsProperties.SelectableGroup, Unit)) + // assert the no value label is visible + radioField.onChildWithText(input.noValueLabel).assertExists() + } + + /** + * Given a RadioFormInput with no pre-existing value and no noValueLabel + * When the FeatureForm is displayed + * Then the RadioButtonField does not display the noValueLabel + * + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-42-test-radio-button-fallback-to-combo-box-and-no-value-label + */ + @Test + fun testNoValueLabelDoesNotExist() { + // find the lazy column and scroll to the appropriate index + val column = composeTestRule.onNodeWithContentDescription("lazy column") + column.performScrollToIndex(8) + val radioElement = featureForm.getFieldFormElementWithLabel("No Value Disabled") + ?: return fail("element not found") + val input = radioElement.input as RadioButtonsFormInput + // find the field with the the label + val radioField = composeTestRule.onNodeWithText(radioElement.label) + // assert it is displayed + radioField.assertIsDisplayed() + // assert the node has group selection indicating it is a radio button field + radioField.assert(SemanticsMatcher.expectValue(SemanticsProperties.SelectableGroup, Unit)) + // assert the no value label is not visible by catching the assertion error + assertThrows(AssertionError::class.java) { + radioField.onChildWithText(input.noValueLabel) + } + } + companion object { private lateinit var featureForm: FeatureForm From 5cc7aa4209eb275d61956411a354368fd3eedcb9 Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Fri, 22 Mar 2024 13:38:07 -0700 Subject: [PATCH 03/53] FeatureForm composable KDoc edit (#368) * slight edits to FeatureForm composable function KDoc. * Update toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt Co-authored-by: Gunther Heppner --------- Co-authored-by: Soren Roth Co-authored-by: Gunther Heppner --- .../java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 8f2429982..4ea5e95d4 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -93,8 +93,8 @@ public sealed class ValidationErrorVisibility { /** * A composable Form toolkit component that enables users to edit field values of features in a - * layer using forms that have been configured externally (using either in the the Web Map Viewer - * or the Fields Maps web app). + * layer using forms that have been configured externally. Forms may be configured in the [Web Map Viewer](https://www.arcgis.com/home/webmap/viewer.html) + * or [Fields Maps Designer](https://www.arcgis.com/apps/fieldmaps/)). * * @param featureForm The [FeatureForm] configuration. * @param modifier The [Modifier] to be applied to layout corresponding to the content of this From 3cecfe8d98bb4798f2e8f77c6b7d59bf0dc67e2b Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Mon, 25 Mar 2024 09:10:42 -0700 Subject: [PATCH 04/53] add groups to final error validation reporting in the app (#367) Co-authored-by: Soren Roth --- .../screens/map/MapViewModel.kt | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index d1374d8ef..4bb4c6a9c 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -32,6 +32,8 @@ import com.arcgismaps.mapping.ArcGISMap import com.arcgismaps.mapping.PortalItem import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormElement +import com.arcgismaps.mapping.featureforms.GroupFormElement import com.arcgismaps.mapping.layers.FeatureLayer import com.arcgismaps.mapping.view.MapView import com.arcgismaps.mapping.view.SingleTapConfirmedEvent @@ -125,7 +127,7 @@ class MapViewModel @Inject constructor( val featureForm = state.featureForm featureForm.validationErrors.value.forEach { entry -> entry.value.forEach { error -> - featureForm.getFormElement(entry.key)?.let { formElement -> + featureForm.elements.getFormElement(entry.key)?.let { formElement -> if (formElement.isEditable.value) { errors.add( ErrorInfo( @@ -256,10 +258,22 @@ class MapViewModel @Inject constructor( * Returns the [FieldFormElement] with the given [fieldName] in the [FeatureForm]. If none exists * null is returned. */ -fun FeatureForm.getFormElement(fieldName: String): FieldFormElement? { - return elements.firstNotNullOfOrNull { - if (it is FieldFormElement && it.fieldName == fieldName) { - it +fun List.getFormElement(fieldName: String): FieldFormElement? { + val fieldElements = filterIsInstance() + val element = if (fieldElements.isNotEmpty()) { + fieldElements.firstNotNullOfOrNull { + if (it.fieldName == fieldName) it else null + } + } else { + null + } + + return element ?: run { + val groupElements = filterIsInstance() + if (groupElements.isNotEmpty()) { + groupElements.firstNotNullOfOrNull { + it.elements.getFormElement(fieldName) + } } else { null } From 28a967b4e073a6cd2a3878d4a12799c0dfcb912c Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 25 Mar 2024 15:02:41 -0700 Subject: [PATCH 05/53] `Forms` : Optimize FeatureForm (#369) --- .../featureformsapp/screens/map/MapScreen.kt | 22 ++++++------ .../toolkit/featureforms/FeatureForm.kt | 35 ++++++++++++++++++- .../components/base/BaseFieldState.kt | 3 ++ .../components/base/FieldValidation.kt | 2 ++ .../components/base/FormElementState.kt | 4 ++- .../components/base/FormStateCollection.kt | 2 ++ .../codedvalue/CodedValueFieldState.kt | 2 -- .../featureforms/internal/utils/Dialog.kt | 2 ++ 8 files changed, 58 insertions(+), 14 deletions(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 0f223ec37..872490e00 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -102,7 +102,7 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> ValidationErrorVisibility.Automatic ) } - + is UIState.Switching -> { val state = uiState as UIState.Switching Pair( @@ -130,7 +130,6 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> showDiscardEditsDialog = true }, onSave = { - //SubmitForm(mapViewModel = mapViewModel, featureForm = (uiState as UIState.Editing).featureForm) scope.launch { mapViewModel.commitEdits().onFailure { Log.w("Forms", "Applying edits failed : ${it.message}") @@ -159,6 +158,11 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> exit = slideOutVertically { h -> h }, label = "feature form" ) { + val isSwitching = uiState is UIState.Switching + // remember the form and update it when a new form is opened + val rememberedForm = remember(this, isSwitching) { + featureForm!! + } val bottomSheetState = rememberStandardBottomSheetState( initialValue = SheetValue.PartiallyExpanded, confirmValueChange = { it != SheetValue.Hidden }, @@ -180,13 +184,11 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> sheetWidth = with(LocalDensity.current) { layoutWidth.toDp() } ) { // set bottom sheet content to the FeatureForm - if (featureForm != null) { - FeatureForm( - featureForm = featureForm, - modifier = Modifier.fillMaxSize(), - validationErrorVisibility = errorVisibility - ) - } + FeatureForm( + featureForm = rememberedForm, + modifier = Modifier.fillMaxSize(), + validationErrorVisibility = errorVisibility + ) } } } @@ -282,7 +284,7 @@ fun TopFormBar( @OptIn(ExperimentalMaterial3Api::class) @Composable -private fun SubmitForm(errors : List, onDismissRequest: () -> Unit) { +private fun SubmitForm(errors: List, onDismissRequest: () -> Unit) { if (errors.isEmpty()) { // show a progress dialog if no errors are present AlertDialog( diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 4ea5e95d4..65da1601c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -32,10 +32,13 @@ import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.Stable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue @@ -96,6 +99,9 @@ public sealed class ValidationErrorVisibility { * layer using forms that have been configured externally. Forms may be configured in the [Web Map Viewer](https://www.arcgis.com/home/webmap/viewer.html) * or [Fields Maps Designer](https://www.arcgis.com/apps/fieldmaps/)). * + * Note : Even though the [FeatureForm] class is not stable, there exists an internal mechanism to + * enable smart recompositions. + * * @param featureForm The [FeatureForm] configuration. * @param modifier The [Modifier] to be applied to layout corresponding to the content of this * FeatureForm. @@ -111,6 +117,33 @@ public fun FeatureForm( modifier: Modifier = Modifier, validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic ) { + val stateData = remember(featureForm) { + StateData(featureForm) + } + FeatureForm( + stateData = stateData, + modifier = modifier, + validationErrorVisibility = validationErrorVisibility + ) +} + +/** + * A wrapper to hold state data. This provides a [Stable] class to enable smart recompositions, + * since [FeatureForm] is not stable. + */ +@Immutable +internal data class StateData(@Stable val featureForm: FeatureForm) + +/** + * This composable uses the [StateData] class to display a [FeatureForm]. + */ +@Composable +internal fun FeatureForm( + stateData: StateData, + modifier: Modifier = Modifier, + validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic +) { + val featureForm = stateData.featureForm val scope = rememberCoroutineScope() val states = rememberStates(form = featureForm, scope = scope) FeatureFormBody(form = featureForm, states = states, modifier = modifier) @@ -266,7 +299,7 @@ internal fun rememberStates( states.add(element, groupState) } - else -> { } + else -> {} } } return states diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt index 76d5daa90..d1c1c0733 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt @@ -16,6 +16,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base +import androidx.compose.runtime.Immutable import androidx.compose.runtime.MutableState import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf @@ -27,6 +28,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.launch +@Immutable internal open class FieldProperties( val label: String, val placeholder: String, @@ -41,6 +43,7 @@ internal open class FieldProperties( /** * A class that provides a validation error [error] for the value of [data]. */ +@Immutable internal data class Value( val data: T, val error: ValidationErrorState = ValidationErrorState.NoError diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt index 098e36e12..8217e523f 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt @@ -17,10 +17,12 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.ui.res.stringResource import com.arcgismaps.toolkit.featureforms.R +@Immutable internal sealed class ValidationErrorState( private vararg val formatArgs: Any ) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt index 358cb4d84..3d45e921c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt @@ -16,8 +16,9 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base -import kotlinx.coroutines.flow.StateFlow +import androidx.compose.runtime.Immutable import com.arcgismaps.mapping.featureforms.FormElement +import kotlinx.coroutines.flow.StateFlow /** * Base state class for a [FormElement]. @@ -26,6 +27,7 @@ import com.arcgismaps.mapping.featureforms.FormElement * @param description Description text for the field. * @param isVisible Property that indicates if the field is visible. */ +@Immutable internal abstract class FormElementState( val label : String, val description: String, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt index b6ba0c74d..ee257f1cc 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt @@ -16,12 +16,14 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base +import androidx.compose.runtime.Immutable import com.arcgismaps.mapping.featureforms.FormElement /** * An iterable collection that provides a [FormElement] and its [FormElementState] as a * [FormStateCollection.Entry]. */ +@Immutable internal interface FormStateCollection : Iterable { interface Entry { val formElement: FormElement diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt index 7dd952168..118e13496 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt @@ -16,7 +16,6 @@ package com.arcgismaps.toolkit.featureforms.internal.components.codedvalue -import androidx.compose.runtime.Stable import com.arcgismaps.data.CodedValue import com.arcgismaps.data.FieldType import com.arcgismaps.mapping.featureforms.FormInputNoValueOption @@ -54,7 +53,6 @@ internal open class CodedValueFieldProperties( * @param onEditValue a callback to invoke when the user edits result in a change of value. This * is called on [CodedValueFieldState.onValueChanged] */ -@Stable internal abstract class CodedValueFieldState( properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 051b230dd..0192b6da6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -18,6 +18,7 @@ package com.arcgismaps.toolkit.featureforms.internal.utils import android.content.Context import androidx.compose.runtime.Composable +import androidx.compose.runtime.Immutable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember @@ -49,6 +50,7 @@ internal val LocalDialogRequester = staticCompositionLocalOf { DialogRequester() /** * A handler that handles dialog requests during the lifetime of a FeatureForm. */ +@Immutable internal class DialogRequester { private val _requestFlow: MutableStateFlow = MutableStateFlow(null) From 50b409592817016f990866b590e6db094f405ba9 Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Thu, 28 Mar 2024 14:11:17 -0700 Subject: [PATCH 06/53] agree with exception name change (#377) * update exception name for API change * update exception name for API change * pull in the build of the SDK with the name change of IncorrectValueTypeException --------- Co-authored-by: Soren Roth --- gradle.properties | 2 +- .../arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt | 2 +- .../toolkit/featureforms/internal/components/base/Flows.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index a89635155..f21d875d9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.4.0 -sdkBuildNumber=4180 +sdkBuildNumber=4191 diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 872490e00..58d461c71 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -360,7 +360,7 @@ private fun SubmitForm(errors: List, onDismissRequest: () -> Unit) { @Composable fun FeatureFormValidationException.getString(): String { return when (this) { - is FeatureFormValidationException.IncorrectValueTypeError -> { + is FeatureFormValidationException.IncorrectValueTypeException -> { stringResource(id = R.string.value_must_be_of_correct_type) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt index 9b824595f..a4c937b5c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt @@ -106,7 +106,7 @@ private fun createValidationErrorStates( ) } - is FeatureFormValidationException.IncorrectValueTypeError -> { + is FeatureFormValidationException.IncorrectValueTypeException -> { if (formElement.fieldType.isFloatingPoint) { add(ValidationErrorState.NotANumber) } else if (formElement.fieldType.isIntegerType) { From 9828bf702d491f63710b5933d27cf96671f6101d Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Thu, 28 Mar 2024 17:30:00 -0700 Subject: [PATCH 07/53] use geo-compose in FeatureFormsApp (#378) * use geo-compose in FeatureFormsApp. * remove DI providing MapViewProxy. add AndroidViewModel usage --------- Co-authored-by: Soren Roth --- .../FeatureFormsApp/app/build.gradle.kts | 2 +- .../featureformsapp/screens/map/MapScreen.kt | 8 +- .../screens/map/MapViewModel.kt | 122 ++++++++++-------- 3 files changed, 75 insertions(+), 57 deletions(-) diff --git a/microapps/FeatureFormsApp/app/build.gradle.kts b/microapps/FeatureFormsApp/app/build.gradle.kts index 68eec7023..5203c3689 100644 --- a/microapps/FeatureFormsApp/app/build.gradle.kts +++ b/microapps/FeatureFormsApp/app/build.gradle.kts @@ -81,7 +81,7 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class).all { dependencies { implementation(project(":authentication")) implementation(project(":featureforms")) - implementation(project(":composable-map")) + implementation(project(":geo-compose")) // sdk implementation(arcgis.mapsSdk) // hilt diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 58d461c71..340f95af1 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -71,7 +71,6 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator import com.arcgismaps.exceptions.FeatureFormValidationException -import com.arcgismaps.toolkit.composablemap.ComposableMap import com.arcgismaps.toolkit.featureforms.FeatureForm import com.arcgismaps.toolkit.featureforms.ValidationErrorVisibility import com.arcgismaps.toolkit.featureformsapp.R @@ -81,6 +80,7 @@ import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.SheetLayout import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.SheetValue import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.StandardBottomSheet import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.rememberStandardBottomSheetState +import com.arcgismaps.toolkit.geocompose.MapView import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @@ -146,11 +146,13 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> } ) { padding -> // show the composable map using the mapViewModel - ComposableMap( + MapView( + arcGISMap = mapViewModel.map, + mapViewProxy = mapViewModel.proxy, modifier = Modifier .padding(padding) .fillMaxSize(), - mapInterface = mapViewModel + onSingleTapConfirmed = { mapViewModel.onSingleTapConfirmed(it) } ) AnimatedVisibility( visible = featureForm != null, diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index 4bb4c6a9c..1a74f406f 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -18,13 +18,14 @@ package com.arcgismaps.toolkit.featureformsapp.screens.map +import android.app.Application import android.widget.Toast import androidx.compose.runtime.MutableState import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf +import androidx.compose.ui.unit.dp +import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope import com.arcgismaps.data.ArcGISFeature import com.arcgismaps.data.ServiceFeatureTable import com.arcgismaps.exceptions.FeatureFormValidationException @@ -35,15 +36,16 @@ import com.arcgismaps.mapping.featureforms.FieldFormElement import com.arcgismaps.mapping.featureforms.FormElement import com.arcgismaps.mapping.featureforms.GroupFormElement import com.arcgismaps.mapping.layers.FeatureLayer -import com.arcgismaps.mapping.view.MapView import com.arcgismaps.mapping.view.SingleTapConfirmedEvent -import com.arcgismaps.toolkit.composablemap.MapInterface -import com.arcgismaps.toolkit.composablemap.MapInterfaceImpl import com.arcgismaps.toolkit.featureforms.ValidationErrorVisibility import com.arcgismaps.toolkit.featureformsapp.data.PortalItemRepository +import com.arcgismaps.toolkit.featureformsapp.di.ApplicationScope +import com.arcgismaps.toolkit.geocompose.MapViewProxy import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import javax.inject.Inject /** @@ -54,7 +56,7 @@ sealed class UIState { * Currently not editing. */ object NotEditing : UIState() - + /** * Currently selecting a new Feature */ @@ -87,6 +89,12 @@ sealed class UIState { */ data class ErrorInfo(val fieldName: String, val error: FeatureFormValidationException) +/** + * Base class for context aware AndroidViewModel. This class must have only a single application + * parameter. + */ +open class BaseMapViewModel(application: Application): AndroidViewModel(application) + /** * A view model for the FeatureForms MapView UI * @constructor to be invoked by injection @@ -94,23 +102,23 @@ data class ErrorInfo(val fieldName: String, val error: FeatureFormValidationExce @HiltViewModel class MapViewModel @Inject constructor( savedStateHandle: SavedStateHandle, - private val portalItemRepository: PortalItemRepository -) : ViewModel(), - MapInterface by MapInterfaceImpl(ArcGISMap()) { + portalItemRepository: PortalItemRepository, + application: Application, + @ApplicationScope private val scope: CoroutineScope +) : BaseMapViewModel(application) { private val itemId: String = savedStateHandle["uri"]!! - lateinit var portalItem: PortalItem + + val proxy: MapViewProxy = MapViewProxy() + + var portalItem: PortalItem = portalItemRepository(itemId) + ?: throw IllegalStateException("portal item not found with id $itemId") + + val map: ArcGISMap = ArcGISMap(portalItem) private val _uiState: MutableState = mutableStateOf(UIState.NotEditing) val uiState: State get() = _uiState - init { - viewModelScope.launch { - portalItem = portalItemRepository(itemId) ?: return@launch - setMap(ArcGISMap(portalItem)) - } - } - /** * Apply attribute edits to the Geodatabase backing * the ServiceFeatureTable and refresh the local feature. @@ -184,7 +192,7 @@ class MapViewModel @Inject constructor( ) return Result.success(Unit) } - + fun selectNewFeature() = (_uiState.value as? UIState.Switching)?.let { prevState -> prevState.oldState.featureForm.discardEdits() @@ -192,9 +200,14 @@ class MapViewModel @Inject constructor( layer.clearSelection() layer.selectFeature(prevState.newFeature) _uiState.value = - UIState.Editing(featureForm = FeatureForm(prevState.newFeature, layer.featureFormDefinition!!)) + UIState.Editing( + featureForm = FeatureForm( + prevState.newFeature, + layer.featureFormDefinition!! + ) + ) } - + fun continueEditing() = (_uiState.value as? UIState.Switching)?.let { prevState -> _uiState.value = prevState.oldState @@ -210,41 +223,42 @@ class MapViewModel @Inject constructor( } ?: return Result.failure(IllegalStateException("Not in editing state")) } - context(MapView, CoroutineScope) override fun onSingleTapConfirmed(singleTapEvent: SingleTapConfirmedEvent) { - launch { - this@MapView.identifyLayers( - screenCoordinate = singleTapEvent.screenCoordinate, - tolerance = 22.0, - returnPopupsOnly = false - ).onSuccess { results -> - try { - results.forEach { result -> - result.geoElements.firstOrNull { - it is ArcGISFeature && (it.featureTable?.layer as? FeatureLayer)?.featureFormDefinition != null - }?.let { - if (_uiState.value is UIState.Editing) { - val currentState = _uiState.value as UIState.Editing - val newFeature = it as ArcGISFeature - _uiState.value = UIState.Switching( - oldState = currentState, - newFeature = newFeature - ) - } else if (_uiState.value is UIState.NotEditing) { - val feature = it as ArcGISFeature - val layer = feature.featureTable!!.layer as FeatureLayer - val featureForm = - FeatureForm(feature, layer.featureFormDefinition!!) - // select the feature - layer.selectFeature(feature) - // set the UI to an editing state with the FeatureForm - _uiState.value = UIState.Editing(featureForm) - } + fun onSingleTapConfirmed(singleTapEvent: SingleTapConfirmedEvent) { + scope.launch { + proxy.identifyLayers( + screenCoordinate = singleTapEvent.screenCoordinate, + tolerance = 22.dp, + returnPopupsOnly = false + ).onSuccess { results -> + try { + results.forEach { result -> + result.geoElements.firstOrNull { + it is ArcGISFeature && (it.featureTable?.layer as? FeatureLayer)?.featureFormDefinition != null + }?.let { + if (_uiState.value is UIState.Editing) { + val currentState = _uiState.value as UIState.Editing + val newFeature = it as ArcGISFeature + _uiState.value = UIState.Switching( + oldState = currentState, + newFeature = newFeature + ) + } else if (_uiState.value is UIState.NotEditing) { + val feature = it as ArcGISFeature + val layer = feature.featureTable!!.layer as FeatureLayer + val featureForm = + FeatureForm(feature, layer.featureFormDefinition!!) + // select the feature + layer.selectFeature(feature) + // set the UI to an editing state with the FeatureForm + _uiState.value = UIState.Editing(featureForm) } } - } catch (e: Exception) { - e.printStackTrace() + } + } catch (e: Exception) { + e.printStackTrace() + withContext(Dispatchers.Main) { Toast.makeText( - context, + getApplication().applicationContext, "failed to create a FeatureForm for the feature", Toast.LENGTH_LONG ).show() @@ -252,6 +266,8 @@ class MapViewModel @Inject constructor( } } } + } + } /** @@ -260,7 +276,7 @@ class MapViewModel @Inject constructor( */ fun List.getFormElement(fieldName: String): FieldFormElement? { val fieldElements = filterIsInstance() - val element = if (fieldElements.isNotEmpty()) { + val element = if (fieldElements.isNotEmpty()) { fieldElements.firstNotNullOfOrNull { if (it.fieldName == fieldName) it else null } From 4b0a3b504c9811cedf4705039df4fe069d1a02a9 Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Mon, 1 Apr 2024 10:11:58 -0700 Subject: [PATCH 08/53] `Forms`: do not pass a selected date into date picker if it is out of range. (#376) * do not pass a selected date into date picker if it is out of range. * just expand the year range to incloude out of range field value's date * add an initialError property to the DateTimePickerState, weave it through to the PickerHeader. * use includeTime and adjust spacing. --------- Co-authored-by: Soren Roth --- .../components/base/FieldValidation.kt | 10 ++++ .../internal/components/base/Flows.kt | 18 +++++++ .../datetime/picker/DateTimePicker.kt | 52 ++++++++++++++++--- .../datetime/picker/DateTimePickerState.kt | 41 ++++++++++++--- .../featureforms/internal/utils/Dialog.kt | 1 + .../src/main/res/values/strings.xml | 2 + 6 files changed, 112 insertions(+), 12 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt index 8217e523f..eff151980 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt @@ -34,6 +34,8 @@ internal sealed class ValidationErrorState( class MinNumericConstraint(min: String) : ValidationErrorState(min) class MaxNumericConstraint(max: String) : ValidationErrorState(max) class MinMaxNumericConstraint(min: String, max: String) : ValidationErrorState(min, max) + class MinDatetimeConstraint(min: String) : ValidationErrorState(min) + class MaxDatetimeConstraint(max: String) : ValidationErrorState(max) data object NotANumber : ValidationErrorState() data object NotAWholeNumber : ValidationErrorState() data object NotInCodedValueDomain : ValidationErrorState() @@ -75,6 +77,14 @@ internal sealed class ValidationErrorState( stringResource(id = R.string.numeric_range_helper_text, *formatArgs) } + is MinDatetimeConstraint -> { + stringResource(id = R.string.min_datetime_helper_text, *formatArgs) + } + + is MaxDatetimeConstraint -> { + stringResource(id = R.string.max_datetime_helper_text, *formatArgs) + } + is NotANumber -> { stringResource(id = R.string.value_must_be_a_number) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt index a4c937b5c..97dd70d0c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt @@ -18,9 +18,11 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base import com.arcgismaps.data.RangeDomain import com.arcgismaps.exceptions.FeatureFormValidationException +import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput import com.arcgismaps.mapping.featureforms.FieldFormElement import com.arcgismaps.mapping.featureforms.TextAreaFormInput import com.arcgismaps.mapping.featureforms.TextBoxFormInput +import com.arcgismaps.toolkit.featureforms.internal.components.datetime.formattedDateTime import com.arcgismaps.toolkit.featureforms.internal.utils.asDoubleTuple import com.arcgismaps.toolkit.featureforms.internal.utils.asLongTuple import com.arcgismaps.toolkit.featureforms.internal.utils.format @@ -129,6 +131,22 @@ private fun createValidationErrorStates( is FeatureFormValidationException.MaxNumericConstraintException -> { hasMaxRangeError = true } + + is FeatureFormValidationException.LessThanMinimumDateTimeException -> { + val dateTimePickerInput = formElement.input as DateTimePickerFormInput + val formatted = dateTimePickerInput.min?.formattedDateTime(dateTimePickerInput.includeTime) + if (formatted != null) { + add(ValidationErrorState.MinDatetimeConstraint(formatted)) + } + } + + is FeatureFormValidationException.MaxDateTimeConstraintException -> { + val dateTimePickerInput = formElement.input as DateTimePickerFormInput + val formatted = dateTimePickerInput.max?.formattedDateTime(dateTimePickerInput.includeTime) + if (formatted != null) { + add(ValidationErrorState.MaxDatetimeConstraint(formatted)) + } + } } if (formElement.input is TextBoxFormInput || formElement.input is TextAreaFormInput) { if (!formElement.fieldType.isNumeric && (hasMinCharError || hasMaxCharError)) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePicker.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePicker.kt index de9a5350c..cf2eb6879 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePicker.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePicker.kt @@ -61,6 +61,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import com.arcgismaps.toolkit.featureforms.R +import com.arcgismaps.toolkit.featureforms.internal.components.base.ValidationErrorState import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.date.DatePicker import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.date.DatePickerDefaults import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.date.DatePickerState @@ -98,6 +99,36 @@ internal enum class DateTimePickerInput { Time } +private fun calcYearRangeStart(min: Long?, selectedDateTime: Long?): Int { + val year = if (min != null && selectedDateTime != null) { + if (min < selectedDateTime) { + Instant.ofEpochMilli(min).atZone(TimeZone.getDefault().toZoneId()).year + } else { + Instant.ofEpochMilli(selectedDateTime).atZone(TimeZone.getDefault().toZoneId()).year + } + } else if (min != null) { + Instant.ofEpochMilli(min)?.atZone(TimeZone.getDefault().toZoneId())?.year + } else { + null + } + + return year ?: DatePickerDefaults.YearRange.first +} +private fun calcYearRangeEnd(max: Long?, selectedDateTime: Long?): Int { + val year = if (max != null && selectedDateTime != null) { + if (max > selectedDateTime) { + Instant.ofEpochMilli(max).atZone(TimeZone.getDefault().toZoneId()).year + } else { + Instant.ofEpochMilli(selectedDateTime).atZone(TimeZone.getDefault().toZoneId()).year + } + } else if (max != null) { + Instant.ofEpochMilli(max)?.atZone(TimeZone.getDefault().toZoneId())?.year + } else { + null + } + + return year ?: DatePickerDefaults.YearRange.last +} /** * A material3 date and time picker presented as an [AlertDialog]. * @@ -125,16 +156,15 @@ internal fun DateTimePicker( } // calculate the date ranges from the state val datePickerRange = IntRange( - start = state.minDateTime?.atZone(TimeZone.getDefault().toZoneId())?.year - ?: DatePickerDefaults.YearRange.first, - endInclusive = state.maxDateTime?.atZone(TimeZone.getDefault().toZoneId())?.year - ?: DatePickerDefaults.YearRange.last + start = calcYearRangeStart(state.minDateTime?.toEpochMilli(), state.selectedDateTimeMillis), + endInclusive = calcYearRangeEnd(state.maxDateTime?.toEpochMilli(), state.selectedDateTimeMillis) ) // The picker input type, date or time. val pickerInput by state.activePickerInput // DateTime from the state's value val dateTime by state.dateTime // create and remember a DatePickerState + val datePickerState = rememberSaveable(dateTime, saver = DatePickerState.Saver()) { DatePickerState( initialSelectedDateMillis = dateTime.dateForPicker, @@ -209,6 +239,7 @@ private fun (ColumnScope).PickerContent( PickerTitle( label = label, description = description, + error = state.initialError, icon = it, onIconTap = onPickerToggle ) @@ -244,12 +275,13 @@ private fun (ColumnScope).PickerContent( private fun PickerTitle( label: String, description: String, + error: ValidationErrorState, icon: ImageVector?, onIconTap: () -> Unit = {} ) { Row( Modifier - .padding(start = 25.dp, end = 15.dp, bottom = 10.dp) + .padding(start = 25.dp, end = 10.dp, bottom = 10.dp) .fillMaxWidth(), horizontalArrangement = Arrangement.End, verticalAlignment = Alignment.CenterVertically @@ -258,6 +290,13 @@ private fun PickerTitle( Text(text = label, style = MaterialTheme.typography.titleMedium) Spacer(modifier = Modifier.height(5.dp)) Text(text = description, style = MaterialTheme.typography.bodySmall) + if (error !is ValidationErrorState.NoError) { + Text( + text = error.getString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.error, + ) + } } icon?.let { IconButton(onClick = onIconTap) { @@ -391,7 +430,8 @@ private fun DateTimePickerPreview() { style = DateTimePickerStyle.DateTime, label = "Next Inspection Date", description = "Enter a date in the next six months", - pickerInput = DateTimePickerInput.Date + pickerInput = DateTimePickerInput.Date, + initialError = ValidationErrorState.MinDatetimeConstraint("1/1/2000 01:00 AM") ) DateTimePicker(state = state, {}, {}, {}) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePickerState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePickerState.kt index 794a187fd..1f6155815 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePickerState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/picker/DateTimePickerState.kt @@ -24,6 +24,8 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.Saver import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable +import com.arcgismaps.toolkit.featureforms.internal.components.base.ValidationErrorState +import com.arcgismaps.toolkit.featureforms.internal.components.datetime.formattedDateTime import com.arcgismaps.toolkit.featureforms.internal.components.datetime.toDateMillis import com.arcgismaps.toolkit.featureforms.internal.components.datetime.toDateTimeInUtcZone import com.arcgismaps.toolkit.featureforms.internal.components.datetime.toZonedDateTime @@ -133,6 +135,13 @@ internal interface DateTimePickerState { * The current date time value. Use [setDateTime] to set this state. */ val dateTime: State + + /** + * The initial error state of the selected date time value based on the value in the Field. + * Note this isn't a state variable because it cannot be changed based on a user input to the + * DatePicker. + */ + val initialError: ValidationErrorState /** * A timestamp that represents the selected date and time in UTC milliseconds from the epoch. @@ -219,6 +228,7 @@ private class DateTimePickerStateImpl( override val minDateTime: Instant?, override val maxDateTime: Instant?, initialValue: Instant?, + override val initialError: ValidationErrorState, override val label: String, override val description: String = "", pickerInput: DateTimePickerInput @@ -226,6 +236,7 @@ private class DateTimePickerStateImpl( override var dateTime = mutableStateOf( UtcDateTime.create(initialValue?.toEpochMilli()) ) + override val selectedDateTimeMillis: Long? get() = dateTime.value.epochMillis @@ -238,7 +249,7 @@ private class DateTimePickerStateImpl( override fun setDateTime(date: Long?, hour: Int, minute: Int) { dateTime.value = UtcDateTime.createFromPickerValues(date, hour, minute) } - + override fun togglePickerInput() { activePickerInput.value = if (activePickerInput.value == DateTimePickerInput.Date) { DateTimePickerInput.Time @@ -317,6 +328,7 @@ internal fun DateTimePickerState( minDateTime: Instant? = null, maxDateTime: Instant? = null, initialValue: Instant? = null, + initialError: ValidationErrorState, label: String, description: String = "", pickerInput: DateTimePickerInput @@ -325,6 +337,7 @@ internal fun DateTimePickerState( minDateTime, maxDateTime, initialValue, + initialError, label, description, pickerInput @@ -349,6 +362,7 @@ internal fun rememberDateTimePickerState( minDateTime: Instant? = null, maxDateTime: Instant? = null, initialValue: Instant? = null, + initialError: ValidationErrorState, label: String, description: String = "", pickerInput: DateTimePickerInput @@ -358,6 +372,7 @@ internal fun rememberDateTimePickerState( minDateTime, maxDateTime, initialValue, + initialError, label, description, pickerInput @@ -372,10 +387,16 @@ internal fun rememberDateTimePickerState( */ internal fun dateTimePickerStateSaver(): Saver = listSaver( save = { - listOf(it.pickerStyle, + listOf( + it.pickerStyle, it.minDateTime?.toEpochMilli(), it.maxDateTime?.toEpochMilli(), it.dateTime.value.epochMillis, + when (it.initialError) { + is ValidationErrorState.NoError -> 0 + is ValidationErrorState.MinDatetimeConstraint -> -1 + else -> { 1 } + }, it.label, it.description, it.activePickerInput.value @@ -385,14 +406,22 @@ internal fun dateTimePickerStateSaver(): Saver = listS // note: passes the date time picker state exactly as saved to // set the initial view of the dialog based on how it was saved, // not on initial conditions. + val min = it[1]?.let { Instant.ofEpochMilli(it as Long) } + val max = it[2]?.let { Instant.ofEpochMilli(it as Long) } + val includeTime = (it[0] as DateTimePickerStyle) != DateTimePickerStyle.Date DateTimePickerStateImpl( it[0] as DateTimePickerStyle, - it[1]?.let { Instant.ofEpochMilli(it as Long) }, - it[2]?.let { Instant.ofEpochMilli(it as Long) }, + min, + max, it[3]?.let { Instant.ofEpochMilli(it as Long) }, - it[4] as String, + when (it[4]) { + 0 -> ValidationErrorState.NoError + -1 -> ValidationErrorState.MinDatetimeConstraint(min!!.formattedDateTime(includeTime)) + else -> ValidationErrorState.MinDatetimeConstraint(max!!.formattedDateTime(includeTime)) + }, it[5] as String, - it[6] as DateTimePickerInput + it[6] as String, + it[7] as DateTimePickerInput ) } ) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 0192b6da6..90286dd68 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -140,6 +140,7 @@ internal fun FeatureFormDialog() { state.minEpochMillis, state.maxEpochMillis, state.value.value.data, + state.value.value.error, state.label, state.description, DateTimePickerInput.Date diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 363db5faa..18e08a74d 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -36,6 +36,8 @@ Value must be a number Value must be within domain Value must not be empty + Date must be on or after %1$s + Date must be on or before %1$s Entered date From 2fc10dacce0f0351908b26b1086adffb44be163f Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Mon, 1 Apr 2024 17:36:28 -0700 Subject: [PATCH 09/53] remove gif. add screenshots (#381) Co-authored-by: Soren Roth --- microapps/FeatureFormsApp/README.md | 2 +- microapps/FeatureFormsApp/screenshot.gif | Bin 1773963 -> 0 bytes microapps/FeatureFormsApp/screenshot2.png | Bin 0 -> 39255 bytes microapps/FeatureFormsApp/screenshot3.png | Bin 0 -> 36078 bytes 4 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 microapps/FeatureFormsApp/screenshot.gif create mode 100644 microapps/FeatureFormsApp/screenshot2.png create mode 100644 microapps/FeatureFormsApp/screenshot3.png diff --git a/microapps/FeatureFormsApp/README.md b/microapps/FeatureFormsApp/README.md index ed6ad2ad7..5ca63269c 100644 --- a/microapps/FeatureFormsApp/README.md +++ b/microapps/FeatureFormsApp/README.md @@ -3,7 +3,7 @@ This micro-app demonstrates the use of the [FeatureForm](../../toolkit/featureforms/README.md) toolkit component which provides a rich, dynamic, and responsive form for editing Feature attributes. -![Screenshot](screenshot.gif) +![Screenshot](screenshot2.png) ![Screenshot](screenshot3.png) ## Usage diff --git a/microapps/FeatureFormsApp/screenshot.gif b/microapps/FeatureFormsApp/screenshot.gif deleted file mode 100644 index 008efab38aa2f2c5bf594d8177ce32e03009b4df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1773963 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 BBKYL^V#r1Vms7YyYviJv#eY%Ym>BVZ(>0s* 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

CGf~H@PqLy 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≪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⁢lri*5nP6G`BB~+#v&lH*4O~3Zr-B+ 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¡@cr3BVgAflt~R*i;!9G_F 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 KIw9f| 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

^#S0# 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�kA?kOpTfooEUcXp806zot8MZ~zQ&fNzMiW*`6rFo7~` zhu%g2vxYy%mIDMp0P7P6(Z&F2IBU!Xz;@_|M?e4tP=L<103X290hES*Z~z6c09VUD z(I#y{b6us)X4JmB_*C3~7Up4=ZBnM~q-MH#AO-6#ggB!C1PFj+z`(RV1_UU8ZJjlz zwuURXZc6J1e}D#Q=mzLc>$8rvrS^tu5P${1fM5^@Ysi2FAOHxT@QyswS%YkG5C{Lk z7JzSnY!R=&@)id!n?>~QTJ>J<&TH?kj!l|2+#Wt!fP)7-6@bC+hjFNfeh_Q~_=bM4 zzHaaYIT(g+us$&p?m}3FV-Sa90EXQ*@^(muF&Kko5C;ffhE-4i0pq5Ks0L~{hGNJvdf10}u!TbKgktaqd2okwNQP!e266E6QK*J; za0gZO2LxCE3z!BjV{->^00igfYXZQ43?TCBzV6ZPhcZ|0HJ1hjNbCYo00)qVeK>~<7ytrLfCA|E0k8$` zERtI>t@((IiPH5*oSY}fdD`N z3@CvN5P$#(hkjTFkyil|Ab;)JG z8sKz1s0SLrfCW&19Y6wu$8IK1cLY#-pcepnhzAVt?E(;c0qA#sFo!Oy2Xi0*&n9tn z`1XG2@Bk115l{ij765G^YkPM96`+B{c7S?_g&lb7$RCE#mvzd{fO<%71u%gOaCrsz zc%v_Eunkfk{`};9`e%o2sfWbimGuk=hibq8>|QezR{#;9hH~f!c7KF#2!X`*^mZVH z50?gUCX0wL-R zD|yUZJ6i}49Aij;0ETbk&=F7|qFK3pj}#~v=4~FV1rAR}+@0Gc#uK?zW+$C^MjbLO`7;|Hx+Py`G1^&5kr zfWLVSAGSm1KtX_S<*xUnAx?yX0`7c!L`}AywvrBrwo9LW9L5C*y3PD|Q$fGmx!ZMn zSS?6)?3n&m3Rti9afCCtm#hPpVoF>3P1Oy-e0mtZOWN+xy zv&2#Y=%^!dS3K0*a}aeSngjBfb6s}?h!aAM^n4dyYA4ns4gvuP+YdIbjun;2r!CMA zI=?L%)i-j~n36f&m>^m`#T-SAJM&26=P>-~SdTgLG&>+Y{fV;=s0GOO&4Z9en5xDb zONQZ0e5v);r=b!ys;MWB$g#>Zg&;tU0<7{sf$ z+&JPei(^U-93_o4(jC>Da`c(=Z95^X*$qA7R5M*6?PSpGK7z4(;y>s-Bmgz#n3LdA z4)l}DL%DR@&H@EE@Ncu!&_nQ1``N7{O#3w4&!|`rAdWWYz|-9$`*<<{#*(UBx#eYH zm=efoi45w8CZim>VV9@sZ88r9u)sVr*E9cLA>u$2G(Y0FvJ?&7EE6R(=0HOb2FV~@ z022L-lgvkBeA5pGtu0fJE$%6hk`b+~(oH|FJcN!m&6u`BJ<`+&sW=`GP(VNK&{K9< z-*AtB1+h?LivmzelbUG`EK`nh1laO#!0_y&U!4HD4FBQ}rJVNG{k$p~dDx{nRDP^P`ouwNCF;7XFu`dfO zz%&*xjslv25B;4ch&!qpkd{)NZXjTJ&5{iU#Nm%*2*5PalNJG7@{Ju3B#KdaTsK-~ zKJ*PsJZR#Y{1T!7rYXP^-$)G

W}IbcMWzQcHvQLQQ1-NY<(VuA7$eZ%VJpZt#GyR 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 Date: Mon, 1 Apr 2024 21:35:21 -0700 Subject: [PATCH 10/53] `Forms`: fix title padding (#382) --- .../toolkit/featureforms/FeatureForm.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 65da1601c..3144c9d24 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -29,6 +29,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material3.Divider import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -48,8 +49,6 @@ import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics -import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import com.arcgismaps.mapping.featureforms.ComboBoxFormInput import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput @@ -169,9 +168,13 @@ internal fun FeatureForm( } @Composable -private fun FeatureFormTitle(featureForm: FeatureForm) { +private fun FeatureFormTitle(featureForm: FeatureForm, modifier: Modifier = Modifier) { val title by featureForm.title.collectAsState() - Text(text = title, style = TextStyle(fontWeight = FontWeight.Bold)) + Text( + text = title, + style = MaterialTheme.typography.titleMedium, + modifier = modifier + ) } @Composable @@ -187,7 +190,10 @@ private fun FeatureFormBody( horizontalAlignment = Alignment.CenterHorizontally ) { // title - FeatureFormTitle(featureForm = form) + FeatureFormTitle( + featureForm = form, + modifier = Modifier.padding(horizontal = 15.dp) + ) Spacer( modifier = Modifier .fillMaxWidth() From 6198e6b21fea75fee150ccc4ea985057aeee7cb8 Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Tue, 2 Apr 2024 14:59:38 -0700 Subject: [PATCH 11/53] swap out public webmap for a managed public webmap (#384) Co-authored-by: Soren Roth --- .../toolkit/featureformsapp/data/PortalItemRepository.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt index 1edf73a02..212b4113c 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/data/PortalItemRepository.kt @@ -166,5 +166,5 @@ class PortalItemRepository( */ fun getListOfMaps(): List = listOf( - "https://www.arcgis.com/home/item.html?id=fe8b712a5bf7480e9781a4ad3dd5e0ff" + "https://www.arcgis.com/home/item.html?id=f72207ac170a40d8992b7a3507b44fad" ) From 12e2c34394608060ceefbea337cd760f068174b1 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 2 Apr 2024 15:15:15 -0700 Subject: [PATCH 12/53] `Forms` : Update validation behavior for text fields (#385) --- gradle.properties | 2 +- .../components/base/BaseFieldState.kt | 7 ++++-- .../internal/components/base/BaseTextField.kt | 22 +++++++++---------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gradle.properties b/gradle.properties index f21d875d9..f000d6ff1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.4.0 -sdkBuildNumber=4191 +sdkBuildNumber=4196 diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt index d1c1c0733..8e8eebc43 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt @@ -212,8 +212,11 @@ internal abstract class BaseFieldState( errors.first() } } else { - // if focused and empty, don't show the "Required" error or numeric parse errors - if (value.value.data is String && (value.value.data as String).isEmpty()) { + // if is a text field and is focused, empty and has a description do not show + // any error + if (value.value.data is String + && (value.value.data as String).isEmpty() + && description.isNotEmpty()) { ValidationErrorState.NoError } else { // show the first non-required error diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt index ebe6792bf..20a5db6d6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt @@ -219,24 +219,24 @@ private fun trailingIcon( onValueChange: (String) -> Unit, onDone: () -> Unit ): @Composable () -> Unit = { - if (!isEmpty) { - // show a clear icon if the field is not empty + if (!singleLine && isFocused) { + // show a done button only when focused for a multi line text field IconButton( - onClick = { onValueChange("") }, - modifier = Modifier.semantics { contentDescription = "Clear text button" } + onClick = onDone, + modifier = Modifier.semantics { contentDescription = "Save local edit button" } ) { - Icon(imageVector = Icons.Rounded.Clear, contentDescription = "Clear Text") + Icon(imageVector = Icons.Rounded.CheckCircle, contentDescription = "Done") } - } else if (singleLine && trailingIcon != null) { + } else if (singleLine && trailingIcon != null && isEmpty) { // show a trailing icon if provided when the single line field is empty Icon(imageVector = trailingIcon, contentDescription = "field icon") - } else if (!singleLine && isFocused) { - // show a done button only when focused for a multi line text field + } else if (!isEmpty) { + // show a clear icon if the field is not empty IconButton( - onClick = onDone, - modifier = Modifier.semantics { contentDescription = "Save local edit button" } + onClick = { onValueChange("") }, + modifier = Modifier.semantics { contentDescription = "Clear text button" } ) { - Icon(imageVector = Icons.Rounded.CheckCircle, contentDescription = "Done") + Icon(imageVector = Icons.Rounded.Clear, contentDescription = "Clear Text") } } } From a9835fa6b148c0a41aa93aa2276facf57f810d0a Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Tue, 2 Apr 2024 16:25:12 -0700 Subject: [PATCH 13/53] fix for breaking API change in dependency (#386) Co-authored-by: Soren Roth --- microapps/FeatureFormsApp/app/build.gradle.kts | 2 +- .../arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt | 2 +- .../toolkit/featureformsapp/screens/map/MapViewModel.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/microapps/FeatureFormsApp/app/build.gradle.kts b/microapps/FeatureFormsApp/app/build.gradle.kts index 5203c3689..8753f238c 100644 --- a/microapps/FeatureFormsApp/app/build.gradle.kts +++ b/microapps/FeatureFormsApp/app/build.gradle.kts @@ -81,7 +81,7 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class).all { dependencies { implementation(project(":authentication")) implementation(project(":featureforms")) - implementation(project(":geo-compose")) + implementation(project(":geoview-compose")) // sdk implementation(arcgis.mapsSdk) // hilt diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 340f95af1..69271b46a 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -80,7 +80,7 @@ import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.SheetLayout import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.SheetValue import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.StandardBottomSheet import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.rememberStandardBottomSheetState -import com.arcgismaps.toolkit.geocompose.MapView +import com.arcgismaps.toolkit.geoviewcompose.MapView import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index 1a74f406f..eae47b1b1 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -40,7 +40,7 @@ import com.arcgismaps.mapping.view.SingleTapConfirmedEvent import com.arcgismaps.toolkit.featureforms.ValidationErrorVisibility import com.arcgismaps.toolkit.featureformsapp.data.PortalItemRepository import com.arcgismaps.toolkit.featureformsapp.di.ApplicationScope -import com.arcgismaps.toolkit.geocompose.MapViewProxy +import com.arcgismaps.toolkit.geoviewcompose.MapViewProxy import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers From 6cfaf98950f5f83ca013f68642b13a43ef5046c1 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 9 Apr 2024 12:35:08 -0700 Subject: [PATCH 14/53] `Forms` : Refactor expression evaluation (#388) --- .../components/base/BaseFieldState.kt | 26 +++++++++++++++---- .../codedvalue/CodedValueFieldState.kt | 13 +++++++--- .../components/codedvalue/ComboBoxField.kt | 5 +++- .../codedvalue/ComboBoxFieldState.kt | 18 ++++++------- .../codedvalue/RadioButtonFieldState.kt | 20 +++++++------- .../components/codedvalue/SwitchFieldState.kt | 25 +++++++++--------- .../components/datetime/DateTimeField.kt | 5 +++- .../components/datetime/DateTimeFieldState.kt | 25 +++++++++--------- .../components/text/FormTextFieldState.kt | 25 +++++++++--------- 9 files changed, 94 insertions(+), 68 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt index 8e8eebc43..b20a60dd4 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt @@ -16,11 +16,13 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base +import android.util.Log import androidx.compose.runtime.Immutable import androidx.compose.runtime.MutableState import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -57,14 +59,17 @@ internal data class Value( * @param initialValue optional initial value to set for this field. It is set to the value of * [FieldProperties.value] by default. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. - * @param onEditValue a callback to invoke when the user edits result in a change of value. This - * is called on [BaseFieldState.onValueChanged]. + * @param updateValue a function that is invoked when the user edits result in a change of value. This + * is called in [BaseFieldState.onValueChanged]. + * @param evaluateExpressions a function that is invoked to evaluate all form expressions. This is + * called after a successful [updateValue]. */ internal abstract class BaseFieldState( properties: FieldProperties, initialValue: T = properties.value.value, private val scope: CoroutineScope, - protected val onEditValue: (Any?) -> Unit + private val updateValue: (Any?) -> Unit, + private val evaluateExpressions: suspend () -> Result>, ) : FormElementState( label = properties.label, description = properties.description, @@ -150,7 +155,7 @@ internal abstract class BaseFieldState( /** * Callback to update the current value of this state object to the given [input]. This also - * sets the value on the feature using [onEditValue]. + * sets the value on the feature using [updateValue] and calls [evaluateExpressions]. */ fun onValueChanged(input: T) { // infer that a value change event comes from a user interaction and hence treat it as a @@ -159,7 +164,18 @@ internal abstract class BaseFieldState( // set the ui state immediately _value.value = Value(input) // update the attributes - onEditValue(typeConverter(input)) + updateValue(typeConverter(input)) + // evaluate expressions + scope.launch { + evaluateExpressions().onSuccess { + if (it.isNotEmpty()) { + Log.e("FeatureForm", "Errors found while evaluating expressions:") + it.forEach { error -> + Log.e("FeatureForm", "Evaluation Error:", error.error) + } + } + } + } } /** diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt index 118e13496..58afc5d06 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt @@ -18,6 +18,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.codedvalue import com.arcgismaps.data.CodedValue import com.arcgismaps.data.FieldType +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.mapping.featureforms.FormInputNoValueOption import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState import com.arcgismaps.toolkit.featureforms.internal.components.base.FieldProperties @@ -50,19 +51,23 @@ internal open class CodedValueFieldProperties( * @param initialValue optional initial value to set for this field. It is set to the value of * [TextFieldProperties.value] by default. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. - * @param onEditValue a callback to invoke when the user edits result in a change of value. This - * is called on [CodedValueFieldState.onValueChanged] + * @param updateValue a function that is invoked when the user edits result in a change of value. This + * is called in [BaseFieldState.onValueChanged]. + * @param evaluateExpressions a function that is invoked to evaluate all form expressions. This is + * called after a successful [updateValue]. */ internal abstract class CodedValueFieldState( properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, - onEditValue: ((Any?) -> Unit), + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> ) : BaseFieldState( properties = properties, scope = scope, initialValue = initialValue, - onEditValue = onEditValue, + updateValue = updateValue, + evaluateExpressions = evaluateExpressions ) { /** * The list of coded values associated with this field. diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt index 319b7bd71..ed8658b25 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt @@ -366,7 +366,10 @@ private fun ComboBoxPreview() { noValueLabel = "No value" ), scope = scope, - onEditValue = {}, + updateValue = {}, + evaluateExpressions = { + return@ComboBoxFieldState Result.success(emptyList()) + } ) ComboBoxField(state = state) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt index 7847887ec..2dd81ba23 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import com.arcgismaps.mapping.featureforms.ComboBoxFormInput import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.toolkit.featureforms.internal.components.base.mapValidationErrors import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -34,8 +35,9 @@ internal class ComboBoxFieldState( properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, - onEditValue: ((Any?) -> Unit), -) : CodedValueFieldState(properties, initialValue, scope, onEditValue) { + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> +) : CodedValueFieldState(properties, initialValue, scope, updateValue, evaluateExpressions) { companion object { /** @@ -72,10 +74,8 @@ internal class ComboBoxFieldState( ), initialValue = list[0], scope = scope, - onEditValue = { newValue -> - formElement.updateValue(newValue) - scope.launch { form.evaluateExpressions() } - }, + updateValue = formElement::updateValue, + evaluateExpressions = form::evaluateExpressions ).apply { onFocusChanged(list[1] as Boolean) } @@ -110,9 +110,7 @@ internal fun rememberComboBoxFieldState( fieldType = field.fieldType ), scope = scope, - onEditValue = { - field.updateValue(it) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt index ba1c507df..9e53e3a41 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt @@ -22,10 +22,10 @@ import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.mapping.featureforms.RadioButtonsFormInput import com.arcgismaps.toolkit.featureforms.internal.components.base.mapValidationErrors import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.launch internal typealias RadioButtonFieldProperties = CodedValueFieldProperties @@ -33,12 +33,14 @@ internal class RadioButtonFieldState( properties: RadioButtonFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, - onEditValue: ((Any?) -> Unit) + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> ) : CodedValueFieldState( properties = properties, initialValue = initialValue, scope = scope, - onEditValue = onEditValue + updateValue = updateValue, + evaluateExpressions = evaluateExpressions ) { /** @@ -87,10 +89,8 @@ internal class RadioButtonFieldState( ), initialValue = list[0], scope = scope, - onEditValue = { newValue -> - formElement.updateValue(newValue) - scope.launch { form.evaluateExpressions() } - }, + updateValue = formElement::updateValue, + evaluateExpressions = form::evaluateExpressions ) } ) @@ -123,9 +123,7 @@ internal fun rememberRadioButtonFieldState( noValueLabel = input.noValueLabel ), scope = scope, - onEditValue = { - field.updateValue(it) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt index 32a199990..0fddcbf64 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt @@ -25,6 +25,7 @@ import com.arcgismaps.data.CodedValue import com.arcgismaps.data.FieldType import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.mapping.featureforms.FormInputNoValueOption import com.arcgismaps.mapping.featureforms.SwitchFormInput import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState @@ -72,20 +73,24 @@ internal class SwitchFieldProperties( * @param properties the [SwitchFieldProperties] associated with this state. * @property initialValue the initial value to set for this field. This value should be a CodedValue code or subtype. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. - * @param onEditValue a callback to invoke when the user edits result in a change of value. This - * is called on [SwitchFieldState.onValueChanged]. + * @param updateValue a function that is invoked when the user edits result in a change of value. This + * is called in [BaseFieldState.onValueChanged]. + * @param evaluateExpressions a function that is invoked to evaluate all form expressions. This is + * called after a successful [updateValue]. */ @Stable internal class SwitchFieldState( properties: SwitchFieldProperties, val initialValue: Any? = properties.value.value, scope: CoroutineScope, - onEditValue: ((Any?) -> Unit) + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> ) : CodedValueFieldState( properties = properties, scope = scope, initialValue = initialValue, - onEditValue = onEditValue + updateValue = updateValue, + evaluateExpressions = evaluateExpressions ) { /** * The CodedValue that represents the "on" state of the Switch. @@ -139,10 +144,8 @@ internal class SwitchFieldState( ), initialValue = list[0], scope = scope, - onEditValue = { code -> - formElement.updateValue(code) - scope.launch { form.evaluateExpressions() } - }, + updateValue = formElement::updateValue, + evaluateExpressions = form::evaluateExpressions ) } ) @@ -184,9 +187,7 @@ internal fun rememberSwitchFieldState( noValueLabel = noValueString ), scope = scope, - onEditValue = { - field.updateValue(it) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt index a42c5b316..65e3c2496 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt @@ -124,7 +124,10 @@ private fun DateTimeFieldPreview() { shouldShowTime = true ), scope = scope, - onEditValue = {}, + updateValue = {}, + evaluateExpressions = { + return@DateTimeFieldState Result.success(emptyList()) + } ) DateTimeField(state = state) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt index 5090c2f8c..60fb0e6a5 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt @@ -25,6 +25,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState import com.arcgismaps.toolkit.featureforms.internal.components.base.FieldProperties import com.arcgismaps.toolkit.featureforms.internal.components.base.ValidationErrorState @@ -59,19 +60,23 @@ internal class DateTimeFieldProperties( * @param initialValue optional initial value to set for this field. It is set to the value of * [DateTimeFieldProperties.value] by default. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. - * @param onEditValue a callback to invoke when the user edits result in a change of value. This - * is called on [FormTextFieldState.onValueChanged] + * @param updateValue a function that is invoked when the user edits result in a change of value. This + * is called in [BaseFieldState.onValueChanged]. + * @param evaluateExpressions a function that is invoked to evaluate all form expressions. This is + * called after a successful [updateValue]. */ internal class DateTimeFieldState( properties: DateTimeFieldProperties, initialValue: Instant? = properties.value.value, scope: CoroutineScope, - onEditValue: (Any?) -> Unit, + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> ) : BaseFieldState( properties = properties, initialValue = initialValue, scope = scope, - onEditValue = onEditValue, + updateValue = updateValue, + evaluateExpressions = evaluateExpressions ) { val minEpochMillis: Instant? = properties.minEpochMillis @@ -108,10 +113,8 @@ internal class DateTimeFieldState( ), initialValue = list[0] as Instant?, scope = scope, - onEditValue = { - field.updateValue(it) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions ).apply { onFocusChanged(list[1] as Boolean) } @@ -151,9 +154,7 @@ internal fun rememberDateTimeFieldState( shouldShowTime = shouldShowTime ), scope = scope, - onEditValue = { - field.updateValue(it) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt index 9554b1c7a..d0b739132 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt @@ -26,6 +26,7 @@ import com.arcgismaps.data.FieldType import com.arcgismaps.data.RangeDomain import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormExpressionEvaluationError import com.arcgismaps.mapping.featureforms.TextAreaFormInput import com.arcgismaps.mapping.featureforms.TextBoxFormInput import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState @@ -61,20 +62,24 @@ internal class TextFieldProperties( * @param initialValue optional initial value to set for this field. It is set to the value of * [TextFieldProperties.value] by default. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. - * @param onEditValue a callback to invoke when the user edits result in a change of value. This - * is called on [FormTextFieldState.onValueChanged] + * @param updateValue a function that is invoked when the user edits result in a change of value. This + * is called in [BaseFieldState.onValueChanged]. + * @param evaluateExpressions a function that is invoked to evaluate all form expressions. This is + * called after a successful [updateValue]. */ @Stable internal class FormTextFieldState( properties: TextFieldProperties, initialValue: String = properties.value.value, scope: CoroutineScope, - onEditValue: (Any?) -> Unit + updateValue: (Any?) -> Unit, + evaluateExpressions: suspend () -> Result> ) : BaseFieldState( properties = properties, initialValue = initialValue, scope = scope, - onEditValue = onEditValue + updateValue = updateValue, + evaluateExpressions = evaluateExpressions ) { // indicates singleLine only if TextBoxFeatureFormInput val singleLine = properties.singleLine @@ -145,10 +150,8 @@ internal class FormTextFieldState( ), initialValue = list[0] as String, scope = scope, - onEditValue = { newValue -> - formElement.updateValue(newValue) - scope.launch { form.evaluateExpressions() } - }, + updateValue = formElement::updateValue, + evaluateExpressions = form::evaluateExpressions ).apply { // focus is lost on rotation. https://devtopia.esri.com/runtime/apollo/issues/230 onFocusChanged(list[1] as Boolean) @@ -186,9 +189,7 @@ internal fun rememberFormTextFieldState( maxLength = maxLength ), scope = scope, - onEditValue = { newValue -> - field.updateValue(newValue) - scope.launch { form.evaluateExpressions() } - }, + updateValue = field::updateValue, + evaluateExpressions = form::evaluateExpressions, ) } From 79ee7536bc5d5aaebc8601eb186ee6f25d8f34e6 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 16 Apr 2024 13:55:22 -0700 Subject: [PATCH 15/53] `Forms` : Add OAuth login (#393) --- microapps/FeatureFormsApp/README.md | 7 +++++++ .../app/src/main/AndroidManifest.xml | 16 ++++++++++++++++ .../screens/login/LoginViewModel.kt | 11 ++++++++++- secrets.defaults.properties | 1 + 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/microapps/FeatureFormsApp/README.md b/microapps/FeatureFormsApp/README.md index 5ca63269c..9ece032fe 100644 --- a/microapps/FeatureFormsApp/README.md +++ b/microapps/FeatureFormsApp/README.md @@ -17,4 +17,11 @@ webMapUser=XXX webMapPassword=YYY ``` +To authenticate using OAuth, provide the Client ID value in `local.properties`. If an OAuth client id +is not provided, the app will prompt a username and password dialog. + +``` +clientId=YOUR_CLIENT_ID +``` + For more information on the `FeatureForm` component and how it works, see it's [Readme](../../toolkit/featureforms/README.md). diff --git a/microapps/FeatureFormsApp/app/src/main/AndroidManifest.xml b/microapps/FeatureFormsApp/app/src/main/AndroidManifest.xml index a022d20c9..298a63415 100644 --- a/microapps/FeatureFormsApp/app/src/main/AndroidManifest.xml +++ b/microapps/FeatureFormsApp/app/src/main/AndroidManifest.xml @@ -41,6 +41,22 @@ + + + + + + + + + + diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt index 465d8de36..92f4bc038 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt @@ -18,6 +18,7 @@ package com.arcgismaps.toolkit.featureformsapp.screens.login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.arcgismaps.httpcore.authentication.OAuthUserConfiguration import com.arcgismaps.portal.Portal import com.arcgismaps.toolkit.authentication.AuthenticatorState import com.arcgismaps.toolkit.featureformsapp.BuildConfig @@ -59,6 +60,8 @@ class LoginViewModel @Inject constructor( private val _loginState: MutableStateFlow = MutableStateFlow(LoginState.NotLoggedIn) val loginState = _loginState.asStateFlow() + private val oAuthRedirectUri = "featureformsapp://auth" + private var credentials: Credentials? = Credentials() init { @@ -103,7 +106,13 @@ class LoginViewModel @Inject constructor( if (url.isNotEmpty()) { urlHistoryDao.insert(UrlEntry(url)) } - authenticatorState.oAuthUserConfiguration = null + authenticatorState.oAuthUserConfiguration = if (BuildConfig.clientId.isNotBlank()) + OAuthUserConfiguration( + portalUrl = url, + clientId = BuildConfig.clientId, + redirectUrl = oAuthRedirectUri, + ) + else null portalSettings.setPortalUrl(url) portalSettings.setPortalConnection(Portal.Connection.Authenticated) val portal = Portal(url, Portal.Connection.Authenticated) diff --git a/secrets.defaults.properties b/secrets.defaults.properties index 517704bd0..34aea7c06 100644 --- a/secrets.defaults.properties +++ b/secrets.defaults.properties @@ -22,3 +22,4 @@ API_KEY=XX webMapUser=XX webMapPassword=XX +clientId=" " From 6f8ebed54a5ff9406e38317f7d12e32f63381588 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 17 Apr 2024 20:11:34 -0700 Subject: [PATCH 16/53] `Forms` : Add AGOL Login (#398) --- microapps/FeatureFormsApp/README.md | 6 -- .../screens/login/LoginScreen.kt | 59 +++++++++++---- .../screens/login/LoginViewModel.kt | 69 ++++++------------ .../main/res/drawable/ic_topographic_map.jpeg | Bin 0 -> 184889 bytes .../app/src/main/res/values/strings.xml | 3 +- secrets.defaults.properties | 2 - 6 files changed, 67 insertions(+), 72 deletions(-) create mode 100644 microapps/FeatureFormsApp/app/src/main/res/drawable/ic_topographic_map.jpeg diff --git a/microapps/FeatureFormsApp/README.md b/microapps/FeatureFormsApp/README.md index 9ece032fe..5640ad09d 100644 --- a/microapps/FeatureFormsApp/README.md +++ b/microapps/FeatureFormsApp/README.md @@ -10,12 +10,6 @@ for editing Feature attributes. The application provides a web map gallery and a map viewer which invokes the form when Features are tapped. Authentication is optional but limited to specific public web maps. -To authenticate ArcGIS Online with username and password, please provide values in `local.properties` as follows - -``` -webMapUser=XXX -webMapPassword=YYY -``` To authenticate using OAuth, provide the Client ID value in `local.properties`. If an OAuth client id is not provided, the app will prompt a username and password dialog. diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginScreen.kt index abb9ee2a1..4712dc69d 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginScreen.kt @@ -26,13 +26,17 @@ import androidx.compose.animation.fadeOut import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideOutVertically import androidx.compose.animation.with +import androidx.compose.foundation.Image +import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width @@ -55,7 +59,6 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.material3.TextField import androidx.compose.material3.TextFieldDefaults import androidx.compose.runtime.Composable @@ -69,6 +72,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.composed +import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.drawWithContent import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.geometry.CornerRadius @@ -137,10 +141,10 @@ fun LoginScreen( statusText = stringResource(R.string.signing_in) ) } else { - Spacer(modifier = Modifier.weight(1f)) + Spacer(modifier = Modifier.height(50.dp)) LoginOptions( - onDefaultLoginTapped = { - viewModel.loginWithDefaultCredentials() + onAgolLoginTapped = { + viewModel.login(useOAuth = true) }, onEnterpriseLoginTapped = { showEnterpriseLogin = true @@ -161,6 +165,7 @@ fun LoginScreen( showEnterpriseLogin = false } ) + Authenticator(authenticatorState = viewModel.authenticatorState) LaunchedEffect(Unit) { viewModel.loginState.collect { if (it is LoginState.Success) { @@ -182,13 +187,13 @@ fun EnterpriseLogin( val visible = visibilityProvider() if (visible) { var showPortalUrlForm by remember { mutableStateOf(true) } - Authenticator(authenticatorState = loginViewModel.authenticatorState) if (showPortalUrlForm) { PortalURLForm( recents = loginViewModel.urlHistory.collectAsState().value, - onSubmit = { + onSubmit = { url -> showPortalUrlForm = false - loginViewModel.loginWithArcGISEnterprise(it) + loginViewModel.addUrlToHistory(url) + loginViewModel.login(url, useOAuth = false) }, onCancel = onCancel ) @@ -296,7 +301,7 @@ fun TextFieldWithHistory( imeAction = ImeAction.Done ), keyboardActions = KeyboardActions( - onDone = { focusManager.clearFocus() } + onDone = { focusManager.clearFocus() } ), shape = RoundedCornerShape(10.dp), colors = TextFieldDefaults.colors( @@ -358,23 +363,50 @@ fun TextFieldWithHistory( @Composable fun LoginOptions( modifier: Modifier = Modifier, - onDefaultLoginTapped: () -> Unit, + onAgolLoginTapped: () -> Unit, onEnterpriseLoginTapped: () -> Unit, skipSignInTapped: () -> Unit ) { Column( - modifier = modifier, + modifier = modifier.padding(vertical = 50.dp), verticalArrangement = Arrangement.spacedBy(20.dp), horizontalAlignment = Alignment.CenterHorizontally ) { + // browse demo maps card + Box( + modifier = Modifier + .wrapContentHeight() + .fillMaxWidth(0.8f) + .clip(RoundedCornerShape(15.dp)) + .border( + width = 5.dp, + color = MaterialTheme.colorScheme.secondary, + shape = RoundedCornerShape(15.dp) + ) + .clickable { skipSignInTapped() } + ) { + Image( + painter = painterResource(id = R.drawable.ic_topographic_map), + contentDescription = null + ) + Text( + text = stringResource(R.string.browse_demo_maps), + style = MaterialTheme.typography.titleLarge.copy( + color = Color.White, + fontWeight = FontWeight.Bold + ), + modifier = Modifier.align(Alignment.Center) + ) + } + Spacer(modifier = Modifier.weight(1f)) Button( - onClick = onDefaultLoginTapped, + onClick = onAgolLoginTapped, modifier = Modifier .fillMaxWidth() .padding(horizontal = 40.dp) ) { Text( - text = stringResource(R.string.sign_in_with_default_credentials), + text = stringResource(R.string.sign_in_with_agol), modifier = Modifier.padding(5.dp), ) } @@ -389,9 +421,6 @@ fun LoginOptions( modifier = Modifier.padding(5.dp) ) } - TextButton(onClick = skipSignInTapped) { - Text(text = stringResource(R.string.skin_sign_in)) - } } } diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt index 92f4bc038..866392ef1 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt @@ -34,7 +34,6 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import kotlinx.coroutines.withTimeoutOrNull import javax.inject.Inject @HiltViewModel @@ -42,9 +41,6 @@ class LoginViewModel @Inject constructor( private val portalSettings: PortalSettings, private val urlHistoryDao: UrlHistoryDao ) : ViewModel() { - - private data class Credentials(val username: String = "", val password: String = "") - val authenticatorState = AuthenticatorState() val urlHistory: StateFlow> = urlHistoryDao.observeAll().map { urlEntries -> @@ -62,57 +58,31 @@ class LoginViewModel @Inject constructor( private val oAuthRedirectUri = "featureformsapp://auth" - private var credentials: Credentials? = Credentials() - - init { + /** + * Save this url to the search history. + */ + fun addUrlToHistory(url: String) { viewModelScope.launch { - launch { - authenticatorState.pendingUsernamePasswordChallenge.collect { - if (credentials != null) { - it?.continueWithCredentials(credentials!!.username, credentials!!.password) - } - } - } - } - } - - fun loginWithDefaultCredentials() { - credentials = Credentials(BuildConfig.webMapUser, BuildConfig.webMapPassword) - _loginState.value = LoginState.Loading - viewModelScope.launch(Dispatchers.IO) { - // set a timeout of 20s - val result = withTimeoutOrNull(20000) { - authenticatorState.oAuthUserConfiguration = null - portalSettings.setPortalUrl(portalSettings.defaultPortalUrl) - portalSettings.setPortalConnection(Portal.Connection.Authenticated) - val portal = - Portal(portalSettings.defaultPortalUrl, Portal.Connection.Authenticated) - portal.load().onFailure { - _loginState.value = LoginState.Failed(it.message ?: "") - }.onSuccess { - _loginState.value = LoginState.Success - } - } - if (result == null) { - _loginState.value = LoginState.Failed("Operation timed out") + if (url.isNotEmpty()) { + urlHistoryDao.insert(UrlEntry(url)) } } } - fun loginWithArcGISEnterprise(url: String) { - credentials = null + /** + * Authenticate the user with the given portal [url]. Default [url] is ArcGIS Online. + */ + fun login(url: String = portalSettings.defaultPortalUrl, useOAuth: Boolean) { _loginState.value = LoginState.Loading viewModelScope.launch(Dispatchers.IO) { - if (url.isNotEmpty()) { - urlHistoryDao.insert(UrlEntry(url)) - } - authenticatorState.oAuthUserConfiguration = if (BuildConfig.clientId.isNotBlank()) - OAuthUserConfiguration( - portalUrl = url, - clientId = BuildConfig.clientId, - redirectUrl = oAuthRedirectUri, - ) - else null + authenticatorState.oAuthUserConfiguration = + if (useOAuth && BuildConfig.clientId.isNotBlank()) + OAuthUserConfiguration( + portalUrl = url, + clientId = BuildConfig.clientId, + redirectUrl = oAuthRedirectUri, + ) + else null portalSettings.setPortalUrl(url) portalSettings.setPortalConnection(Portal.Connection.Authenticated) val portal = Portal(url, Portal.Connection.Authenticated) @@ -124,6 +94,9 @@ class LoginViewModel @Inject constructor( } } + /** + * Skip authentication and use the portal as an anonymous user to load any public content. + */ fun skipSignIn() { viewModelScope.launch { portalSettings.setPortalUrl(portalSettings.defaultPortalUrl) diff --git a/microapps/FeatureFormsApp/app/src/main/res/drawable/ic_topographic_map.jpeg b/microapps/FeatureFormsApp/app/src/main/res/drawable/ic_topographic_map.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6145fa4a8cf5f661dfa34ad0dfc3cf609dffe49a GIT binary patch literal 184889 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

eL#7-}jK8{Ov4HkT3X`o@!< z-rdV(eZB9ooSQMVm?R9<7&X;=V12g`cKbOELtUh&bHEQ8`R%72&qM2CF#{U~hDiZ^ zpVzVbVCj;q7{XxucvQM+V0^{vY<+b@8P5@uJ$?u4B$4c3s?8*OF+;s;Let%VLztGM z1gg8Xxzgs>Br!BLUx zRcf!Vqr?r6#!80c_nYJk!B2HG>XLN$@c&FCzZu##m#BP{r|a(Fkc|{6-|$+?93kMl z=@8#GZQTzY%s+Mcj-4bleRYT$F%@O6W6;4 zGY;lqr8bWitnxtMOWi7dcZ(+e8nBeuM47AF+38zVGv-`J;`C*KpR}Z2n;Zu!MoVv% z=k>>dgCHQSV~I}>cl?!n%exngrH#Ey7Rb8~jPWTdzw;Z{b-2m6vm!T}HNmsOxZgwh z7ui&VxRDIXx8%%8(W_)mcNN4&%;Yn6-E~`iWdc~*f1Vv2vkOA_(5Kd@f(o&*oLNeS z4;)^bl0pEtLoXj1y1qx*8r&3eJ;td$(a@cb60qOoA2qvcZYNUVVHl*DZ@IbG*%bce zO4n(A=Gb%5)tZhFsP&R{$}uHBpwnD%`k{pPtY7k<8`aiVsgi z)_Odo{-NFM>6-?J*Af!>>agFuE#Jd*U{?F4M~{01Xam@KMrqWt7Jc7a{YTZ@}1>?!*myy=wE)yTQ){p zhLnSC2agBz!`X1*`i*~yb8@Gm@V2wdR7CaE|r5m5)ITbJ5Cb(@7w&gB+d#N3duP=QuKUDTxMF%B)mMx6F zi(9>BnKWGoxn|tACG-shPF^_H#|s{Y?4p|WvQ%@xq=HQ6^}&pwdfCPmRgx$$$iZ6c-HzeyNEI;J%dQOLiobrapnDjEYMc=R3IV-XPh9TxU;OO& zTyiNOk9c_n7A_y+{P(yptxb5~WQU)8RB33iy!vqfX6J21&lW1OW2vlLk5_iq#D+J!(6#4-^t?G~OSo zQ|2?{`{bn7rgD8AHq${SP)$2aJCbBGk^7?-VW;o?mkSXZ*E03d5310oO|2Xt}CDp*o*X zdd5vZOI?%EGMi{T$CQDJ7@x{(66Q+4dX7keZ+$CcCa>nz(+nA%%UT@|AYi*#$Rj_@ zReOiEMjy$k&w9=E(DpR1piRptvDb?fAf6mk7?6^BYGefWOgn)94O-*yco*bDl^MCp zhwy?>mHR<|ZWvARqHH$~=Bmb*p2!CPD~GMu^gjCR##xuEqSKOnZB;abw1U&MG?ae5 z&p{&u@F!$(eC=#labIUR`hfr+mX^csGW3-`4lUT3MqEG`0Pfa zfp)FW6y}@!c3r!Ru;Ckhm5_H9&e#GKYGNSyhofJ#9V*dqw-1!-y;OD0n#nW>O{w{R ziuLvLq~KXQVAEZ@T7MPElqP7m-~ENFNJ~Qx%VIM|N>uaSczoK2smUrfm2AlIZvl$k z`VQLg*ll)ulk3p-&kc<~H!3J$e+Pw$wds@?L~F_}sZK3paIlDm0esCrF&n<|rS_D) zE0d0eq$xD&xP*!ksYpWx8zgTCtYwpw zk!yIKma71m%R^q@&)(JbS`vZ9Qu<-UK_u$}+;Oi+$$9`4&kE+<82WYgV^XJ#mYq>d z8@mmvglWuTXja))hKmPNpaP|!lMAmRWo=EF8PPq1l3<>Xr9g1W*}-o4FU5%5 zO!}||X5KI3SgQ2wF~BQ_*UZB1QYtS+c$p^^YeEfsg+{$Uef9G7v9Ezx%`j(FvK<4@ z?$c{_n6`Ay$9EwbYt%}o8QbvMdgHKaLKGk)@QO{L$x3P4 zWl7jOXdO%-1XYa(vb5xJU3|MZr%vmaq4y3&Z_$&W4ds;g1pGpyE3gyXrFPklF zhgjtY&N0+02<1NkCMayf-y?B?w09_@zVrd#u>x{kg$kWxg%vmsgTD1+A+Zti}sgJqGod zt%~toys9%Iph&b67`q0EWVU|j;4t;BgOCM0*W zQ*#jML-kOZF0euVCmJOqx!Pyxl8|3=>UzUcp46ydRv%y{&(HCfI*geQ+2-zGuMI9= z-~VvFyVnh(HP%U-v;U=ODEBn%r*6*tInQ@o3hts(b}b3cJ&pZVUD6<7^^|RK;>F6O zRycUv+?XI;HulCeTcAB2r@zrn8~rLu@#%bApm6fnc9Z7UO9R>5$j>xVlJXOhzZNsV z>?zzL8ei4bIc1T&wYYY=X~sLB`!RT_8S|>YhP6EtG~?VCq&9HXZvQH%)X4O2$R~iH zL29QqW*lA}jT3_fI!v+rkRXXE>u!F7phMrs1#Mwdw|C#E5b4dQv$?tmY532$m&XcW zT%LmZ2HrvA_I!Muzd-kofEhv2drlP;e>%>f6_r?T{^>VMtU-;%r;oyIAHrNDN>+k7 z`%o2!I^4DXvHXM5fZ*t;+=u>d`rv2;HQuE$SMutjJV{b!K;jrOPl61pL*4X8bG*HM z*?{#7DZ%#SPyNP*p^PblcxMLq=dYvu8aVF4o?pD?fTSFY?2y3s?^_C!s=k0+^e&%3 z=i{^70K9!yVX9dxM2Qaz3=uCxwA{k{1;v%~Jj@lERW?}Gzv@&PB&0|}%hTeE3k~MNo1hGjdCEBH1`l{)3dwyuN?;DIyY_A3c(w$70B$#*Vi%TjhuD6vw!Y(JI!N3MNli%>S!~SmAZp@UY6rm@_JCMJ&Y{7)DK zFC1^;7XA%G-lw?7nG_>>jMa(C3uyUqwOM?h-ve=a z_}e??HmhycKd+q+#rWOz$4*=xdYVn_x^kws*i+qrBrz6+f2_+=Tl*eqUFU2^1(cfJ zRKw_84=uD(ClANHu_TEU~g^)|LhkxlBZ?U%Y585+Lp_g-om3j5{08 z5CStKaQb9citgzA8)V)!W3AmJCz1En@X=T8wdL=7erH&BnjWmBEEl&#%sA`761#V& zI`~OW2Cb*!T(C^O*@J=aMrDeith=mx=?63mmD*Z$(XzXBHp#WEUMnNGga)8}POXw` zF#gV&yKh`v$D(l42WYm>>sS0~U6R8M7yN?Fu|aq5ozY_~l)O}4Xg_jl&$5h&u@I3P zn4yhh`1vnh?Ahel-OAfF`V2Ixu(3?ZnpNtW8nW5npXot?g^%cktJEfl4tgg0tG&Ew zH*g`?njZGbdlSb}7SAi*8fVxrV#@<&7>kO}yl8zL2CN$uAHKtwI6&1>G{#{ojtp`cb#ju*aZV%%wby)7yfOv_Y<_$Rs5O8<9C9 zK)0`~xFKhK^e= zY`#<5SV|k)YQ*B}>_=W$R*S~3ca*9#d(jFMSP z*>voM%dC)Ik)1-p3~x?&zMsx^2JIXsb09fzb8(yMJdZ7q=oM(`Vx(|a@S%(CnqZ{? zoZmPWrJ?Kn6#jV`sTCln!T|r5sXJV05MQ92L65Ep;l_RGpRqFzl=v;hV{EM)p2=j% zJUkHpHsnG<6`d(!cX9zhtFl|FXCoOVc}tLM|0l!edE^ zFNKW*6dX2^vHxA@rnj%v2i!;203w6_0e>4&BB!f{-%WnzAI zf4j?zTs$&i4~hJuEm&Lgf-dbu z*{k@s1SKizXJ?uc$QEe`j z*wM>sNSpY=b|?DGR^1HS+B)#(Mn)NZHX&Wl5af1m9bCGH!(^DP!=?pRVFWPR#M5Z| zpEAz|P&4!*v4w3rU_Yj~>%8J4{*r1@z&o=AWE>GYKpMS$`oS(h;o^4dbJ&@*v5jp` zjon8358>IjqiI!pU47OrXJhf-)BT|n3n^1(T{1qa)av^0I|*pMWzX}&cwo_$bSXA3 zbexoZvK@Q=K2W6JHu6QnRfp}=I7EyKi6!r3J9O+yCC0jucuYK@K@n!@9v^&5y^(Uk zKN0`GtSAM|?Oh4z_7dM6l=v~S%&jl6bZlAwtzy?0Q!DNk`-CcZ$A1|Mi***Molk7R zk85*q6?N+idu~uicZ3y)pJ)0lLuqQiFbHG%a=fl-P^w?{T;4UKLtvohNZ^&Bx%J0m`_XMqWVl?(;9E;~wnL)W zz7wu^E^R$?I#jcjj*m?Nau~MU*>B~O?Kya^i|^d2^V4qev1`-w2Ez75rkj1@V@&F@ zEp_HKs}lcy-)__!bm@stGkQ^p(%0)wz0PO%W;%b=V11ja-75)A2Y9B8Xd6u@Of zQ2X-w`&a3e`RbPNhM&||^ubMgJ=e0>;-{YH&>E$Cgik<>kgflf4Zt0r_zPh z&K_*uLPF7U7kv}ozEJHpe=T3v%|xUN&W`%kvD~AHUSgA66+t#5@NQu?7mlzKSraB5 zIbv8npRiaW+H!+z@N;eUsLs2?$hMokVsXc!fNb@Ml1WvM5$ca~$pEfm+kx`dyQS`~ zqn;U5oJ>P6>EewQH93OS9#Mc2l_leq#6Y|iEzr47KcGRT8%C*PCh}eFJ}f&KQQO5l zFE7_4*_k31{@hsNsM<}KX?f8x&pd&f&O(>3qRNllb_}Q!W*`2{Fse0n{2p5#cZTuxFl%kEL zOTwODyPO{<{M0h*WIt-_D#vyNUHNnKx>7e}1Ws8U(Qa%JBjSax5cO$tb>kX=0mpm- z%;zP5VGCFrurs$~Hj}=yt09Yf>RBphqw2>KtX3$f0-d~wq*)R~5|{VbzDxy)U1roQ zG0#G*+=H=K@H6?*Gap|w%Ygz#qZW=cxs5t&o~0y#@r@8wPtI80_4Bkj#I(vw5twFt z>2}m3O=@sXbr8v{<=n9r06Vyk5*s`)C~D{Ib&o)mSp0vCh_-+5e5hhC&6ApD)Asob z$Zo5WM8U6#RCqk;bJ|!{;>rIeau1*+8~%03@&H3l#b6Vr2@l}!^;gSZ0pBY`O+#1l zLRBoMKq1&RyrYYv&X~3~%XnuWyBhpG)r^ftw6#sY@2r5L8DX@Wv*Ch({G`rWkBvCf z##O)p!^0M(kFJCvc7JZb*AE>|nt=w{mNI7tZV&yfngXTTFR70bqYj6Z2X2adpQv3J zW#+6Q2DF>ifrz7{V@2m?x<+-(If6ub*!S}~+Z`f@=UQcN6NV&kq~qq5mI<3r(;iKL zJnjksak7f(nncC>vZo>nl>Sz`O8hU!$nBV82N9GV6hP4rgSs~ib4>~QwgvYO`sfZT z@Ps`Lc567(|I}b1Irn8N_rAcHQ=#9&z*c?3$5*O4GneDCH<#VQJ)P`CEazk`P$eY* z!SdGhh&uM~?Nmz-v9-gRxdyba;W$;N=wYVz35KEq%~%7_plldAHl16`{or$KYJk3K zLMdEVZoJLL&+2Z)wHC*p8&gZdRmF-AzBwzLovTwoNxt{Q%lNM1Up?^Dz3LcW(vWmz z^I15=?1P_HZ8##1ECEdFh)1p|1P(U2$xP9w#q}lrd)L{SKz+Lt98Yev0ApJl2VmAp zyqvT83dP6*X{c)(6Hhz6E%t7t63M$V>yq-g`BIMxf(ME}4}Vsve5;=}+Z?9njorTY zxb1Li_Q`|XlX`QBkG=!1lr|^NV4WkUo+wF40nwjX({slguTJir{p}d#J8E_NxP%a*?gMy3NDk6s|m*I(!NooqlDjg7YOjl;VLe~3K-y54q zehW)U*$QOx)o&6FUbb^Q!~H(&wFKrP9p}9o2W8TgGnTBGLY2gKgMq%B9jUfp+q~J9 zl^x*x-@(VuxTw8qf83=ekLFU6#bp-Nf(@4{ao3y*k%bho5a5o}s&)OQ_P&iT_Y5XV zvDReBYR7!)S~FaqDARG+>_H=4*RkV$0Kckb2Jp9B&CusyEX{nA&$SM$x6GJZ)Q`#v9HaC35@@)6AI_s~&oq4L-%J|K@KUn_N>T>f5_Lc#tN&vB-h2OY8~!<* zfMzHu6uK=2*DieMYf`Roa2nCN701-gn@meP;QXfcduL&zkX_xA z5-%a&COX|lHTRVq==F(|f|r9G4$2jF|GKz+W!*AmdZ6*sya@j__jv4wd<%dxr|$7rF{`%3#-~~-M70}xa7cO#WW@lYA6R%1TTmrCb$uHx z)A2K=5qoIS%!sI`DJJ~|kPOl8Q(Cv7??<{5A5O=t;#lL^!A^M_%$+5xfk-1wrMcB- zM{ub0v4m-(WlU-C$4;wl4L}W!9yLbu!-ZfnJNkF8v=6T!4=?gsix&`j60xYB79z_`BM^ByH?aiNjE-y_}ko-XKyQGCJ zlK-{Y>t3jZNLc4~iTFD(GC#VXpU<*rygHHdb+Oj-D=xv|B>W!n*?;kFAMxgPODQ++ z$|g%6N-SmtNeRx17FlNhoC0%k)Hg&qAy;ZNQaaraq>M0#a$s-JhfLqp@6gCZS|w3NfCXC7toisoZB<~ z1&Y~;{TCa(bn?I7SJN9-18Kw;9lKdd#pSeuB|=iyW%JH=UGxX)u+3ZsWPV=`#4+LY z`ErS?!C>6%i>!G^#U>tO7^#HQE=RWvIjqzi=3xY#7X|isd64?on${o37Yqnh_@R zqz_bp<+HhT4@Pm1J}lSEMNcv-dIj~FMY-j0Q^2=O7m zgDT3vkKWm{fK-MhgXsox88yZ#gc?#((c`T*8eTPGV3@i&M22^cZlGUcIpewG3>rg?b zsS|dH-iNOcP~F!YW@FnN`j;o{{|{b={AcHZ`}Nb38dRe9i&@$3V-An{nH%h(OA04Imma7MJDG%?8HX3FBP z`W3M!`bw`C>zR2(DVJM-X2%6q-rEf%0-`?{UF|209&Ow%`)s%?IVmLXuEG=+z$fVr zg@}(&430l7lMTXgHirFgVL-ZgY~fpdtXmzocEa52I+>hg^|dL3O}_u=Yg0cBx@|mx z_J8ZHe+K<-YIH926FaZI!LmQUJYfDpxXZYq`=z07rr0h+dU!CStK++xFP}u(fyrlL z+(|2T>ZN>vqD?}VVqCO0j>+?Um$Xcz4r=E>54Qi8P2eV$NReo`(xFcHdh}Bcg$TG6qMz+#i23^P5?;cTF z|6|1RVUvn67nBWbsvhi|O0IdSlrjSs9A$05+4mqB#xzc=?+>`gH+l6O8`vsJ{$^TL z3C>i>N>tU$`Eu5=`c=PO&8E&_;o-|-m7T?)!OKH1GuKpY(26V#J8iV4+u3;27qw)) z0*Pv+qV)LI5XjsGpAbC4sY1rt^=0yhGE|D461|;U!T+rCvVQkR>gy~J+AWs>b3?Vw zcof%7odNYHmK%0ioBh-OOc{mg7{#nL%<_1l6K|xBzw2Q;LM~PPdsIdxwS!Fu%+=X$ z$<0SpRyRzrv^53Luw`$2@y2mHdt5PaEMw*B`tP@@AH62B6aPz%QK!Fm7J1~2a%g1l z?1D}v%R2SOyLKiA8m=!q5B70WZr;(AE!C1 z5@&cLxq#Iu&PraAJJ z11>J5pViZgYiib_^eT1K5^uuyZasVlv(Y_~sJsbyPK0?eZon(Zo2vSjFPcRB>TCxq zcR~VW-GX0@mF>H2>9|O4bnoa{tFbWp_qwURCYi>*^zSC!AuQmYwFjDG*xn&K&6kQy zAA5u@Kl{LJcfK3X=DHuF#Y`$(4a{x-Y-Vwi1=(P*wIFb3RY><7J8S@caA(^Wtw)Dy z6YM;{UNEIDrq~rLyqGrHtKyq@^Ls;R!_f@F9U6=>lA$p13zSt2>RX>n1@S9GulAr# zAJw%MfUBWHJ3_tbnr3F|E>c~7Xz~|IIx(qCPGU4uld}hYHcp$#tItA|quR;^q@L>L zl}#<%fon+e6!1D_(=la27%?@D^$f^(Y+RKvI7-zKsApH|AWtn* zZs1D#+B0WrFip6Iwm&ychcT2S`jE|@x0e2 z^x`BL?%)n-_y=tE=HTjyxs?T^YB_$gUIa!ddW~4%qB7alqp&(y>1J-GsAw>_0KFhS zOWLHeH4#A@Z9H2p?o@6wwm+_x5Ae~w#*b=C-tUrvpUdxmvZ*xB1p|DLH^uwggZJT& zse6#QlYC^Hv02I{64M{W{2Z4X){Ek3W*XjLsAsiA<|% zZVE^iC_HtZyH#&mRXTz4Vt&$+!=F5@**?& z%n!CF)sR>3!N8?59!?pHft}HX(B0kdN34?#Qckr`73E$IK-{polCTVkhF(xLki z@MGn!ZZnx3`R4{=S7G)Se8P$kC`0%OKb(S{yA*{YsEa^&*s8MgaxwmFVD*{n^MWXIqKG-^-XRgd#;>!XV zNPUpqb+Kj~W!`3)aAi&1C78DS^wb(OjGI|{K-oCt$(@i0&T2+S1)sT68J>O7qlH?B zZ0iI%`~Awc*>Ms@fK~(GmRe5ASSo#ya6bCuz_6)ypN4zX*$&wh}+Xu80?wvH!u zK`=s5d3phRqgFG(zn}v(`@D;Yng`L7HBt-}>1C*}9fwl}CmTFOd{(JQ4XoZ?gxCwGXYtQ@ACsDrHU=R*ie$Crz9_K0KAp^pT>v|mVqFuKPz#=03Y zz_$v!c#rjtvv>CoogiQSzwd?!0do?UWEZyyN1MvZbdU;My$6n}RDf6?cC-km@zsqg zOb>dJDjInL})qPv^wvLX`I^c_+HS6~V(k9h!8ehhAB8IWFQ$N_FyKRWhs^ix)i z{c>L%VYmc6sEj;Ir5+#*a69=dD#FJ~?)J~BO!xFT@*SX&2tT%K8Fv}hZ!QcrbJO+o zZFBZ!oTcVP!JaE$Z9@2hSGD*fxHHkSwI2|OrB{1>75*k%UFVOrc=dYCYuSUDsH0wk zg)*ai$Uh5V@{EW3*s=%P&d#?^IR}enK`4M7yW3q}Ci*!im9*Zj{{E~ljOKP!Yd(I$ z_n=TQZKr*ES|)gKK(Ojm=#I7(kE&bakw{MR3uAVklUb1VKc0>@S7!P@rl3+K@rZw7 z8?5o-x3@=s5Niyn@9TQ8$`wlQ4127u!rSNos;5Hi1To6;lr<5A7VklA`mvV2pPerx zM_#4-tJEy2Zm)KEE`_IsdX|k&kMuQR2aQ~cHLriP$A_K^TKS?LJ&e2O7_z+XO-0pj zPme3(JXDMHF72xD0hE;>U(vx~pBNIi#|h32dzD={uA7y*M}n`&0yK7F5_M3a3Sk_N z$@oyit#KBLA3qmz>7-*EU%RamTs1y@gLyS`4ZI$>Cn zfLMBew%a|2uNq0eGa2&0bazAN@4hg>CM7H(GdrH7ByyVppmPgO%G>kyE>UiEDu23sPP;UjH4hFOqz5s!dAs(s0$RxGT`jcS`pYXWF?j^dC6e5pIe$9x@6JM;A2K~n{E2fV^=Akmn8qE@raIUe zpPV>?yd7WKJNITP)Dat!${4D`M`l)>Jzkx@lL70Ffjt$kVy$vM>&^HeicYUHR2TI_l?;4t+7tX?Y{OH> z_T8C>hMVZ}t#>t3V^8mu&y;X5iL&buwu2zR3-2I>pXn_m{ROmfn)i!ezAm5Fx@JL~ zH}%`tlFIfDg;E{_NcCAp4wZkYyieNM*B$G~{PcD~rgNM%!*m@tHKE4Rcxfds$egZP_69Erj)Q`Vb#&Cnw~z1-*=w@;+MJc?`9)vsW-MyuKG8eu;m-#}rg|C|7GX+BGaaOKW@QimWOXGT6?V3y-CHpO>5$Z;*x@NoQsf8rw2&dzHm?D%H?l3IAe) ztrp)CtBoN(3E;5h+@asy_x4~Gc6g`?Jr9X)J0)`aTd)xW?Kj?{7}$BP7N9*#~gS1I~kyyCbz~?9qox8 zZxh{sk|7)s$v=nzjlraXmfhLb%;<^ffV$36J@isle=ro4<{IqY;M*uEsAB-%iXB!$ zvx3r?>te0bh=C#3jLrS))1y*hk29OVj=qU<1}Y~2b(L>J`Ye*~AGw$Q1;jkxRn0MKewT{0J$RxWRdkQV3dRBAQ}>4G2IRnxFDbk0 zu77TPX@A!g>xbD04l`IL1EQ%NKtR%?tEk&_Q=?ZfeuZhxq1^wY=sMilYTLNCTXm{Y zyY{B`j<;2mAhm0^W{JI5cw3`2gBZ0-teCZ8OHm_YMG&!7l-NaV`sMorPOj@*Ip;k0 z{hN|DVWWun^Y0Q}Z4DPl?4BjgwpOnQqM_^mSH5_G5FX&vkxew~aXUHE0SD=71HB`tA?1 z^ymuVEfN~-oXkzENz_wN zWCA%e0=F3=qq#+U?_xg;4rE<-^^N8bedaG3-6bDat?%JYi&O670$LVY@QNvLS>K{| znOYcT^(%@LGIz{VT&Cgt)xwVOjA$zUCKIS$au~yK9X!iV;Yz-I#CSV%#)3VyHj~Gn zpliQmxUhK5xT-M(Ycb0-O#L@`^Bb+XtEj}nm#pQ;(l0q@_xEVH%(L;e+FPeI^2g{n zf@MX%ku#Ch`i&m4qnkx@#4 zj(K}2KTwk|rh73^zBF2Q zS3r%k+JJpD-{a2cw%fksG21hJ=)h|=*SgQ&hv|2YFao_)W=LJRiD5+X$&{jFawkGbITY!v ziSsJ?PEW9-tc`(3u%pANL4I@5_Ud*PXB6l5EB`IT=$yv6Z_B&N!Fbb$Fgb3{;ZE(o zYe1oYgQNA1l0U-u`O(EG#~qnL?7CmaHM8@%lW4Jf4^*4E*pfbqlw0muyqaWd;C7&M zOI*>6>>Fb?fqxso$hjUr*MN6@;5rv-7T?m%Dn!u1up9YvCZSx;s|ic-`P{*C{=tuN z1Q+~_PV+1K3+9GD%{%t9D*s}#{mlw0GfB_s)E4JLUDA>;L&)fAYM!Jyo{Il&mQ{V1 z$j*gc<-eQy)i%XTR)Hj%>`vRt1Sd_i2z%(vk)C!|se1287Zp|xHxBC7i?uuP7k&Qo zyhkW$rdmM$05!FMQ z@q#bms)aTRgo$T)#md5ksNDZwsD2P$(75YyC?tGN7(mkHF`9nLf9%$KWw_+`X5PEn z8tWJCw#{5yuH1f*TI`m!Xo{&Xe*Y$amdTJ~oAm?u(n0*-`EGXU`W!R7f5S(tb#&Av zo+2stck{D9xXSHq6dg&UmpP3O3Ap;w(-y>`XKWenFZQaL61FC)dO`1e)pw7EsCAN| zy1VYAsjctvlhGgbEN@LLv=dm`BD3|&gk^`o7kp!o`8C-Gw?^c`C;63Zg9#`1SzBma z!wBMO4bGP;sm0=0q6*$=rs-7bH@<>mlT-e$PSW6-4` z07{uxKI0Zagozq$*;zT)C#Ufacfu=Y*@aYL7Xf=A<*I@bACR{VunJ8)|;Oy!Ez z$n-2nZlY2g4aOaG_4_Z?+Y!Uqn&83?^_tYY#nbvH*W#ptKUc3b3A%Bv zK4jO`)9O^zG(MEmiq@Q9Q(4F$DY|LT7F~GGEuN8B|5BM@GR)56qYFM|Rl_W{Ob)Xp2w1M3hMS&!4>wX*D?W_Z^5S3g z&DcMAF11RUr{^Gsmk~h-KLyG{7z`-6t<#fIA`Ep(12#S8c

QNdQ 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

)LEVoJq)r9K2y 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 d9y8IsN!Cancel "Enter an URL for ArcGIS Enterprise" Signing in.. - Sign in using built-in Credentials + Sign in with ArcGIS Online Sign in with ArcGIS Enterprise Skip sign in Maximum character length exceeded @@ -42,4 +42,5 @@ Discard Discard Edits? All changes made within the form will be lost. + Browse Demo Maps diff --git a/secrets.defaults.properties b/secrets.defaults.properties index 34aea7c06..6ef381c23 100644 --- a/secrets.defaults.properties +++ b/secrets.defaults.properties @@ -20,6 +20,4 @@ # this file is committed to git. # suppress inspection "UnusedProperty" for whole file API_KEY=XX -webMapUser=XX -webMapPassword=XX clientId=" " From 10caf9695c1b396a9ad1035038f650e3e9d89928 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 22 Apr 2024 17:29:17 -0700 Subject: [PATCH 17/53] `Forms`: Check if map has a FeatureFormDefinition (#399) --- .../featureformsapp/screens/map/MapScreen.kt | 119 +++++++++++++----- .../screens/map/MapViewModel.kt | 45 ++++++- .../app/src/main/res/values/strings.xml | 4 + 3 files changed, 135 insertions(+), 33 deletions(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 69271b46a..434a99cd5 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -24,7 +24,9 @@ import android.widget.Toast import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideOutVertically +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -41,6 +43,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.Close +import androidx.compose.material.icons.rounded.Warning import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.Card @@ -48,6 +51,7 @@ import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -121,27 +125,34 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> modifier = Modifier.fillMaxSize(), topBar = { val scope = rememberCoroutineScope() - // show the top bar which changes available actions based on if the FeatureForm is - // being shown and is in edit mode - TopFormBar( - title = mapViewModel.portalItem.title, - editingMode = uiState !is UIState.NotEditing, - onClose = { - showDiscardEditsDialog = true - }, - onSave = { - scope.launch { - mapViewModel.commitEdits().onFailure { - Log.w("Forms", "Applying edits failed : ${it.message}") - Toast.makeText( - context, - "Applying edits failed : ${it.message}", - Toast.LENGTH_LONG - ).show() + Box { + // show the top bar which changes available actions based on if the FeatureForm is + // being shown and is in edit mode + TopFormBar( + title = mapViewModel.portalItem.title, + editingMode = uiState is UIState.Editing, + onClose = { + showDiscardEditsDialog = true + }, + onSave = { + scope.launch { + mapViewModel.commitEdits().onFailure { + Log.w("Forms", "Applying edits failed : ${it.message}") + Toast.makeText( + context, + "Applying edits failed : ${it.message}", + Toast.LENGTH_LONG + ).show() + } } - } - }) { - onBackPressed() + }) { + onBackPressed() + } + if (uiState is UIState.Loading) { + LinearProgressIndicator(modifier = Modifier + .fillMaxWidth() + .align(Alignment.BottomCenter)) + } } } ) { padding -> @@ -195,11 +206,35 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> } } } - if (uiState is UIState.Committing) { - SubmitForm(errors = (uiState as UIState.Committing).errors) { - mapViewModel.cancelCommit() + when (uiState) { + is UIState.Committing -> { + SubmitForm(errors = (uiState as UIState.Committing).errors) { + mapViewModel.cancelCommit() + } + } + + is UIState.Switching -> { + DiscardEditsDialog( + onConfirm = { mapViewModel.selectNewFeature() }, + onCancel = { mapViewModel.continueEditing() } + ) + } + + is UIState.NoFeatureFormDefinition -> { + NoFormDefinitionDialog( + onConfirm = { + mapViewModel.setDefaultState() + }, + onCancel = { + mapViewModel.setDefaultState() + onBackPressed() + } + ) } + + else -> {} } + if (showDiscardEditsDialog) { DiscardEditsDialog( onConfirm = { @@ -211,12 +246,7 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> } ) } - if (uiState is UIState.Switching) { - DiscardEditsDialog( - onConfirm = { mapViewModel.selectNewFeature() }, - onCancel = { mapViewModel.continueEditing() } - ) - } + } @Composable @@ -242,6 +272,37 @@ fun DiscardEditsDialog(onConfirm: () -> Unit, onCancel: () -> Unit) { ) } +@Composable +fun NoFormDefinitionDialog( + onConfirm: () -> Unit, + onCancel: () -> Unit, +) { + AlertDialog( + onDismissRequest = {}, + title = { + Row( + verticalAlignment = Alignment.CenterVertically + ) { + Text(text = stringResource(R.string.no_featureform_found), modifier = Modifier.weight(1f)) + Image(imageVector = Icons.Rounded.Warning, contentDescription = null) + } + }, + confirmButton = { + Button(onClick = onConfirm) { + Text(text = stringResource(R.string.okay)) + } + }, + dismissButton = { + Button(onClick = onCancel) { + Text(text = stringResource(R.string.exit)) + } + }, + text = { + Text(text = stringResource(R.string.no_featureform_description)) + } + ) +} + @OptIn(ExperimentalMaterial3Api::class) @Composable fun TopFormBar( diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index eae47b1b1..454114de0 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -55,7 +55,17 @@ sealed class UIState { /** * Currently not editing. */ - object NotEditing : UIState() + data object NotEditing : UIState() + + /** + * Loading state that indicates the map is being loaded. + */ + data object Loading : UIState() + + /** + * No feature form definition available. + */ + data object NoFeatureFormDefinition : UIState() /** * Currently selecting a new Feature @@ -63,7 +73,7 @@ sealed class UIState { data class Switching( val oldState: Editing, val newFeature: ArcGISFeature - ): UIState() + ) : UIState() /** * In editing state with the [featureForm] with the validation error visibility given by @@ -93,7 +103,7 @@ data class ErrorInfo(val fieldName: String, val error: FeatureFormValidationExce * Base class for context aware AndroidViewModel. This class must have only a single application * parameter. */ -open class BaseMapViewModel(application: Application): AndroidViewModel(application) +open class BaseMapViewModel(application: Application) : AndroidViewModel(application) /** * A view model for the FeatureForms MapView UI @@ -115,10 +125,34 @@ class MapViewModel @Inject constructor( val map: ArcGISMap = ArcGISMap(portalItem) - private val _uiState: MutableState = mutableStateOf(UIState.NotEditing) + private val _uiState: MutableState = mutableStateOf(UIState.Loading) val uiState: State get() = _uiState + init { + scope.launch { + // check if this map has a FeatureFormDefinition on any of its layers + checkFeatureFormDefinition() + } + } + + private suspend fun checkFeatureFormDefinition() { + map.load() + val layer = map.operationalLayers.firstOrNull { + if (it is FeatureLayer) { + it.load() + it.featureFormDefinition != null + } else { + false + } + } + _uiState.value = if (layer == null) { + UIState.NoFeatureFormDefinition + } else { + UIState.NotEditing + } + } + /** * Apply attribute edits to the Geodatabase backing * the ServiceFeatureTable and refresh the local feature. @@ -268,6 +302,9 @@ class MapViewModel @Inject constructor( } } + fun setDefaultState() { + _uiState.value = UIState.NotEditing + } } /** diff --git a/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml b/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml index bec176a62..0098e9d80 100644 --- a/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml +++ b/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml @@ -43,4 +43,8 @@ Discard Edits? All changes made within the form will be lost. Browse Demo Maps + No FeatureForm Found! + Okay + Exit + FeatureLayers in this map do not contain a FeatureFormDefinition. Feature editing will be disabled. From 701d4fcdf0afa19ff7869e98732b046850eb504b Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 25 Apr 2024 08:02:38 -0700 Subject: [PATCH 18/53] add default credentials for tests (#402) --- secrets.defaults.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/secrets.defaults.properties b/secrets.defaults.properties index 6ef381c23..c8a867e63 100644 --- a/secrets.defaults.properties +++ b/secrets.defaults.properties @@ -21,3 +21,5 @@ # suppress inspection "UnusedProperty" for whole file API_KEY=XX clientId=" " +webMapUser=XX +webMapPassword=XX From df85b33f8d164125c31bf8c8f1ba46ecbb5cd786 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 26 Apr 2024 14:20:47 -0700 Subject: [PATCH 19/53] remove mock api (#404) --- .../internal/api/AttachmentFormElement.kt | 241 ------------------ 1 file changed, 241 deletions(-) delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/api/AttachmentFormElement.kt diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/api/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/api/AttachmentFormElement.kt deleted file mode 100644 index 013832450..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/api/AttachmentFormElement.kt +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright 2024 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.api - -import android.content.Context -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.graphics.drawable.BitmapDrawable -import android.media.ThumbnailUtils -import com.arcgismaps.LoadStatus -import com.arcgismaps.Loadable -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.ArcGISFeatureTable -import com.arcgismaps.data.Attachment -import com.arcgismaps.toolkit.featureforms.internal.api.AttachmentFormElement.Companion.createOrNull -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.sync.Mutex -import kotlinx.coroutines.sync.withLock -import kotlinx.coroutines.withContext -import java.io.File -import java.io.FileOutputStream -import java.nio.ByteBuffer - -/** - * A FormElement type representing an Attachment. Use the factory method [createOrNull] to create - * an instance. - */ -internal class AttachmentFormElement private constructor( - private val feature: ArcGISFeature, - private val filesDir: String -) { - /** - * The input user interface to use for the element. - */ - val input: AttachmentFormInput = AttachmentFormInput.AnyAttachmentFormInput - - /** - * True if the element is editable. False if the element is not editable. - */ - val isEditable: Boolean = feature.canEditAttachments - - private val _attachments: MutableList = mutableListOf() - - /** - * Returns all the current attachments. - */ - val attachments: List = _attachments - - private val mutex = Mutex() - - /** - * Adds the specified [bitmapDrawable] as an attachment with the specified [name]. - */ - suspend fun addAttachment( - name: String, - contentType: String, - bitmapDrawable: BitmapDrawable - ): Result { - val byteArray = bitmapDrawable.bitmap.toByteArray() - val attachment = feature.addAttachment(name, contentType, byteArray).getOrNull() - return if (attachment != null) { - val formAttachment = FormAttachment(attachment, filesDir) - Result.success(formAttachment) - } else { - Result.failure(Exception("Unable to create attachment")) - } - } - - /** - * Deletes the specified [attachment]. - */ - suspend fun deleteAttachment(attachment: FormAttachment): Result { - feature.deleteAttachment(attachment.attachment).onFailure { - return Result.failure(it) - } - return Result.success(Unit) - } - - /** - * Fetches the Attachments from the feature and populates [attachments] property. This method - * is thread safe. - */ - suspend fun fetchAttachments(): Result { - mutex.withLock { - val featureAttachments = feature.fetchAttachments().onFailure { - return Result.failure(it) - }.getOrNull()!! - val formAttachments = featureAttachments.map { - FormAttachment(it, filesDir) - } - _attachments.clear() - _attachments.addAll(formAttachments) - return Result.success(Unit) - } - } - - companion object { - - /** - * Creates a new [AttachmentFormElement] from the give [feature]. - * - * @param feature The [ArcGISFeature] to create the [AttachmentFormElement] from. - * @param filesDir The directory to the cache any attachments. Use [Context.getFilesDir]. - * - * @return Returns null if unable to create a [AttachmentFormElement]. - */ - suspend fun createOrNull(feature: ArcGISFeature, filesDir: String): AttachmentFormElement? { - feature.load().onFailure { return null } - val featureTable = feature.featureTable as? ArcGISFeatureTable ?: return null - featureTable.load() - return if (featureTable.hasAttachments) { - AttachmentFormElement(feature, filesDir) - } else { - null - } - } - } -} - -/** - * Represents an attachment belonging to a feature form. Wraps the Attachment object and adds additional - * properties and methods to support displaying attachments in a feature form. - * - * The [FormAttachment] must be loaded before calling [createFullImage] or [createThumbnail]. - */ -internal class FormAttachment( - val attachment: Attachment, - private val filesDir: String -) : Loadable { - val contentType: String = attachment.contentType - - var filePath: String = "" - private set - - var isLocal: Boolean = false - private set - - var name: String = attachment.name - private set - - val size: Int = attachment.size - - private val _loadStatus: MutableStateFlow = MutableStateFlow(LoadStatus.NotLoaded) - override val loadStatus: StateFlow = _loadStatus.asStateFlow() - - @Suppress("DEPRECATION") - suspend fun createFullImage(): Result = withContext(Dispatchers.IO) { - return@withContext if (filePath.isNotEmpty()) { - val bitmap = BitmapFactory.decodeFile(filePath) - if (bitmap != null) { - Result.success(BitmapDrawable(bitmap)) - } else { - Result.failure(Exception("Unable to create an image")) - } - } else { - Result.failure(Exception("Attachment is not loaded")) - } - } - - @Suppress("DEPRECATION") - suspend fun createThumbnail(width: Int, height: Int): Result = - withContext(Dispatchers.IO) { - return@withContext if (filePath.isNotEmpty()) { - val bitmap = BitmapFactory.decodeFile(filePath) - if (bitmap != null) { - val thumbnail = ThumbnailUtils.extractThumbnail(bitmap, width, height) - Result.success(BitmapDrawable(thumbnail)) - } else { - Result.failure(Exception("Unable to create an image")) - } - } else { - Result.failure(Exception("Attachment is not loaded")) - } - } - - fun setName(name: String) { - this.name = name - } - - override fun cancelLoad() { - /** does nothing in this mock api **/ - } - - override suspend fun load(): Result { - _loadStatus.value = LoadStatus.Loading - try { - if (!attachment.hasFetchedData || filePath.isEmpty()) { - val data = attachment.fetchData().getOrThrow() - val dir = File("$filesDir/attachments") - dir.mkdirs() - val file = File(dir, attachment.name) - file.createNewFile() - FileOutputStream(file).use { - it.write(data) - } - filePath = file.absolutePath - isLocal = true - } - } catch (ex: Exception) { - _loadStatus.value = LoadStatus.FailedToLoad(ex) - if (ex is CancellationException) { - throw ex - } - return Result.failure(ex) - } - _loadStatus.value = LoadStatus.Loaded - return Result.success(Unit) - } - - override suspend fun retryLoad(): Result { - return load() - } -} - -internal sealed class AttachmentFormInput { - data object AnyAttachmentFormInput : AttachmentFormInput() -} - -internal fun Bitmap.toByteArray(): ByteArray { - val byteBuffer = ByteBuffer.allocate(allocationByteCount) - copyPixelsToBuffer(byteBuffer) - return byteBuffer.array() -} From b37b325b513b737e35b50cb56524cf7a7a7146db Mon Sep 17 00:00:00 2001 From: Soren Roth Date: Fri, 26 Apr 2024 14:30:57 -0700 Subject: [PATCH 20/53] `Forms:` attachment FeatureForm initialization support (#401) * wip * basic support for attachment element state creation and management * remove unused dependency --------- Co-authored-by: Soren Roth --- .../toolkit/featureforms/FeatureForm.kt | 67 +++++++++++++++++-- .../components/base/FormStateCollection.kt | 21 +++++- .../formelement/AttachmentFormElement.kt | 21 +++--- 3 files changed, 92 insertions(+), 17 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 3144c9d24..dca43c6c5 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -27,7 +27,7 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.material3.Divider +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -50,6 +50,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp +import com.arcgismaps.mapping.featureforms.AttachmentFormElement import com.arcgismaps.mapping.featureforms.ComboBoxFormInput import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput import com.arcgismaps.mapping.featureforms.FeatureForm @@ -69,8 +70,11 @@ import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememb import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememberRadioButtonFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememberSwitchFieldState import com.arcgismaps.toolkit.featureforms.internal.components.datetime.rememberDateTimeFieldState +import com.arcgismaps.toolkit.featureforms.internal.components.formelement.AttachmentFormElement +import com.arcgismaps.toolkit.featureforms.internal.components.formelement.FakeAttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.formelement.FieldElement import com.arcgismaps.toolkit.featureforms.internal.components.formelement.GroupElement +import com.arcgismaps.toolkit.featureforms.internal.components.formelement.fakeAttachments import com.arcgismaps.toolkit.featureforms.internal.components.text.rememberFormTextFieldState import com.arcgismaps.toolkit.featureforms.internal.utils.FeatureFormDialog import kotlinx.coroutines.CoroutineScope @@ -125,7 +129,6 @@ public fun FeatureForm( validationErrorVisibility = validationErrorVisibility ) } - /** * A wrapper to hold state data. This provides a [Stable] class to enable smart recompositions, * since [FeatureForm] is not stable. @@ -144,8 +147,17 @@ internal fun FeatureForm( ) { val featureForm = stateData.featureForm val scope = rememberCoroutineScope() - val states = rememberStates(form = featureForm, scope = scope) - FeatureFormBody(form = featureForm, states = states, modifier = modifier) + + + val states = rememberStates( + form = featureForm, + scope = scope + ) + FeatureFormBody( + form = featureForm, + states = states, + modifier = modifier + ) FeatureFormDialog() // launch a new side effect in a launched effect when validationErrorVisibility changes LaunchedEffect(validationErrorVisibility) { @@ -185,6 +197,10 @@ private fun FeatureFormBody( ) { var initialEvaluation by rememberSaveable(form) { mutableStateOf(false) } val lazyListState = rememberLazyListState() + + if (initialEvaluation) { + rememberAttachmentStates(form = form, states = states) + } Column( modifier = modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally @@ -202,7 +218,7 @@ private fun FeatureFormBody( InitializingExpressions(modifier = Modifier.fillMaxWidth()) { initialEvaluation } - Divider(modifier = Modifier.fillMaxWidth(), thickness = 2.dp) + HorizontalDivider(modifier = Modifier.fillMaxWidth(), thickness = 2.dp) // form content LazyColumn( modifier = Modifier @@ -225,6 +241,14 @@ private fun FeatureFormBody( .padding(horizontal = 15.dp, vertical = 10.dp) ) } + + is AttachmentFormElement -> { + AttachmentFormElement( + Modifier + .fillMaxWidth() + .padding(horizontal = 15.dp, vertical = 10.dp) + ) + } else -> { // other form elements are not created @@ -234,6 +258,7 @@ private fun FeatureFormBody( } } } + LaunchedEffect(form) { // ensure expressions are evaluated form.evaluateExpressions() @@ -305,12 +330,33 @@ internal fun rememberStates( states.add(element, groupState) } - else -> {} + is AttachmentFormElement -> { + val state = rememberFakeAttachmentElementState(form = form, attachmentFormElement = element) + states.add(element, state) + } + + else -> { } + } + } + return states +} + +@Composable +internal fun rememberAttachmentStates( + form: FeatureForm, + states: FormStateCollection +): FormStateCollection { + form.elements.filterIsInstance().forEach { element -> + if (states[element] == null) { + val state = + rememberFakeAttachmentElementState(form = form, attachmentFormElement = element) + (states as MutableFormStateCollection).add(element, state) } } return states } + /** * Creates and remembers a [BaseFieldState] for the provided [element]. * @@ -389,3 +435,12 @@ internal fun rememberFieldState( } } } + +@Suppress("UNUSED_PARAMETER") +@Composable +internal fun rememberFakeAttachmentElementState( + form: FeatureForm, + attachmentFormElement: AttachmentFormElement +): FakeAttachmentElementState { + return FakeAttachmentElementState(fakeAttachments) +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt index ee257f1cc..afa8f7216 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt @@ -25,6 +25,14 @@ import com.arcgismaps.mapping.featureforms.FormElement */ @Immutable internal interface FormStateCollection : Iterable { + + /** + * Provides the bracket operator to the collection. + * + * @param formElement the search for in the collection + * @return the [FormElementState] associated with the formElement, or null if none. + */ + operator fun get(formElement: FormElement): FormElementState? interface Entry { val formElement: FormElement val state: FormElementState @@ -43,6 +51,14 @@ internal interface MutableFormStateCollection : FormStateCollection { * @param state the [FormElementState] to add. */ fun add(formElement: FormElement, state: FormElementState) + + /** + * Provides the bracket operator to the collection. + * + * @param formElement the search for in the collection + * @return the [FormElementState] associated with the formElement, or null if none. + */ + override operator fun get(formElement: FormElement): FormElementState? } /** @@ -55,7 +71,7 @@ internal fun MutableFormStateCollection(): MutableFormStateCollection = MutableF */ private class MutableFormStateCollectionImpl : MutableFormStateCollection { - private val entries: MutableList = mutableListOf() + private val entries: MutableSet = mutableSetOf() override fun iterator(): Iterator { return entries.iterator() @@ -65,6 +81,9 @@ private class MutableFormStateCollectionImpl : MutableFormStateCollection { entries.add(EntryImpl(formElement, state)) } + override operator fun get(formElement: FormElement): FormElementState? = + entries.firstOrNull { it.formElement == formElement }?.state + /** * Default implementation for a [FormStateCollection.Entry]. */ diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt index fccf1708f..50e04209e 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt @@ -55,9 +55,9 @@ import androidx.compose.material.icons.rounded.Edit import androidx.compose.material.icons.rounded.LibraryAdd import androidx.compose.material.icons.rounded.MoreVert import androidx.compose.material3.Card -import androidx.compose.material3.Divider import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text @@ -86,21 +86,22 @@ import androidx.compose.ui.unit.sp import coil.compose.rememberAsyncImagePainter import coil.request.ImageRequest import com.arcgismaps.toolkit.featureforms.R +import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState +import kotlinx.coroutines.flow.MutableStateFlow internal data class FakeAttachmentElementState( val attachments: List, val editable: Boolean = true, val title: String = "Titanic", - val description: String = "Take pictures of damage to the boat.", val keyword: String = "point of impact",// not used val input: String = "123",// not used var selectedAttachment: FakeAttachment? = null -) +): FormElementState(label = "fake attachments", description = "fake description", isVisible = MutableStateFlow(true)) internal data class FakeAttachment(val name: String = "front of ship.jpg", val size: Long = 1234L) -private val attachments = +internal val fakeAttachments = buildList { repeat(40) { add(FakeAttachment("Bow point of collision.jpeg", 1234)) @@ -149,7 +150,7 @@ private fun Modifier.feedbackClickable( @Composable internal fun AttachmentFormElement(modifier: Modifier = Modifier) { AttachmentFormElement( - state = FakeAttachmentElementState(attachments = attachments, selectedAttachment = null), + state = FakeAttachmentElementState(attachments = fakeAttachments, selectedAttachment = null), modifier = modifier ) } @@ -194,7 +195,7 @@ private fun Carousel(onThumbnailTap: (FakeAttachment) -> Unit = {}, onDetailsTap .height(intrinsicSize = IntrinsicSize.Max), horizontalArrangement = Arrangement.spacedBy(10.dp) ) { - attachments.forEach { + fakeAttachments.forEach { CarouselThumbnail( it.name, it.size, @@ -271,7 +272,7 @@ private fun CarouselThumbnail(name: String, size: Long, onThumbnailTap: () -> Un } } - Divider() + HorizontalDivider() CarouselText(name, size) } } @@ -296,7 +297,7 @@ private fun ThumbnailMenu(expanded: Boolean, onDismiss: () -> Unit = {}) { contentPadding = PaddingValues(horizontal = 3.dp), onClick = {} ) - Divider(modifier = Modifier.padding(vertical = 5.dp)) + HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) DropdownMenuItem( text = { Text(text = "Delete") }, trailingIcon = { @@ -377,7 +378,7 @@ private fun AddAttachmentMenu(expanded: Boolean, onDismiss: () -> Unit = {}) { }, onClick = {} ) - Divider(modifier = Modifier.padding(vertical = 5.dp)) + HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) DropdownMenuItem( text= { Text(text = "Add Photo From Gallery") }, trailingIcon = { @@ -389,7 +390,7 @@ private fun AddAttachmentMenu(expanded: Boolean, onDismiss: () -> Unit = {}) { }, onClick = {} ) - Divider(modifier = Modifier.padding(vertical = 5.dp)) + HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) DropdownMenuItem( text= { Text(text = "Add File") }, trailingIcon = { From 198f9383b36e99bc790ee7486ce06c70cff900ca Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 30 Apr 2024 13:48:31 -0700 Subject: [PATCH 21/53] `Forms`: Add theming support (#362) --- toolkit/featureforms/api/featureforms.api | 234 ++++++++++- .../toolkit/featureforms/SemanticsNodeUtil.kt | 19 + .../toolkit/featureforms/ThemingTests.kt | 314 +++++++++++++++ .../toolkit/featureforms/FeatureForm.kt | 29 +- .../internal/components/base/BaseTextField.kt | 94 ++++- .../components/base/BaseTextFieldDefaults.kt | 59 --- .../components/codedvalue/RadioButtonField.kt | 39 +- .../codedvalue/RadioButtonFieldDefaults.kt | 47 --- .../components/formelement/GroupElement.kt | 53 ++- .../formelement/GroupElementDefaults.kt | 40 -- .../featureforms/theme/DefaultThemeTokens.kt | 224 +++++++++++ .../featureforms/theme/FeatureFormDefaults.kt | 357 +++++++++++++++++ .../featureforms/theme/FeatureFormTheme.kt | 373 ++++++++++++++++++ 13 files changed, 1690 insertions(+), 192 deletions(-) create mode 100644 toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextFieldDefaults.kt delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldDefaults.kt delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElementDefaults.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt diff --git a/toolkit/featureforms/api/featureforms.api b/toolkit/featureforms/api/featureforms.api index 26f37bab2..88691478b 100644 --- a/toolkit/featureforms/api/featureforms.api +++ b/toolkit/featureforms/api/featureforms.api @@ -1,5 +1,5 @@ public final class com/arcgismaps/toolkit/featureforms/FeatureFormKt { - public static final fun FeatureForm (Lcom/arcgismaps/mapping/featureforms/FeatureForm;Landroidx/compose/ui/Modifier;Lcom/arcgismaps/toolkit/featureforms/ValidationErrorVisibility;Landroidx/compose/runtime/Composer;II)V + public static final fun FeatureForm (Lcom/arcgismaps/mapping/featureforms/FeatureForm;Landroidx/compose/ui/Modifier;Lcom/arcgismaps/toolkit/featureforms/ValidationErrorVisibility;Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography;Landroidx/compose/runtime/Composer;II)V } public abstract class com/arcgismaps/toolkit/featureforms/ValidationErrorVisibility { @@ -16,3 +16,235 @@ public final class com/arcgismaps/toolkit/featureforms/ValidationErrorVisibility public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/ValidationErrorVisibility$Visible; } +public final class com/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors { + public static final field $stable I + public final fun component1-0d7_KjU ()J + public final fun component10-0d7_KjU ()J + public final fun component11-0d7_KjU ()J + public final fun component12-0d7_KjU ()J + public final fun component13-0d7_KjU ()J + public final fun component14-0d7_KjU ()J + public final fun component15-0d7_KjU ()J + public final fun component16-0d7_KjU ()J + public final fun component17-0d7_KjU ()J + public final fun component18-0d7_KjU ()J + public final fun component19-0d7_KjU ()J + public final fun component2-0d7_KjU ()J + public final fun component20-0d7_KjU ()J + public final fun component21-0d7_KjU ()J + public final fun component22-0d7_KjU ()J + public final fun component23-0d7_KjU ()J + public final fun component24-0d7_KjU ()J + public final fun component25-0d7_KjU ()J + public final fun component26-0d7_KjU ()J + public final fun component27-0d7_KjU ()J + public final fun component28-0d7_KjU ()J + public final fun component29-0d7_KjU ()J + public final fun component3-0d7_KjU ()J + public final fun component30-0d7_KjU ()J + public final fun component31-0d7_KjU ()J + public final fun component32-0d7_KjU ()J + public final fun component33-0d7_KjU ()J + public final fun component4-0d7_KjU ()J + public final fun component5-0d7_KjU ()J + public final fun component6-0d7_KjU ()J + public final fun component7-0d7_KjU ()J + public final fun component8-0d7_KjU ()J + public final fun component9 ()Landroidx/compose/foundation/text/selection/TextSelectionColors; + public final fun copy-T0n5EvI (JJJJJJJJLandroidx/compose/foundation/text/selection/TextSelectionColors;JJJJJJJJJJJJJJJJJJJJJJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; + public static synthetic fun copy-T0n5EvI$default (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;JJJJJJJJLandroidx/compose/foundation/text/selection/TextSelectionColors;JJJJJJJJJJJJJJJJJJJJJJJJIILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; + public fun equals (Ljava/lang/Object;)Z + public final fun getCursorColor-0d7_KjU ()J + public final fun getErrorContainerColor-0d7_KjU ()J + public final fun getErrorCursorColor-0d7_KjU ()J + public final fun getErrorIndicatorColor-0d7_KjU ()J + public final fun getErrorLabelColor-0d7_KjU ()J + public final fun getErrorLeadingIconColor-0d7_KjU ()J + public final fun getErrorPlaceholderColor-0d7_KjU ()J + public final fun getErrorPrefixColor-0d7_KjU ()J + public final fun getErrorSuffixColor-0d7_KjU ()J + public final fun getErrorSupportingTextColor-0d7_KjU ()J + public final fun getErrorTextColor-0d7_KjU ()J + public final fun getErrorTrailingIconColor-0d7_KjU ()J + public final fun getFocusedContainerColor-0d7_KjU ()J + public final fun getFocusedIndicatorColor-0d7_KjU ()J + public final fun getFocusedLabelColor-0d7_KjU ()J + public final fun getFocusedLeadingIconColor-0d7_KjU ()J + public final fun getFocusedPlaceholderColor-0d7_KjU ()J + public final fun getFocusedPrefixColor-0d7_KjU ()J + public final fun getFocusedSuffixColor-0d7_KjU ()J + public final fun getFocusedSupportingTextColor-0d7_KjU ()J + public final fun getFocusedTextColor-0d7_KjU ()J + public final fun getFocusedTrailingIconColor-0d7_KjU ()J + public final fun getTextSelectionColors ()Landroidx/compose/foundation/text/selection/TextSelectionColors; + public final fun getUnfocusedContainerColor-0d7_KjU ()J + public final fun getUnfocusedIndicatorColor-0d7_KjU ()J + public final fun getUnfocusedLabelColor-0d7_KjU ()J + public final fun getUnfocusedLeadingIconColor-0d7_KjU ()J + public final fun getUnfocusedPlaceholderColor-0d7_KjU ()J + public final fun getUnfocusedPrefixColor-0d7_KjU ()J + public final fun getUnfocusedSuffixColor-0d7_KjU ()J + public final fun getUnfocusedSupportingTextColor-0d7_KjU ()J + public final fun getUnfocusedTextColor-0d7_KjU ()J + public final fun getUnfocusedTrailingIconColor-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography { + public static final field $stable I + public final fun component1 ()Landroidx/compose/ui/text/TextStyle; + public final fun component2 ()Landroidx/compose/ui/text/TextStyle; + public final fun component3 ()Landroidx/compose/ui/text/TextStyle; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getTextStyle ()Landroidx/compose/ui/text/TextStyle; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme { + public static final field $stable I + public final fun component1 ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; + public final fun component2 ()Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public final fun component3 ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; + public final fun component4 ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; + public final fun copy (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public fun equals (Ljava/lang/Object;)Z + public final fun getEditableTextFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; + public final fun getGroupElementColors ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; + public final fun getRadioButtonFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; + public final fun getReadOnlyFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults { + public static final field $stable I + public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults; + public final fun colorScheme (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public final fun editableTextFieldColors-s9joTbY (JJJJJJJJLandroidx/compose/foundation/text/selection/TextSelectionColors;JJJJJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIIIII)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; + public final fun editableTextFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; + public final fun groupElementColors-zjMxDiM (JJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; + public final fun groupElementTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; + public final fun radioButtonFieldColors-oq7We08 (JJJJJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; + public final fun radioButtonFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; + public final fun readOnlyFieldColors-RGew2ao (JJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public final fun readOnlyFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; + public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography { + public static final field $stable I + public final fun getEditableTextFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; + public final fun getGroupElementTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; + public final fun getRadioButtonFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; + public final fun getReadOnlyFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/GroupElementColors { + public static final field $stable I + public final fun component1-0d7_KjU ()J + public final fun component2-0d7_KjU ()J + public final fun component3-0d7_KjU ()J + public final fun component4-0d7_KjU ()J + public final fun component5-0d7_KjU ()J + public final fun copy-t635Npw (JJJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; + public static synthetic fun copy-t635Npw$default (Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;JJJJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; + public fun equals (Ljava/lang/Object;)Z + public final fun getBodyColor-0d7_KjU ()J + public final fun getContainerColor-0d7_KjU ()J + public final fun getLabelColor-0d7_KjU ()J + public final fun getOutlineColor-0d7_KjU ()J + public final fun getSupportingTextColor-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/GroupElementTypography { + public static final field $stable I + public final fun component1 ()Landroidx/compose/ui/text/TextStyle; + public final fun component2 ()Landroidx/compose/ui/text/TextStyle; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors { + public static final field $stable I + public final fun component1-0d7_KjU ()J + public final fun component2-0d7_KjU ()J + public final fun component3-0d7_KjU ()J + public final fun component4-0d7_KjU ()J + public final fun component5-0d7_KjU ()J + public final fun component6-0d7_KjU ()J + public final fun component7-0d7_KjU ()J + public final fun component8-0d7_KjU ()J + public final fun copy-FD3wquc (JJJJJJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; + public static synthetic fun copy-FD3wquc$default (Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;JJJJJJJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; + public fun equals (Ljava/lang/Object;)Z + public final fun getDisabledSelectedColor-0d7_KjU ()J + public final fun getDisabledUnselectedColor-0d7_KjU ()J + public final fun getLabelColor-0d7_KjU ()J + public final fun getOutlineColor-0d7_KjU ()J + public final fun getSelectedColor-0d7_KjU ()J + public final fun getSupportingTextColor-0d7_KjU ()J + public final fun getTextColor-0d7_KjU ()J + public final fun getUnselectedColor-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography { + public static final field $stable I + public final fun component1 ()Landroidx/compose/ui/text/TextStyle; + public final fun component2 ()Landroidx/compose/ui/text/TextStyle; + public final fun component3 ()Landroidx/compose/ui/text/TextStyle; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getOptionStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors { + public static final field $stable I + public final fun component1-0d7_KjU ()J + public final fun component2-0d7_KjU ()J + public final fun component3-0d7_KjU ()J + public final fun copy-ysEtTa8 (JJJ)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public static synthetic fun copy-ysEtTa8$default (Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;JJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelColor-0d7_KjU ()J + public final fun getSupportingTextColor-0d7_KjU ()J + public final fun getTextColor-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography { + public static final field $stable I + public final fun component1 ()Landroidx/compose/ui/text/TextStyle; + public final fun component2 ()Landroidx/compose/ui/text/TextStyle; + public final fun component3 ()Landroidx/compose/ui/text/TextStyle; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getTextStyle ()Landroidx/compose/ui/text/TextStyle; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SemanticsNodeUtil.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SemanticsNodeUtil.kt index b0ec2286c..c8c2566f5 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SemanticsNodeUtil.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SemanticsNodeUtil.kt @@ -29,6 +29,7 @@ import androidx.compose.ui.test.assert import androidx.compose.ui.test.onChildren import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextLayoutResult +import androidx.compose.ui.text.TextStyle fun SemanticsNodeInteraction.getAnnotatedTextString(): AnnotatedString { val textList = fetchSemanticsNode().config.first { @@ -59,6 +60,24 @@ private fun isOfColor(color: Color): SemanticsMatcher = SemanticsMatcher( } } +fun SemanticsNodeInteraction.assertTextStyle( + style: TextStyle +): SemanticsNodeInteraction = assert(isOfTextStyle(style)) + +private fun isOfTextStyle(style: TextStyle): SemanticsMatcher = SemanticsMatcher( + "${SemanticsProperties.Text.name} is of style '$style'" +) { + val textLayoutResults = mutableListOf() + it.config.getOrNull(SemanticsActions.GetTextLayoutResult) + ?.action + ?.invoke(textLayoutResults) + return@SemanticsMatcher if (textLayoutResults.isEmpty()) { + false + } else { + textLayoutResults.first().layoutInput.style == style + } +} + private fun SemanticsNodeInteractionCollection.onChildWithText(value: String, recurse: Boolean = false): SemanticsNodeInteraction? { val count = fetchSemanticsNodes().count() diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt new file mode 100644 index 000000000..366dac1f4 --- /dev/null +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt @@ -0,0 +1,314 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms + +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.performClick +import androidx.compose.ui.test.performImeAction +import androidx.compose.ui.test.performTextInput +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import com.arcgismaps.ArcGISEnvironment +import com.arcgismaps.data.ArcGISFeature +import com.arcgismaps.data.QueryParameters +import com.arcgismaps.mapping.ArcGISMap +import com.arcgismaps.mapping.featureforms.FeatureForm +import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormElement +import com.arcgismaps.mapping.featureforms.GroupFormElement +import com.arcgismaps.mapping.layers.FeatureLayer +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormDefaults +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTypography +import junit.framework.TestCase +import kotlinx.coroutines.test.runTest +import org.junit.BeforeClass +import org.junit.Rule +import org.junit.Test + +class ThemingTests { + + @get:Rule + val composeTestRule = createComposeRule() + + private fun getFormElementWithLabel(label: String): FormElement { + return featureForm.elements.first { + it.label == label + } + } + + /** + * Given a FeatureForm with a custom color scheme and typography for editable fields + * When the FeatureForm is displayed + * Then the custom color scheme and typography are applied to the editable form elements + */ + @Test + fun testEditableFieldTheming() { + var colorScheme: FeatureFormColorScheme + var typography: FeatureFormTypography + // create custom color scheme and typography and apply to the FeatureForm + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + editableTextFieldColors = FeatureFormDefaults.editableTextFieldColors( + focusedTextColor = Color.Red + ) + ) + typography = FeatureFormDefaults.typography( + editableTextFieldTypography = FeatureFormDefaults.editableTextFieldTypography( + labelStyle = TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Green + ) + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme, + typography = typography + ) + } + val formElement = getFormElementWithLabel("Text Box") as FieldFormElement + val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + label.assertIsDisplayed() + label.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Green + ) + ) + val text = + composeTestRule.onNodeWithText(formElement.formattedValue, useUnmergedTree = true) + text.assertIsDisplayed() + text.performClick() + text.assertTextColor(Color.Red) + } + + /** + * Given a FeatureForm with a custom color scheme that includes placeholder colors + * When the FeatureForm is displayed and a form element is focused + * Then the custom placeholder colors are applied to the form elements based on focus state + */ + @Test + fun testPlaceHolderTransformation() { + var colorScheme: FeatureFormColorScheme + // create custom color scheme and typography and apply to the FeatureForm + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + editableTextFieldColors = FeatureFormDefaults.editableTextFieldColors( + unfocusedPlaceholderColor = Color.White, + focusedPlaceholderColor = Color.Red, + unfocusedTextColor = Color.Black, + focusedTextColor = Color.Blue + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme + ) + } + val formElement = getFormElementWithLabel("An empty field") as FieldFormElement + val field = composeTestRule.onNodeWithText(formElement.label) + val placeholder = composeTestRule.onNodeWithText(formElement.hint, useUnmergedTree = true) + placeholder.assertIsDisplayed() + // test unfocused placeholder color + placeholder.assertTextColor(Color.White) + field.performClick() + // test focused placeholder color + placeholder.assertTextColor(Color.Red) + field.performTextInput("test") + val text = composeTestRule.onNodeWithText("test", useUnmergedTree = true) + text.assertIsDisplayed() + // test focused text color + text.assertTextColor(Color.Blue) + field.performImeAction() + // test unfocused text color + text.assertTextColor(Color.Black) + } + + /** + * Given a FeatureForm with a custom color scheme and typography for read only fields + * When the FeatureForm is displayed + * Then the custom color scheme and typography are applied to the read only form elements + */ + @Test + fun testReadOnlyFieldTheming() { + var colorScheme: FeatureFormColorScheme + var typography: FeatureFormTypography + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + readOnlyFieldColors = FeatureFormDefaults.readOnlyFieldColors( + textColor = Color.Green + ) + ) + typography = FeatureFormDefaults.typography( + readOnlyFieldTypography = FeatureFormDefaults.readOnlyFieldTypography( + labelStyle = TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Red + ) + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme, + typography = typography + ) + } + val formElement = getFormElementWithLabel("Name") as FieldFormElement + val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + label.assertIsDisplayed() + label.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Red + ) + ) + val text = + composeTestRule.onNodeWithText(formElement.formattedValue, useUnmergedTree = true) + text.assertIsDisplayed() + text.assertTextColor(Color.Green) + } + + /** + * Given a FeatureForm with a custom color scheme and typography for radio button fields + * When the FeatureForm is displayed + * Then the custom color scheme and typography are applied to the radio button form elements + */ + @Test + fun testRadioButtonFieldTheming() { + var colorScheme: FeatureFormColorScheme + var typography: FeatureFormTypography + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + radioButtonFieldColors = FeatureFormDefaults.radioButtonFieldColors( + textColor = Color.Green + ) + ) + typography = FeatureFormDefaults.typography( + radioButtonFieldTypography = FeatureFormDefaults.radioButtonFieldTypography( + labelStyle = TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Red + ) + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme, + typography = typography + ) + } + val formElement = getFormElementWithLabel("Radio Button") as FieldFormElement + val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + label.assertIsDisplayed() + label.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Red + ) + ) + val text = + composeTestRule.onNodeWithText(formElement.formattedValue, useUnmergedTree = true) + text.assertIsDisplayed() + text.assertTextColor(Color.Green) + } + + /** + * Given a FeatureForm with a custom color scheme and typography for group elements + * When the FeatureForm is displayed + * Then the custom color scheme and typography are applied to the group form elements + */ + @Test + fun testGroupElementTheming() { + var colorScheme: FeatureFormColorScheme + var typography: FeatureFormTypography + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + groupElementColors = FeatureFormDefaults.groupElementColors( + supportingTextColor = Color.Green + ) + ) + typography = FeatureFormDefaults.typography( + groupElementTypography = FeatureFormDefaults.groupElementTypography( + labelStyle = TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Blue + ) + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme, + typography = typography + ) + } + val groupElement = getFormElementWithLabel("Group One") as GroupFormElement + val label = composeTestRule.onNodeWithText(groupElement.label, useUnmergedTree = true) + label.assertIsDisplayed() + label.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Blue + ) + ) + val supportingText = composeTestRule.onNodeWithText(groupElement.description, useUnmergedTree = true) + supportingText.assertIsDisplayed() + supportingText.assertTextColor(Color.Green) + } + + companion object { + private lateinit var featureForm: FeatureForm + + @BeforeClass + @JvmStatic + fun setupClass() = runTest { + ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = + FeatureFormsTestChallengeHandler( + BuildConfig.webMapUser, + BuildConfig.webMapPassword + ) + val map = + ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=615e8fe546ef4d139fb9298515c2f40a") + map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } + val featureLayer = map.operationalLayers.first() as? FeatureLayer + featureLayer?.let { layer -> + layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } + val featureFormDefinition = layer.featureFormDefinition!! + val parameters = QueryParameters().also { + it.objectIds.add(1L) + it.maxFeatures = 1 + } + layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> + val feature = featureQueryResult.find { + it is ArcGISFeature + } as? ArcGISFeature + if (feature == null) TestCase.fail("failed to fetch feature") + feature?.load()?.onFailure { + TestCase.fail("failed to load feature with ${it.message}") + } + featureForm = FeatureForm(feature!!, featureFormDefinition) + featureForm.evaluateExpressions() + }?.onFailure { + TestCase.fail("failed to query features on layer's featuretable with ${it.message}") + } + } + } + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index dca43c6c5..3244329b6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -77,6 +77,10 @@ import com.arcgismaps.toolkit.featureforms.internal.components.formelement.Group import com.arcgismaps.toolkit.featureforms.internal.components.formelement.fakeAttachments import com.arcgismaps.toolkit.featureforms.internal.components.text.rememberFormTextFieldState import com.arcgismaps.toolkit.featureforms.internal.utils.FeatureFormDialog +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormDefaults +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTheme +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTypography import kotlinx.coroutines.CoroutineScope /** @@ -102,6 +106,11 @@ public sealed class ValidationErrorVisibility { * layer using forms that have been configured externally. Forms may be configured in the [Web Map Viewer](https://www.arcgis.com/home/webmap/viewer.html) * or [Fields Maps Designer](https://www.arcgis.com/apps/fieldmaps/)). * + * The colors and typography for the Form can use customized using [FeatureFormColorScheme] and + * [FeatureFormTypography]. This customization is built on top of [MaterialTheme]. + * If a custom color is specified in both the color scheme and the typography, the color from the + * color scheme will take precedence and will be merged with the text style, if one is provided. + * * Note : Even though the [FeatureForm] class is not stable, there exists an internal mechanism to * enable smart recompositions. * @@ -111,6 +120,8 @@ public sealed class ValidationErrorVisibility { * @param validationErrorVisibility The [ValidationErrorVisibility] that determines the behavior of * when the validation errors are visible. Default is [ValidationErrorVisibility.Automatic] which * indicates errors are only visible once the respective field gains focus. + * @param colorScheme The [FeatureFormColorScheme] to use for the FeatureForm. + * @param typography The [FeatureFormTypography] to use for the FeatureForm. * * @since 200.4.0 */ @@ -118,16 +129,20 @@ public sealed class ValidationErrorVisibility { public fun FeatureForm( featureForm: FeatureForm, modifier: Modifier = Modifier, - validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic + validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic, + colorScheme: FeatureFormColorScheme = FeatureFormDefaults.colorScheme(), + typography: FeatureFormTypography = FeatureFormDefaults.typography() ) { val stateData = remember(featureForm) { StateData(featureForm) } - FeatureForm( - stateData = stateData, - modifier = modifier, - validationErrorVisibility = validationErrorVisibility - ) + FeatureFormTheme(colorScheme, typography) { + FeatureForm( + stateData = stateData, + modifier = modifier, + validationErrorVisibility = validationErrorVisibility + ) + } } /** * A wrapper to hold state data. This provides a [Stable] class to enable smart recompositions, @@ -140,7 +155,7 @@ internal data class StateData(@Stable val featureForm: FeatureForm) * This composable uses the [StateData] class to display a [FeatureForm]. */ @Composable -internal fun FeatureForm( +private fun FeatureForm( stateData: StateData, modifier: Modifier = Modifier, validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt index 20a5db6d6..312362b51 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt @@ -36,6 +36,8 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text +import androidx.compose.material3.TextFieldColors +import androidx.compose.material3.TextFieldDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -55,6 +57,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.arcgismaps.toolkit.featureforms.internal.utils.PlaceholderTransformation +import com.arcgismaps.toolkit.featureforms.theme.EditableTextFieldColors +import com.arcgismaps.toolkit.featureforms.theme.LocalColorScheme +import com.arcgismaps.toolkit.featureforms.theme.LocalTypography /** @@ -122,7 +127,11 @@ internal fun BaseTextField( } val contentLength = "${text.length}" val isSupportingTextAvailable = supportingText.isNotEmpty() || (showCharacterCount && isFocused) - val colors = baseTextFieldColors(text.isEmpty(), placeholder.isEmpty()) + val colors = LocalColorScheme.current.editableTextFieldColors.toTextFieldColors( + textIsEmpty = text.isEmpty(), + placeHolderIsEmpty = placeholder.isEmpty() + ) + val typography = LocalTypography.current.editableTextFieldTypography Column(modifier = modifier .onFocusChanged { isFocused = it.hasFocus @@ -144,14 +153,14 @@ internal fun BaseTextField( enabled = true, readOnly = readOnly, isError = isError, - textStyle = MaterialTheme.typography.bodyLarge, + textStyle = typography.textStyle, label = { Text( text = title, modifier = Modifier.semantics { contentDescription = "label" }, overflow = TextOverflow.Ellipsis, maxLines = 1, - style = MaterialTheme.typography.bodySmall + style = typography.labelStyle ) }, trailingIcon = trailingContent @@ -172,7 +181,7 @@ internal fun BaseTextField( modifier = Modifier.semantics { contentDescription = "supporting text" }, - style = MaterialTheme.typography.bodySmall + style = typography.supportingTextStyle ) } if (showCharacterCount && isFocused) { @@ -182,7 +191,7 @@ internal fun BaseTextField( modifier = Modifier.semantics { contentDescription = "char count" }, - style = MaterialTheme.typography.bodySmall + style = typography.supportingTextStyle ) } } @@ -248,24 +257,92 @@ private fun ReadOnlyTextField( modifier: Modifier = Modifier, supportingText: String, ) { + val colors = LocalColorScheme.current.readOnlyFieldColors + val typography = LocalTypography.current.readOnlyFieldTypography Column(modifier = modifier.fillMaxWidth()) { Text( text = label, overflow = TextOverflow.Ellipsis, maxLines = 1, - style = MaterialTheme.typography.bodyMedium + color = colors.labelColor, + style = typography.labelStyle ) SelectionContainer( modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp) ) { - Text(text = text.ifEmpty { "--" }, style = MaterialTheme.typography.bodyLarge) + Text( + text = text.ifEmpty { "--" }, + color = colors.textColor, + style = typography.textStyle + ) } if (supportingText.isNotEmpty()) { - Text(text = supportingText, style = MaterialTheme.typography.bodySmall) + Text( + text = supportingText, + color = colors.supportingTextColor, + style = typography.supportingTextStyle + ) } } } +@Composable +internal fun EditableTextFieldColors.toTextFieldColors( + textIsEmpty: Boolean, + placeHolderIsEmpty: Boolean +): TextFieldColors { + // transform placeholder colors into text colors + val transformPlaceHolderColors = textIsEmpty && !placeHolderIsEmpty + val transformedFocusedTextColor = if (transformPlaceHolderColors) { + // if placeholder is visible, make it lighter than the actual input text color + focusedPlaceholderColor + } else { + focusedTextColor + } + val transformedUnFocusedTextColor = if (transformPlaceHolderColors) { + unfocusedPlaceholderColor + } else { + unfocusedTextColor + } + val transformedErrorTextColor = if (transformPlaceHolderColors) { + errorPlaceholderColor + } else { + errorTextColor + } + return TextFieldDefaults.colors( + focusedTextColor = transformedFocusedTextColor, + unfocusedTextColor = transformedUnFocusedTextColor, + errorTextColor = transformedErrorTextColor, + focusedContainerColor = focusedContainerColor, + unfocusedContainerColor = unfocusedContainerColor, + errorContainerColor = errorContainerColor, + cursorColor = cursorColor, + errorCursorColor = errorCursorColor, + selectionColors = textSelectionColors, + focusedIndicatorColor = focusedIndicatorColor, + unfocusedIndicatorColor = unfocusedIndicatorColor, + errorIndicatorColor = errorIndicatorColor, + focusedLeadingIconColor = focusedLeadingIconColor, + unfocusedLeadingIconColor = unfocusedLeadingIconColor, + errorLeadingIconColor = errorLeadingIconColor, + focusedTrailingIconColor = focusedTrailingIconColor, + unfocusedTrailingIconColor = unfocusedTrailingIconColor, + errorTrailingIconColor = errorTrailingIconColor, + focusedLabelColor = focusedLabelColor, + unfocusedLabelColor = unfocusedLabelColor, + errorLabelColor = errorLabelColor, + focusedSupportingTextColor = focusedSupportingTextColor, + unfocusedSupportingTextColor = unfocusedSupportingTextColor, + errorSupportingTextColor = errorSupportingTextColor, + focusedPrefixColor = focusedPrefixColor, + unfocusedPrefixColor = unfocusedPrefixColor, + errorPrefixColor = errorPrefixColor, + focusedSuffixColor = focusedSuffixColor, + unfocusedSuffixColor = unfocusedSuffixColor, + errorSuffixColor = errorSuffixColor + ) +} + @Preview(showBackground = true, backgroundColor = 0xFFFFFFFF) @Composable private fun ReadOnlyTextFieldPreview() { @@ -303,3 +380,4 @@ private fun BaseTextFieldPreview() { ) } } + diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextFieldDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextFieldDefaults.kt deleted file mode 100644 index fbad4cebd..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextFieldDefaults.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2023 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.components.base - -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedTextFieldDefaults -import androidx.compose.material3.TextFieldColors -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color - -/** - * Color properties of a base text field. Since non editable fields are rendered as read-only - * text fields, the colors actually match disabled fields. - * - * Taken from the material 3 design :https://m3.material.io/components/text-fields/specs. - */ -@Composable -internal fun baseTextFieldColors( - isEmpty: Boolean, - isPlaceholderEmpty: Boolean, -): TextFieldColors { - val textColor = defaultTextColor(isEmpty = isEmpty, isPlaceholderEmpty = isPlaceholderEmpty) - return OutlinedTextFieldDefaults.colors( - focusedTextColor = textColor, - unfocusedTextColor = textColor - ) -} - -/** - * Specifies the text color based on if the field is editable or a placeholder is being shown. - */ -@Composable -internal fun defaultTextColor( - isEmpty: Boolean, - isPlaceholderEmpty: Boolean, -): Color { - val baseColor = MaterialTheme.colorScheme.onSurface - return if ((isEmpty && !isPlaceholderEmpty)) { - // if placeholder is visible, make it lighter than the actual input text color - baseColor.copy(alpha = 0.6f) - } else { - // input text color - baseColor - } -} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt index 91429a86b..41f08b4d2 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt @@ -25,9 +25,11 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.selection.selectable import androidx.compose.foundation.selection.selectableGroup import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.LocalContentColor import androidx.compose.material3.LocalTextStyle -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.RadioButton +import androidx.compose.material3.RadioButtonColors +import androidx.compose.material3.RadioButtonDefaults import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -39,17 +41,20 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.arcgismaps.mapping.featureforms.FormInputNoValueOption import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseTextField +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTheme +import com.arcgismaps.toolkit.featureforms.theme.LocalColorScheme +import com.arcgismaps.toolkit.featureforms.theme.LocalTypography @Composable internal fun RadioButtonField( state: RadioButtonFieldState, - modifier: Modifier = Modifier, - colors: RadioButtonFieldColors = RadioButtonFieldDefaults.colors() + modifier: Modifier = Modifier ) { val value by state.value val editable by state.isEditable.collectAsState() @@ -65,7 +70,6 @@ internal fun RadioButtonField( showNoValueOption = state.showNoValueOption, noValueLabel = noValueLabel, modifier = modifier, - colors = colors ) { state.onValueChanged(it) } @@ -94,9 +98,10 @@ private fun RadioButtonField( showNoValueOption: FormInputNoValueOption, noValueLabel: String, modifier: Modifier = Modifier, - colors: RadioButtonFieldColors = RadioButtonFieldDefaults.colors(), onValueChanged: (Any?) -> Unit = {} ) { + val colors = LocalColorScheme.current.radioButtonFieldColors + val typography = LocalTypography.current.radioButtonFieldTypography val options = if (!required) { if (showNoValueOption == FormInputNoValueOption.Show) { mapOf(null to noValueLabel) + codedValues @@ -117,7 +122,8 @@ private fun RadioButtonField( } else { label }, - style = RadioButtonFieldDefaults.labelTextStyle, + color = colors.labelColor, + style = typography.labelStyle, modifier = Modifier.semantics { contentDescription = "label" } ) Column( @@ -125,18 +131,26 @@ private fun RadioButtonField( .selectableGroup() .border( width = 1.dp, - color = colors.containerBorderColor, + color = colors.outlineColor, shape = RoundedCornerShape(5.dp) ) ) { CompositionLocalProvider( - LocalTextStyle provides RadioButtonFieldDefaults.textStyle + LocalTextStyle provides typography.optionStyle.merge( + TextStyle(color = colors.textColor) + ), ) { options.forEach { (code, name) -> RadioButtonRow( value = name, selected = code == value || (name == noValueLabel && value == null), - onClick = { onValueChanged(code) } + onClick = { onValueChanged(code) }, + colors = RadioButtonDefaults.colors( + selectedColor = colors.selectedColor, + unselectedColor = colors.unselectedColor, + disabledSelectedColor = colors.disabledSelectedColor, + disabledUnselectedColor = colors.disabledUnselectedColor + ) ) } } @@ -144,7 +158,8 @@ private fun RadioButtonField( if (description.isNotEmpty()) { Text( text = description, - style = RadioButtonFieldDefaults.supportingTextStyle, + color = colors.supportingTextColor, + style = typography.supportingTextStyle, modifier = Modifier.semantics { contentDescription = "supporting text" } @@ -160,6 +175,7 @@ private fun RadioButtonRow( selected: Boolean, onClick: () -> Unit, modifier: Modifier = Modifier, + colors: RadioButtonColors ) { Row( modifier = modifier @@ -176,6 +192,7 @@ private fun RadioButtonRow( RadioButton( selected = selected, onClick = null, + colors = colors ) Text( text = value @@ -186,7 +203,7 @@ private fun RadioButtonRow( @Preview(showBackground = true, backgroundColor = 0xFFFFFFFF, showSystemUi = true) @Composable private fun RadioButtonFieldPreview() { - MaterialTheme { + FeatureFormTheme { RadioButtonField( label = "A list of values", description = "Description", diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldDefaults.kt deleted file mode 100644 index a9b6fc630..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldDefaults.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2023 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.components.codedvalue - -import androidx.compose.material3.MaterialTheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.text.TextStyle - -internal object RadioButtonFieldDefaults { - - val textStyle : TextStyle @Composable get() = MaterialTheme.typography.bodyLarge - val labelTextStyle : TextStyle @Composable get() = MaterialTheme.typography.bodyMedium - val supportingTextStyle : TextStyle @Composable get() = MaterialTheme.typography.bodySmall - - @Composable - fun colors(): RadioButtonFieldColors = RadioButtonFieldColors( - errorColor = MaterialTheme.colorScheme.error, - containerBorderColor = MaterialTheme.colorScheme.outline, - ) -} - -/** - * Color properties of a radio button field. - * - * @property errorColor The color used for the supporting text of this radio button field when the value is considered - * invalid. - * @property containerBorderColor The color used for the container border of this radio button field. - */ -internal data class RadioButtonFieldColors( - val errorColor: Color, - val containerBorderColor: Color, -) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElement.kt index bb29e7931..4e6ede153 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElement.kt @@ -25,12 +25,13 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.ExpandLess import androidx.compose.material.icons.rounded.ExpandMore import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -45,15 +46,17 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseGroupState -import com.arcgismaps.toolkit.featureforms.internal.components.base.MutableFormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection +import com.arcgismaps.toolkit.featureforms.internal.components.base.MutableFormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.base.getState +import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTheme +import com.arcgismaps.toolkit.featureforms.theme.LocalColorScheme +import com.arcgismaps.toolkit.featureforms.theme.LocalTypography @Composable internal fun GroupElement( state: BaseGroupState, - modifier: Modifier = Modifier, - colors: GroupElementColors = GroupElementDefaults.colors() + modifier: Modifier = Modifier ) { val visible by state.isVisible.collectAsState() if (visible) { @@ -63,7 +66,6 @@ internal fun GroupElement( expanded = state.expanded.value, fieldStates = state.fieldStates, modifier = modifier, - colors = colors, onClick = { state.setExpanded(!state.expanded.value) } @@ -78,13 +80,16 @@ private fun GroupElement( expanded: Boolean, fieldStates: FormStateCollection, modifier: Modifier = Modifier, - colors: GroupElementColors, onClick: () -> Unit ) { + val colors = LocalColorScheme.current.groupElementColors Card( modifier = modifier, shape = GroupElementDefaults.containerShape, - border = BorderStroke(GroupElementDefaults.borderThickness, colors.borderColor) + colors = CardDefaults.cardColors( + containerColor = colors.containerColor + ), + border = BorderStroke(GroupElementDefaults.borderThickness, colors.outlineColor) ) { GroupElementHeader( modifier = Modifier @@ -99,7 +104,7 @@ private fun GroupElement( ) AnimatedVisibility(visible = expanded) { Column( - modifier = Modifier.background(colors.containerColor) + modifier = Modifier.background(colors.bodyColor) ) { fieldStates.forEach { FieldElement(state = it.getState>()) @@ -117,6 +122,8 @@ private fun GroupElementHeader( isExpanded: Boolean, onClick: () -> Unit ) { + val colors = LocalColorScheme.current.groupElementColors + val typography = LocalTypography.current.groupElementTypography Row(modifier = modifier .clickable { onClick() @@ -127,14 +134,16 @@ private fun GroupElementHeader( Column(modifier = Modifier.weight(1f)) { Text( text = title, - style = MaterialTheme.typography.bodyMedium, + color = colors.labelColor, + style = typography.labelStyle, maxLines = 1, overflow = TextOverflow.Ellipsis ) if (description.isNotEmpty()) { Text( text = description, - style = MaterialTheme.typography.bodySmall + color = colors.supportingTextColor, + style = typography.supportingTextStyle ) } } @@ -151,16 +160,22 @@ private fun GroupElementHeader( } } +internal object GroupElementDefaults { + val borderThickness = 1.dp + val containerShape = RoundedCornerShape(5.dp) +} + @Preview(showBackground = true, backgroundColor = 0xFFFFFF) @Composable private fun GroupElementPreview() { - GroupElement( - label = "Title", - description = "Description", - expanded = false, - fieldStates = MutableFormStateCollection(), - modifier = Modifier.padding(start = 15.dp, end = 15.dp, top = 10.dp, bottom = 10.dp), - colors = GroupElementDefaults.colors(), - onClick = {} - ) + FeatureFormTheme { + GroupElement( + label = "Title", + description = "Description", + expanded = false, + fieldStates = MutableFormStateCollection(), + modifier = Modifier.padding(start = 15.dp, end = 15.dp, top = 10.dp, bottom = 10.dp), + onClick = {} + ) + } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElementDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElementDefaults.kt deleted file mode 100644 index 4ab3df257..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/GroupElementDefaults.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2023 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.components.formelement - -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.MaterialTheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.dp - -internal object GroupElementDefaults { - - val borderThickness = 1.dp - val containerShape = RoundedCornerShape(5.dp) - - @Composable - fun colors() : GroupElementColors = GroupElementColors( - containerColor = MaterialTheme.colorScheme.background, - borderColor = MaterialTheme.colorScheme.outline.copy(alpha = 0.6f) - ) -} - -internal data class GroupElementColors( - val containerColor : Color, - val borderColor : Color, -) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt new file mode 100644 index 000000000..ecd7529b2 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt @@ -0,0 +1,224 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.theme + +import androidx.compose.foundation.text.selection.TextSelectionColors +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.PlatformTextStyle +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +/** + * Default color used is the blue from the Compose logo, b/172679845 for context + */ +private val DefaultSelectionColor = Color(0xFF4286F4) + +/** + * Provides a default [FeatureFormColorScheme] via [colorScheme] and a default [FeatureFormTypography] + * via [typography]. + * + * Creates a default theme from statically defined tokens. Do not use this at runtime, instead the + * FeatureFormTheme must always be specified from the current MaterialTheme. + * + * This mainly provides a default theme for use within previews. + * + */ +internal object DefaultThemeTokens { + + /** + * The default values provided are hardcoded based on the material 3 light color scheme. + * See [androidx.compose.material3.lightColorScheme]. + */ + val colorScheme: FeatureFormColorScheme = FeatureFormColorScheme( + editableTextFieldColors = EditableTextFieldColors( + focusedTextColor = ColorTokens.OnSurface, + unfocusedTextColor = ColorTokens.OnSurface, + errorTextColor = ColorTokens.OnSurface, + focusedContainerColor = Color.Transparent, + unfocusedContainerColor = Color.Transparent, + errorContainerColor = Color.Transparent, + cursorColor = ColorTokens.Primary, + errorCursorColor = ColorTokens.Error, + textSelectionColors = TextSelectionColors( + DefaultSelectionColor, + DefaultSelectionColor.copy(alpha = 0.4f) + ), + focusedIndicatorColor = ColorTokens.Primary, + unfocusedIndicatorColor = ColorTokens.OnSurfaceVariant, + errorIndicatorColor = ColorTokens.Error, + focusedLeadingIconColor = ColorTokens.OnSurfaceVariant, + unfocusedLeadingIconColor = ColorTokens.OnSurfaceVariant, + errorLeadingIconColor = ColorTokens.OnSurfaceVariant, + focusedTrailingIconColor = ColorTokens.OnSurfaceVariant, + unfocusedTrailingIconColor = ColorTokens.OnSurfaceVariant, + errorTrailingIconColor = ColorTokens.Error, + focusedLabelColor = ColorTokens.Primary, + unfocusedLabelColor = ColorTokens.OnSurfaceVariant, + errorLabelColor = ColorTokens.Error, + focusedPlaceholderColor = ColorTokens.OnSurfaceVariant.copy(alpha = 0.75f), + unfocusedPlaceholderColor = ColorTokens.OnSurfaceVariant.copy(alpha = 0.75f), + errorPlaceholderColor = ColorTokens.OnSurfaceVariant.copy(alpha = 0.75f), + focusedSupportingTextColor = ColorTokens.OnSurfaceVariant, + unfocusedSupportingTextColor = ColorTokens.OnSurfaceVariant, + errorSupportingTextColor = ColorTokens.Error, + focusedPrefixColor = ColorTokens.OnSurfaceVariant, + unfocusedPrefixColor = ColorTokens.OnSurfaceVariant, + errorPrefixColor = ColorTokens.OnSurfaceVariant, + focusedSuffixColor = ColorTokens.OnSurfaceVariant, + unfocusedSuffixColor = ColorTokens.OnSurfaceVariant, + errorSuffixColor = ColorTokens.OnSurfaceVariant + ), + readOnlyFieldColors = ReadOnlyFieldColors( + labelColor = Color.Unspecified, + textColor = Color.Unspecified, + supportingTextColor = Color.Unspecified + ), + groupElementColors = GroupElementColors( + labelColor = Color.Unspecified, + supportingTextColor = Color.Unspecified, + outlineColor = ColorTokens.Outline, + containerColor = ColorTokens.OnSurfaceVariant, + bodyColor = ColorTokens.Background + ), + radioButtonFieldColors = RadioButtonFieldColors( + labelColor = Color.Unspecified, + textColor = Color.Unspecified, + supportingTextColor = Color.Unspecified, + outlineColor = ColorTokens.Outline, + selectedColor = ColorTokens.Primary, + unselectedColor = ColorTokens.OnSurfaceVariant, + disabledSelectedColor = ColorTokens.OnSurface.copy(alpha = 0.38f), + disabledUnselectedColor = ColorTokens.OnSurface.copy(alpha = 0.38f) + ) + ) + + /** + * The default values provided are hardcoded based on the material 3 typography. + * See [androidx.compose.material3.Typography] + */ + val typography: FeatureFormTypography = FeatureFormTypography( + editableTextFieldTypography = EditableTextFieldTypography( + labelStyle = TypographyTokens.bodySmall, + textStyle = TypographyTokens.bodyLarge, + supportingTextStyle = TypographyTokens.bodySmall + ), + readOnlyFieldTypography = ReadOnlyFieldTypography( + labelStyle = TypographyTokens.bodyMedium, + textStyle = TypographyTokens.bodyLarge, + supportingTextStyle = TypographyTokens.bodySmall + ), + groupElementTypography = GroupElementTypography( + labelStyle = TypographyTokens.bodyMedium, + supportingTextStyle = TypographyTokens.bodySmall + ), + radioButtonFieldTypography = RadioButtonFieldTypography( + labelStyle = TypographyTokens.bodyMedium, + optionStyle = TypographyTokens.bodyLarge, + supportingTextStyle = TypographyTokens.bodySmall + ) + ) +} + +private val DefaultTextStyle = + TextStyle.Default.copy(platformStyle = PlatformTextStyle(includeFontPadding = true)) + +private object TypographyTokens { + val bodyLarge = DefaultTextStyle.copy( + fontFamily = FontFamily.SansSerif, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + val bodyMedium = DefaultTextStyle.copy( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 14.sp, + lineHeight = 20.sp, + letterSpacing = 0.2.sp + ) + val bodySmall = DefaultTextStyle.copy( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 12.sp, + lineHeight = 16.sp, + letterSpacing = 0.4.sp + ) +} + +private object ColorTokens { + val Background = PaletteTokens.Neutral99 + val Error = PaletteTokens.Error40 + val ErrorContainer = PaletteTokens.Error90 + val InverseOnSurface = PaletteTokens.Neutral95 + val InversePrimary = PaletteTokens.Primary80 + val InverseSurface = PaletteTokens.Neutral20 + val OnBackground = PaletteTokens.Neutral10 + val OnError = PaletteTokens.Error100 + val OnErrorContainer = PaletteTokens.Error10 + val OnPrimary = PaletteTokens.Primary100 + val OnPrimaryContainer = PaletteTokens.Primary10 + val OnSecondary = PaletteTokens.Secondary100 + val OnSecondaryContainer = PaletteTokens.Secondary10 + val OnSurface = PaletteTokens.Neutral10 + val OnSurfaceVariant = PaletteTokens.NeutralVariant30 + val OnTertiary = PaletteTokens.Tertiary100 + val OnTertiaryContainer = PaletteTokens.Tertiary10 + val Outline = PaletteTokens.NeutralVariant50 + val OutlineVariant = PaletteTokens.NeutralVariant80 + val Primary = PaletteTokens.Primary40 + val PrimaryContainer = PaletteTokens.Primary90 + val Scrim = PaletteTokens.Neutral0 + val Secondary = PaletteTokens.Secondary40 + val SecondaryContainer = PaletteTokens.Secondary90 + val Surface = PaletteTokens.Neutral99 + val SurfaceTint = Primary + val SurfaceVariant = PaletteTokens.NeutralVariant90 + val Tertiary = PaletteTokens.Tertiary40 + val TertiaryContainer = PaletteTokens.Tertiary90 +} + +private object PaletteTokens { + val Error10 = Color(red = 65, green = 14, blue = 11) + val Error100 = Color(red = 255, green = 255, blue = 255) + val Error40 = Color(red = 179, green = 38, blue = 30) + val Error90 = Color(red = 249, green = 222, blue = 220) + val Neutral0 = Color(red = 0, green = 0, blue = 0) + val Neutral10 = Color(red = 28, green = 27, blue = 31) + val Neutral20 = Color(red = 49, green = 48, blue = 51) + val Neutral95 = Color(red = 244, green = 239, blue = 244) + val Neutral99 = Color(red = 255, green = 251, blue = 254) + val NeutralVariant30 = Color(red = 73, green = 69, blue = 79) + val NeutralVariant50 = Color(red = 121, green = 116, blue = 126) + val NeutralVariant80 = Color(red = 202, green = 196, blue = 208) + val NeutralVariant90 = Color(red = 231, green = 224, blue = 236) + val Primary10 = Color(red = 33, green = 0, blue = 93) + val Primary100 = Color(red = 255, green = 255, blue = 255) + val Primary40 = Color(red = 103, green = 80, blue = 164) + val Primary80 = Color(red = 208, green = 188, blue = 255) + val Primary90 = Color(red = 234, green = 221, blue = 255) + val Secondary10 = Color(red = 29, green = 25, blue = 43) + val Secondary100 = Color(red = 255, green = 255, blue = 255) + val Secondary40 = Color(red = 98, green = 91, blue = 113) + val Secondary90 = Color(red = 232, green = 222, blue = 248) + val Tertiary10 = Color(red = 49, green = 17, blue = 29) + val Tertiary100 = Color(red = 255, green = 255, blue = 255) + val Tertiary40 = Color(red = 125, green = 82, blue = 96) + val Tertiary90 = Color(red = 255, green = 216, blue = 228) +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt new file mode 100644 index 000000000..dbe3675b0 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt @@ -0,0 +1,357 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.theme + +import androidx.compose.foundation.text.selection.LocalTextSelectionColors +import androidx.compose.foundation.text.selection.TextSelectionColors +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.TextStyle +import com.arcgismaps.toolkit.featureforms.FeatureForm + +/** + * Contains the default values used by [FeatureForm]. + */ +public object FeatureFormDefaults { + + /** + * Creates a [FeatureFormColorScheme] with default values. + * + * @param editableTextFieldColors The color scheme for the editable text field types. + * @param readOnlyFieldColors The color scheme for the read-only field types. + * @param radioButtonFieldColors The color scheme for the radio button field types. + * @param groupElementColors The color scheme to use for any Group elements. + * @since 200.5.0 + */ + @Composable + public fun colorScheme( + editableTextFieldColors: EditableTextFieldColors = editableTextFieldColors(), + readOnlyFieldColors: ReadOnlyFieldColors = readOnlyFieldColors(), + radioButtonFieldColors: RadioButtonFieldColors = radioButtonFieldColors(), + groupElementColors: GroupElementColors = groupElementColors() + ): FeatureFormColorScheme { + return FeatureFormColorScheme( + editableTextFieldColors = editableTextFieldColors, + readOnlyFieldColors = readOnlyFieldColors, + radioButtonFieldColors = radioButtonFieldColors, + groupElementColors = groupElementColors + ) + } + + /** + * Creates an instance [EditableTextFieldColors] with default values from [MaterialTheme]. + * + * @param focusedTextColor the color used for the input text of this text field when focused + * @param unfocusedTextColor the color used for the input text of this text field when not focused + * @param errorTextColor the color used for the input text of this text field when in error state + * @param focusedContainerColor the container color for this text field when focused + * @param unfocusedContainerColor the container color for this text field when not focused + * @param errorContainerColor the container color for this text field when in error state + * @param cursorColor the cursor color for this text field + * @param errorCursorColor the cursor color for this text field when in error state + * @param textSelectionColors the colors used when the input text of this text field is selected + * @param focusedLeadingIconColor the leading icon color for this text field when focused + * @param unfocusedLeadingIconColor the leading icon color for this text field when not focused + * @param errorLeadingIconColor the leading icon color for this text field when in error state + * @param focusedTrailingIconColor the trailing icon color for this text field when focused + * @param unfocusedTrailingIconColor the trailing icon color for this text field when not focused + * @param errorTrailingIconColor the trailing icon color for this text field when in error state + * @param focusedLabelColor the label color for this text field when focused + * @param unfocusedLabelColor the label color for this text field when not focused + * @param errorLabelColor the label color for this text field when in error state + * @param focusedPlaceholderColor the placeholder color for this text field when focused + * @param unfocusedPlaceholderColor the placeholder color for this text field when not focused + * @param errorPlaceholderColor the placeholder color for this text field when in error state + * @param focusedSupportingTextColor the supporting text color for this text field when focused + * @param unfocusedSupportingTextColor the supporting text color for this text field when not focused + * @param errorSupportingTextColor the supporting text color for this text field when in error state + * @param focusedPrefixColor the prefix color for this text field when focused + * @param unfocusedPrefixColor the prefix color for this text field when not focused + * @param errorPrefixColor the prefix color for this text field when in error state + * @param focusedSuffixColor the suffix color for this text field when focused + * @param unfocusedSuffixColor the suffix color for this text field when not focused + * @param errorSuffixColor the suffix color for this text field when in error state + * @since 200.5.0 + */ + @Composable + public fun editableTextFieldColors( + focusedTextColor: Color = MaterialTheme.colorScheme.onSurface, + unfocusedTextColor: Color = MaterialTheme.colorScheme.onSurface, + errorTextColor: Color = MaterialTheme.colorScheme.onSurface, + focusedContainerColor: Color = Color.Transparent, + unfocusedContainerColor: Color = Color.Transparent, + errorContainerColor: Color = Color.Transparent, + cursorColor: Color = MaterialTheme.colorScheme.primary, + errorCursorColor: Color = MaterialTheme.colorScheme.error, + textSelectionColors: TextSelectionColors = LocalTextSelectionColors.current, + focusedIndicatorColor: Color = MaterialTheme.colorScheme.primary, + unfocusedIndicatorColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorIndicatorColor: Color = MaterialTheme.colorScheme.error, + focusedLeadingIconColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + unfocusedLeadingIconColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorLeadingIconColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + focusedTrailingIconColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + unfocusedTrailingIconColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorTrailingIconColor: Color = MaterialTheme.colorScheme.error, + focusedLabelColor: Color = MaterialTheme.colorScheme.primary, + unfocusedLabelColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorLabelColor: Color = MaterialTheme.colorScheme.error, + focusedPlaceholderColor: Color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.75f), + unfocusedPlaceholderColor: Color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.75f), + errorPlaceholderColor: Color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.75f), + focusedSupportingTextColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + unfocusedSupportingTextColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorSupportingTextColor: Color = MaterialTheme.colorScheme.error, + focusedPrefixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + unfocusedPrefixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorPrefixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + focusedSuffixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + unfocusedSuffixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + errorSuffixColor: Color = MaterialTheme.colorScheme.onSurfaceVariant + ): EditableTextFieldColors { + return EditableTextFieldColors( + focusedTextColor = focusedTextColor, + unfocusedTextColor = unfocusedTextColor, + errorTextColor = errorTextColor, + focusedContainerColor = focusedContainerColor, + unfocusedContainerColor = unfocusedContainerColor, + errorContainerColor = errorContainerColor, + cursorColor = cursorColor, + errorCursorColor = errorCursorColor, + textSelectionColors = textSelectionColors, + focusedIndicatorColor = focusedIndicatorColor, + unfocusedIndicatorColor = unfocusedIndicatorColor, + errorIndicatorColor = errorIndicatorColor, + focusedLeadingIconColor = focusedLeadingIconColor, + unfocusedLeadingIconColor = unfocusedLeadingIconColor, + errorLeadingIconColor = errorLeadingIconColor, + focusedTrailingIconColor = focusedTrailingIconColor, + unfocusedTrailingIconColor = unfocusedTrailingIconColor, + errorTrailingIconColor = errorTrailingIconColor, + focusedLabelColor = focusedLabelColor, + unfocusedLabelColor = unfocusedLabelColor, + errorLabelColor = errorLabelColor, + focusedPlaceholderColor = focusedPlaceholderColor, + unfocusedPlaceholderColor = unfocusedPlaceholderColor, + errorPlaceholderColor = errorPlaceholderColor, + focusedSupportingTextColor = focusedSupportingTextColor, + unfocusedSupportingTextColor = unfocusedSupportingTextColor, + errorSupportingTextColor = errorSupportingTextColor, + focusedPrefixColor = focusedPrefixColor, + unfocusedPrefixColor = unfocusedPrefixColor, + errorPrefixColor = errorPrefixColor, + focusedSuffixColor = focusedSuffixColor, + unfocusedSuffixColor = unfocusedSuffixColor, + errorSuffixColor = errorSuffixColor + ) + } + + /** + * Creates an instance of [ReadOnlyFieldColors] with default values from [MaterialTheme]. + * + * @param labelColor the color used for the label of this field + * @param textColor the color used for the text of this field + * @param supportingTextColor the color used for the supporting text of this field + * @since 200.5.0 + */ + @Composable + public fun readOnlyFieldColors( + labelColor: Color = Color.Unspecified, + textColor: Color = Color.Unspecified, + supportingTextColor: Color = Color.Unspecified + ): ReadOnlyFieldColors { + return ReadOnlyFieldColors( + labelColor = labelColor, + textColor = textColor, + supportingTextColor = supportingTextColor + ) + } + + /** + * Creates an instance of [GroupElementColors] with default values from [MaterialTheme]. + * + * @param labelColor the color used for the label of this field + * @param supportingTextColor the color used for the supporting text of this field + * @param outlineColor the color used for the outline of this field + * @property containerColor the color used for the header container of this field. This contains + * the label and supporting text of the field. + * @property bodyColor the color used for the body of this field. The body + * contains the field elements. + * @since 200.5.0 + */ + @Composable + public fun groupElementColors( + labelColor: Color = Color.Unspecified, + supportingTextColor: Color = Color.Unspecified, + outlineColor: Color = MaterialTheme.colorScheme.outline.copy(alpha = 0.6f), + containerColor: Color = MaterialTheme.colorScheme.surfaceVariant, + bodyColor: Color = MaterialTheme.colorScheme.background + ): GroupElementColors { + return GroupElementColors( + labelColor = labelColor, + supportingTextColor = supportingTextColor, + outlineColor = outlineColor, + containerColor = containerColor, + bodyColor = bodyColor + ) + } + + /** + * Creates an instance of [RadioButtonFieldColors] with default values from [MaterialTheme]. + * + * @param labelColor the color used for the label of this field + * @param textColor the color used for the text of RadioButton + * @param supportingTextColor the color used for the supporting text of this field + * @param outlineColor the color used for the outline of this field + * @param selectedColor the color to use for the RadioButton when selected and enabled. + * @param unselectedColor the color to use for the RadioButton when unselected and enabled. + * @param disabledSelectedColor the color to use for the RadioButton when disabled and selected. + * @param disabledUnselectedColor the color to use for the RadioButton when disabled and not + * selected. + * @since 200.5.0 + */ + @Composable + public fun radioButtonFieldColors( + labelColor: Color = Color.Unspecified, + textColor: Color = Color.Unspecified, + supportingTextColor: Color = Color.Unspecified, + outlineColor: Color = MaterialTheme.colorScheme.outline, + selectedColor: Color = MaterialTheme.colorScheme.primary, + unselectedColor: Color = MaterialTheme.colorScheme.onSurfaceVariant, + disabledSelectedColor: Color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.38f), + disabledUnselectedColor: Color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.38f) + ): RadioButtonFieldColors { + return RadioButtonFieldColors( + labelColor = labelColor, + textColor = textColor, + supportingTextColor = supportingTextColor, + outlineColor = outlineColor, + selectedColor = selectedColor, + unselectedColor = unselectedColor, + disabledSelectedColor = disabledSelectedColor, + disabledUnselectedColor = disabledUnselectedColor, + ) + } + + /** + * Creates a [FeatureFormTypography] with default values. + * + * @param editableTextFieldTypography The typography for the editable text field types. + * @param readOnlyFieldTypography The typography for the read-only field types. + * @param groupElementTypography The typography to use for any Group elements. + * @param radioButtonFieldTypography The typography to use for the radio button field types. + * @since 200.5.0 + */ + @Composable + public fun typography( + editableTextFieldTypography: EditableTextFieldTypography = editableTextFieldTypography(), + readOnlyFieldTypography: ReadOnlyFieldTypography = readOnlyFieldTypography(), + groupElementTypography: GroupElementTypography = groupElementTypography(), + radioButtonFieldTypography: RadioButtonFieldTypography = radioButtonFieldTypography() + ): FeatureFormTypography { + return FeatureFormTypography( + editableTextFieldTypography = editableTextFieldTypography, + readOnlyFieldTypography = readOnlyFieldTypography, + groupElementTypography = groupElementTypography, + radioButtonFieldTypography = radioButtonFieldTypography + ) + } + + /** + * Creates an instance of [EditableTextFieldTypography] with default values from [MaterialTheme]. + * + * @param labelStyle The style for the label of this field + * @param textStyle The style for the text of this field + * @param supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ + @Composable + public fun editableTextFieldTypography( + labelStyle: TextStyle = MaterialTheme.typography.bodySmall, + textStyle: TextStyle = MaterialTheme.typography.bodyLarge, + supportingTextStyle: TextStyle = MaterialTheme.typography.bodySmall + ): EditableTextFieldTypography { + return EditableTextFieldTypography( + labelStyle = labelStyle, + textStyle = textStyle, + supportingTextStyle = supportingTextStyle + + ) + } + + /** + * Creates an instance of [ReadOnlyFieldTypography] with default values from [MaterialTheme]. + * + * @param labelStyle The style for the label of this field + * @param textStyle The style for the text of this field + * @param supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ + @Composable + public fun readOnlyFieldTypography( + labelStyle: TextStyle = MaterialTheme.typography.bodyMedium, + textStyle: TextStyle = MaterialTheme.typography.bodyLarge, + supportingTextStyle: TextStyle = MaterialTheme.typography.bodySmall + ): ReadOnlyFieldTypography { + return ReadOnlyFieldTypography( + labelStyle = labelStyle, + textStyle = textStyle, + supportingTextStyle = supportingTextStyle + + ) + } + + /** + * Creates an instance of [GroupElementTypography] with default values from [MaterialTheme]. + * + * @param labelStyle The style for the label of this field + * @param supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ + @Composable + public fun groupElementTypography( + labelStyle: TextStyle = MaterialTheme.typography.bodyMedium, + supportingTextStyle: TextStyle = MaterialTheme.typography.bodySmall + ): GroupElementTypography { + return GroupElementTypography( + labelStyle = labelStyle, + supportingTextStyle = supportingTextStyle + ) + } + + /** + * Creates an instance of [RadioButtonFieldTypography] with default values from [MaterialTheme]. + * + * @param labelStyle The style for the label of this field + * @param optionStyle The style for the text of a RadioButton + * @param supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ + @Composable + public fun radioButtonFieldTypography( + labelStyle: TextStyle = MaterialTheme.typography.bodyMedium, + optionStyle: TextStyle = MaterialTheme.typography.bodyLarge, + supportingTextStyle: TextStyle = MaterialTheme.typography.bodySmall + ): RadioButtonFieldTypography { + return RadioButtonFieldTypography( + labelStyle = labelStyle, + optionStyle = optionStyle, + supportingTextStyle = supportingTextStyle + ) + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt new file mode 100644 index 000000000..58f79cc93 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt @@ -0,0 +1,373 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.theme + +import androidx.compose.foundation.text.selection.TextSelectionColors +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.ProvidableCompositionLocal +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.runtime.compositionLocalOf +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.TextStyle +import com.arcgismaps.mapping.featureforms.ComboBoxFormInput +import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput +import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.GroupFormElement +import com.arcgismaps.mapping.featureforms.RadioButtonsFormInput +import com.arcgismaps.mapping.featureforms.SwitchFormInput +import com.arcgismaps.mapping.featureforms.TextAreaFormInput +import com.arcgismaps.mapping.featureforms.TextBoxFormInput +import com.arcgismaps.toolkit.featureforms.FeatureForm + +/** + * CompositionLocal used to pass a [FeatureFormColorScheme] down the tree. + */ +internal val LocalColorScheme: ProvidableCompositionLocal = + compositionLocalOf { + DefaultThemeTokens.colorScheme + } + +/** + * CompositionLocal used to pass a [FeatureFormTypography] down the tree. + */ +internal val LocalTypography: ProvidableCompositionLocal = + compositionLocalOf { + DefaultThemeTokens.typography + } + +/** + * Provides compose functions to access the current theme values. + */ +internal object FeatureFormTheme { + + /** + * Retrieves the current [FeatureFormColorScheme]. + */ + val colorScheme: FeatureFormColorScheme + @Composable + @ReadOnlyComposable + get() = LocalColorScheme.current + + /** + * Retrieves the current [FeatureFormTypography]. + */ + val typography: FeatureFormTypography + @Composable + @ReadOnlyComposable + get() = LocalTypography.current +} + +/** + * Provides a default [FeatureFormTheme] to the given [content] so that the FeatureForm can be + * customized. + * + * The default value for the [colorScheme] and [typography] is based on the current [MaterialTheme]. + * See [FeatureFormDefaults.colorScheme] and [FeatureFormDefaults.typography] for the + * exact configuration used. + * + * @param colorScheme A [FeatureFormColorScheme] to use for this compose hierarchy + * @param typography A [FeatureFormTypography] to use for this compose hierarchy + * + * A complete definition for the [FeatureFormTheme] to use. A default is provided based + * on the current [MaterialTheme]. + * @param content The content to which the theme should be applied. + */ +@Composable +internal fun FeatureFormTheme( + colorScheme: FeatureFormColorScheme = FeatureFormDefaults.colorScheme(), + typography: FeatureFormTypography = FeatureFormDefaults.typography(), + content: @Composable () -> Unit +) { + CompositionLocalProvider( + LocalColorScheme provides colorScheme, + LocalTypography provides typography + ) { + content() + } +} + +/** + * A color scheme that holds all the color parameters for a [FeatureForm]. + * + * The scheme provides default values for all colors as a starting point for customization. These + * defaults are populated using [MaterialTheme]. + * + * Any nested elements within a GroupFormElement will also use the same color scheme specified as + * part of this class. + * + * + * Use [FeatureFormDefaults.colorScheme] to create a new instance with the default values. + * + * @property editableTextFieldColors The color scheme for the editable text field types. + * @property readOnlyFieldColors The color scheme for the read-only field types. + * @property radioButtonFieldColors The color scheme for the radio button field types. + * @property groupElementColors The color scheme to use for any Group elements. + * @since 200.5.0 + */ +@Immutable +public data class FeatureFormColorScheme internal constructor( + public val editableTextFieldColors: EditableTextFieldColors, + public val readOnlyFieldColors: ReadOnlyFieldColors, + public val radioButtonFieldColors: RadioButtonFieldColors, + public val groupElementColors: GroupElementColors +) + +/** + * Colors used for [FieldFormElement]s with input types [TextBoxFormInput], [TextAreaFormInput], + * [DateTimePickerFormInput], [SwitchFormInput] and [ComboBoxFormInput]. + * + * Since the FeatureForm uses an [OutlinedTextField], the default values are borrowed from + * [OutlinedTextFieldDefaults.colors]. + * + * Note that this does not provide disabled colors, since read-only fields are rendered using + * [ReadOnlyFieldColors]. + * + * Use [FeatureFormDefaults.editableTextFieldColors] to create a new instance with the default values. + * + * @property focusedTextColor the color used for the input text of this text field when focused + * @property unfocusedTextColor the color used for the input text of this text field when not focused + * @property errorTextColor the color used for the input text of this text field when in error state + * @property focusedContainerColor the container color for this text field when focused + * @property unfocusedContainerColor the container color for this text field when not focused + * @property errorContainerColor the container color for this text field when in error state + * @property cursorColor the cursor color for this text field + * @property errorCursorColor the cursor color for this text field when in error state + * @property textSelectionColors the colors used when the input text of this text field is selected + * @property focusedLeadingIconColor the leading icon color for this text field when focused + * @property unfocusedLeadingIconColor the leading icon color for this text field when not focused + * @property errorLeadingIconColor the leading icon color for this text field when in error state + * @property focusedTrailingIconColor the trailing icon color for this text field when focused + * @property unfocusedTrailingIconColor the trailing icon color for this text field when not focused + * @property errorTrailingIconColor the trailing icon color for this text field when in error state + * @property focusedLabelColor the label color for this text field when focused + * @property unfocusedLabelColor the label color for this text field when not focused + * @property errorLabelColor the label color for this text field when in error state + * @property focusedPlaceholderColor the placeholder color for this text field when focused + * @property unfocusedPlaceholderColor the placeholder color for this text field when not focused + * @property errorPlaceholderColor the placeholder color for this text field when in error state + * @property focusedSupportingTextColor the supporting text color for this text field when focused + * @property unfocusedSupportingTextColor the supporting text color for this text field when not focused + * @property errorSupportingTextColor the supporting text color for this text field when in error state + * @property focusedPrefixColor the prefix color for this text field when focused + * @property unfocusedPrefixColor the prefix color for this text field when not focused + * @property errorPrefixColor the prefix color for this text field when in error state + * @property focusedSuffixColor the suffix color for this text field when focused + * @property unfocusedSuffixColor the suffix color for this text field when not focused + * @property errorSuffixColor the suffix color for this text field when in error state + * @since 200.5.0 + */ +@Immutable +public data class EditableTextFieldColors internal constructor( + public val focusedTextColor: Color, + public val unfocusedTextColor: Color, + public val errorTextColor: Color, + public val focusedContainerColor: Color, + public val unfocusedContainerColor: Color, + public val errorContainerColor: Color, + public val cursorColor: Color, + public val errorCursorColor: Color, + public val textSelectionColors: TextSelectionColors, + public val focusedIndicatorColor: Color, + public val unfocusedIndicatorColor: Color, + public val errorIndicatorColor: Color, + public val focusedLeadingIconColor: Color, + public val unfocusedLeadingIconColor: Color, + public val errorLeadingIconColor: Color, + public val focusedTrailingIconColor: Color, + public val unfocusedTrailingIconColor: Color, + public val errorTrailingIconColor: Color, + public val focusedLabelColor: Color, + public val unfocusedLabelColor: Color, + public val errorLabelColor: Color, + public val focusedPlaceholderColor: Color, + public val unfocusedPlaceholderColor: Color, + public val errorPlaceholderColor: Color, + public val focusedSupportingTextColor: Color, + public val unfocusedSupportingTextColor: Color, + public val errorSupportingTextColor: Color, + public val focusedPrefixColor: Color, + public val unfocusedPrefixColor: Color, + public val errorPrefixColor: Color, + public val focusedSuffixColor: Color, + public val unfocusedSuffixColor: Color, + public val errorSuffixColor: Color, +) + +/** + * Colors used for a [FieldFormElement] with any input type. If the [FieldFormElement.isEditable] + * is false, it is rendered as a read-only field with colors specified by this class. + * + * Use [FeatureFormDefaults.readOnlyFieldColors] to create a new instance with the default values. + * + * @property labelColor the color used for the label of this field + * @property textColor the color used for the text of this field + * @property supportingTextColor the color used for the supporting text of this field + * @since 200.5.0 + */ +@Immutable +public data class ReadOnlyFieldColors internal constructor( + public val labelColor: Color, + public val textColor: Color, + public val supportingTextColor: Color +) + +/** + * Colors that are used for a [GroupFormElement]. + * + * Use [FeatureFormDefaults.groupElementColors] to create a new instance with the default values. + * + * @property labelColor the color used for the label of this field + * @property supportingTextColor the color used for the supporting text of this field + * @property outlineColor the color used for the outline of this field + * @property containerColor the color used for the header container of this field. This contains + * the label and supporting text of the field. + * @property bodyColor the color used for the body of this field. The body + * contains the field elements. + * @since 200.5.0 + */ +@Immutable +public data class GroupElementColors internal constructor( + public val labelColor: Color, + public val supportingTextColor: Color, + public val outlineColor: Color, + public val containerColor: Color, + public val bodyColor: Color +) + +/** + * Colors used for a [FieldFormElement] with a [RadioButtonsFormInput]. + * + * Use [FeatureFormDefaults.radioButtonFieldColors] to create a new instance with the default values. + * + * @property labelColor the color used for the label of this field + * @property textColor the color used for the text of RadioButton + * @property supportingTextColor the color used for the supporting text of this field + * @property outlineColor the color used for the outline of this field + * @property selectedColor the color to use for the RadioButton when selected and enabled. + * @property unselectedColor the color to use for the RadioButton when unselected and enabled. + * @property disabledSelectedColor the color to use for the RadioButton when disabled and selected. + * @property disabledUnselectedColor the color to use for the RadioButton when disabled and not + * selected. + * @since 200.5.0 + */ +@Immutable +public data class RadioButtonFieldColors internal constructor( + public val labelColor: Color, + public val textColor: Color, + public val supportingTextColor: Color, + public val outlineColor: Color, + public val selectedColor: Color, + public val unselectedColor: Color, + public val disabledSelectedColor: Color, + public val disabledUnselectedColor: Color +) + +/** + * A Typography system for the [FeatureForm] built on top of [MaterialTheme]. This can be used to + * style the text and labels of the form elements. + * + * Any nested elements within a GroupFormElement will also use the same typography style specified + * as part of this class. + * + * Use [FeatureFormDefaults.typography] to create a new instance with the default values. + * + * @property editableTextFieldTypography The typography for the editable text field types. + * @property readOnlyFieldTypography The typography for the read-only field types. + * @property groupElementTypography The typography to use for any Group elements. + * @property radioButtonFieldTypography The typography to use for the radio button field types. + * @since 200.5.0 + */ +@Immutable +public class FeatureFormTypography internal constructor( + public val editableTextFieldTypography: EditableTextFieldTypography, + public val readOnlyFieldTypography: ReadOnlyFieldTypography, + public val groupElementTypography: GroupElementTypography, + public val radioButtonFieldTypography: RadioButtonFieldTypography +) + +/** + * Typography used for [FieldFormElement]s with input types [TextBoxFormInput], [TextAreaFormInput], + * [DateTimePickerFormInput], [SwitchFormInput] and [ComboBoxFormInput]. + * + * Use [FeatureFormDefaults.editableTextFieldTypography] to create a new instance with the default values. + * + * @property labelStyle The style for the label of this field + * @property textStyle The style for the text of this field + * @property supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ +@Immutable +public data class EditableTextFieldTypography internal constructor( + public val labelStyle: TextStyle, + public val textStyle: TextStyle, + public val supportingTextStyle: TextStyle +) + +/** + * Typography used for a [FieldFormElement] with any input type. If the [FieldFormElement.isEditable] + * is false, it is rendered as a read-only field with colors specified by this class. + * + * Use [FeatureFormDefaults.readOnlyFieldTypography] to create a new instance with the default values. + * + * @property labelStyle The style for the label of this field + * @property textStyle The style for the text of this field + * @property supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ +@Immutable +public data class ReadOnlyFieldTypography internal constructor( + public val labelStyle: TextStyle, + public val textStyle: TextStyle, + public val supportingTextStyle: TextStyle +) + +/** + * Typography used for a [GroupFormElement]. + * + * Use [FeatureFormDefaults.groupElementTypography] to create a new instance with the default values. + * + * @property labelStyle The style for the label of this field + * @property supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ +@Immutable +public data class GroupElementTypography internal constructor( + public val labelStyle: TextStyle, + public val supportingTextStyle: TextStyle +) + +/** + * Typography used for a [FieldFormElement] with a [RadioButtonsFormInput]. + * + * Use [FeatureFormDefaults.radioButtonFieldTypography] to create a new instance with the default values. + * + * @property labelStyle The style for the label of this field + * @property optionStyle The style for the text of a RadioButton + * @property supportingTextStyle The style for the supporting text of this field + * @since 200.5.0 + */ +@Immutable +public data class RadioButtonFieldTypography internal constructor( + public val labelStyle: TextStyle, + public val optionStyle: TextStyle, + public val supportingTextStyle: TextStyle +) From 56f1eed330e59d04b177fe5d3da70e74b62051fb Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 3 May 2024 16:44:12 -0700 Subject: [PATCH 22/53] `Forms` : Attachment Form Element (#409) --- gradle.properties | 2 +- .../toolkit/featureforms/FeatureForm.kt | 62 +-- .../AttachmentElementDefaults.kt | 22 +- .../attachment/AttachmentElementState.kt | 157 ++++++ .../attachment/AttachmentFormElement.kt | 144 ++++++ .../components/attachment/AttachmentTile.kt | 303 +++++++++++ .../formelement/AttachmentFormElement.kt | 478 ------------------ .../components/text/FormTextFieldState.kt | 1 - 8 files changed, 638 insertions(+), 531 deletions(-) rename toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/{formelement => attachment}/AttachmentElementDefaults.kt (64%) create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt diff --git a/gradle.properties b/gradle.properties index a3f9237b2..49d3649bd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4212 +sdkBuildNumber=4220 diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 3244329b6..3508f312c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -55,11 +55,14 @@ import com.arcgismaps.mapping.featureforms.ComboBoxFormInput import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement +import com.arcgismaps.mapping.featureforms.FormElement import com.arcgismaps.mapping.featureforms.GroupFormElement import com.arcgismaps.mapping.featureforms.RadioButtonsFormInput import com.arcgismaps.mapping.featureforms.SwitchFormInput import com.arcgismaps.mapping.featureforms.TextAreaFormInput import com.arcgismaps.mapping.featureforms.TextBoxFormInput +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.AttachmentFormElement +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.rememberAttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldState import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseGroupState import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection @@ -70,11 +73,8 @@ import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememb import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememberRadioButtonFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.rememberSwitchFieldState import com.arcgismaps.toolkit.featureforms.internal.components.datetime.rememberDateTimeFieldState -import com.arcgismaps.toolkit.featureforms.internal.components.formelement.AttachmentFormElement -import com.arcgismaps.toolkit.featureforms.internal.components.formelement.FakeAttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.formelement.FieldElement import com.arcgismaps.toolkit.featureforms.internal.components.formelement.GroupElement -import com.arcgismaps.toolkit.featureforms.internal.components.formelement.fakeAttachments import com.arcgismaps.toolkit.featureforms.internal.components.text.rememberFormTextFieldState import com.arcgismaps.toolkit.featureforms.internal.utils.FeatureFormDialog import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme @@ -144,6 +144,7 @@ public fun FeatureForm( ) } } + /** * A wrapper to hold state data. This provides a [Stable] class to enable smart recompositions, * since [FeatureForm] is not stable. @@ -161,18 +162,24 @@ private fun FeatureForm( validationErrorVisibility: ValidationErrorVisibility = ValidationErrorVisibility.Automatic ) { val featureForm = stateData.featureForm + // hold the list of form elements in a mutable state to make them observable + val formElements = remember(featureForm) { + mutableStateOf(featureForm.elements) + } val scope = rememberCoroutineScope() - - val states = rememberStates( form = featureForm, + elements = formElements.value, scope = scope ) FeatureFormBody( form = featureForm, states = states, modifier = modifier - ) + ) { + // expressions evaluated, load attachments + formElements.value = featureForm.elements + } FeatureFormDialog() // launch a new side effect in a launched effect when validationErrorVisibility changes LaunchedEffect(validationErrorVisibility) { @@ -208,14 +215,11 @@ private fun FeatureFormTitle(featureForm: FeatureForm, modifier: Modifier = Modi private fun FeatureFormBody( form: FeatureForm, states: FormStateCollection, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, + onExpressionsEvaluated: () -> Unit ) { var initialEvaluation by rememberSaveable(form) { mutableStateOf(false) } val lazyListState = rememberLazyListState() - - if (initialEvaluation) { - rememberAttachmentStates(form = form, states = states) - } Column( modifier = modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally @@ -256,9 +260,10 @@ private fun FeatureFormBody( .padding(horizontal = 15.dp, vertical = 10.dp) ) } - + is AttachmentFormElement -> { AttachmentFormElement( + state = entry.getState(), Modifier .fillMaxWidth() .padding(horizontal = 15.dp, vertical = 10.dp) @@ -278,6 +283,7 @@ private fun FeatureFormBody( // ensure expressions are evaluated form.evaluateExpressions() initialEvaluation = true + onExpressionsEvaluated() } } @@ -311,10 +317,11 @@ internal fun InitializingExpressions( @Composable internal fun rememberStates( form: FeatureForm, + elements: List, scope: CoroutineScope ): FormStateCollection { val states = MutableFormStateCollection() - form.elements.forEach { element -> + elements.forEach { element -> when (element) { is FieldFormElement -> { val state = rememberFieldState(element, form, scope) @@ -346,32 +353,16 @@ internal fun rememberStates( } is AttachmentFormElement -> { - val state = rememberFakeAttachmentElementState(form = form, attachmentFormElement = element) + val state = rememberAttachmentElementState(form, element) states.add(element, state) } - else -> { } + else -> {} } } return states } -@Composable -internal fun rememberAttachmentStates( - form: FeatureForm, - states: FormStateCollection -): FormStateCollection { - form.elements.filterIsInstance().forEach { element -> - if (states[element] == null) { - val state = - rememberFakeAttachmentElementState(form = form, attachmentFormElement = element) - (states as MutableFormStateCollection).add(element, state) - } - } - return states -} - - /** * Creates and remembers a [BaseFieldState] for the provided [element]. * @@ -450,12 +441,3 @@ internal fun rememberFieldState( } } } - -@Suppress("UNUSED_PARAMETER") -@Composable -internal fun rememberFakeAttachmentElementState( - form: FeatureForm, - attachmentFormElement: AttachmentFormElement -): FakeAttachmentElementState { - return FakeAttachmentElementState(fakeAttachments) -} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentElementDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt similarity index 64% rename from toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentElementDefaults.kt rename to toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt index bdc0ec752..3e80305db 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentElementDefaults.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt @@ -1,20 +1,20 @@ /* - * COPYRIGHT 1995-2024 ESRI + * Copyright 2024 Esri * - * TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL - * Unpublished material - all rights reserved under the - * Copyright Laws of the United States. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * For additional information, contact: - * Environmental Systems Research Institute, Inc. - * Attn: Contracts Dept - * 380 New York Street - * Redlands, California, USA 92373 + * http://www.apache.org/licenses/LICENSE-2.0 * - * email: contracts@esri.com + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -package com.arcgismaps.toolkit.featureforms.internal.components.formelement +package com.arcgismaps.toolkit.featureforms.internal.components.attachment import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt new file mode 100644 index 000000000..60c0ed96b --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -0,0 +1,157 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.internal.components.attachment + +import android.graphics.drawable.BitmapDrawable +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.State +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.Saver +import androidx.compose.runtime.saveable.listSaver +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.asImageBitmap +import com.arcgismaps.LoadStatus +import com.arcgismaps.mapping.featureforms.AttachmentFormElement +import com.arcgismaps.mapping.featureforms.FeatureForm +import com.arcgismaps.mapping.featureforms.FormAttachment +import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch + +/** + * Represents the state of an [AttachmentFormElement] + */ +internal class AttachmentElementState( + private val formElement: AttachmentFormElement, + private val scope: CoroutineScope +) : FormElementState( + label = formElement.label, + description = formElement.description, + isVisible = formElement.isVisible, +) { + /** + * The attachments associated with the form element. + */ + val attachments = SnapshotStateList() + + init { + scope.launch { + loadAttachments() + } + } + + /** + * Loads the attachments associated with the form element. This clears the current list of + * attachments and updates it with the list of attachments from the [formElement]. + */ + private suspend fun loadAttachments() { + formElement.fetchAttachments() + attachments.clear() + attachments.addAll( + formElement.attachments.map { + FormAttachmentState(it, scope) + } + ) + } + + companion object { + fun Saver( + attachmentFormElement: AttachmentFormElement, + scope: CoroutineScope + ): Saver = listSaver( + save = { + // save the list of indices of attachments that have been loaded + buildList { + for (i in it.attachments.indices) { + if (it.attachments[i].loadStatus.value is LoadStatus.Loaded) { + add(i) + } + } + } + }, + restore = { savedList -> + AttachmentElementState(attachmentFormElement, scope).also { + scope.launch { + it.loadAttachments() + // load the attachments that were previously loaded + savedList.forEach { index -> + it.attachments[index].loadAttachment() + } + } + } + } + ) + } +} + +/** + * Represents the state of a [FormAttachment]. + */ +internal class FormAttachmentState( + val name: String, + val size: Long, + val loadStatus: StateFlow, + private val onLoadAttachment: suspend () -> Result, + private val onLoadThumbnail: suspend () -> Result, + private val scope: CoroutineScope +) { + private val _thumbnail: MutableState = mutableStateOf(null) + val thumbnail: State = _thumbnail + + constructor(attachment: FormAttachment, scope: CoroutineScope) : this( + name = attachment.name, + size = attachment.size, + loadStatus = attachment.loadStatus, + onLoadAttachment = attachment::load, + onLoadThumbnail = attachment::createFullImage, + scope = scope + ) + + fun loadAttachment() { + scope.launch { + onLoadAttachment().onSuccess { + onLoadThumbnail().onSuccess { + if (it != null) { + _thumbnail.value = it.bitmap.asImageBitmap() + } + } + } + } + } +} + +@Composable +internal fun rememberAttachmentElementState( + form: FeatureForm, + attachmentFormElement: AttachmentFormElement +): AttachmentElementState { + val scope = rememberCoroutineScope() + return rememberSaveable( + inputs = arrayOf(form), + saver = AttachmentElementState.Saver(attachmentFormElement, scope) + ) { + AttachmentElementState( + formElement = attachmentFormElement, + scope = scope + ) + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt new file mode 100644 index 000000000..1e7268c68 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -0,0 +1,144 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.internal.components.attachment + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.lazy.items +import androidx.compose.material3.Card +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.arcgismaps.LoadStatus +import kotlinx.coroutines.flow.MutableStateFlow + +@Composable +internal fun AttachmentFormElement( + state: AttachmentElementState, + modifier: Modifier = Modifier +) { + AttachmentFormElement( + label = state.label, + description = state.description, + editable = true, + attachments = state.attachments, + modifier = modifier + ) +} + +@Composable +internal fun AttachmentFormElement( + label: String, + description: String, + editable: Boolean, + attachments: List, + modifier: Modifier = Modifier, + colors: AttachmentElementColors = AttachmentElementDefaults.colors() +) { + Card( + modifier = modifier, + shape = AttachmentElementDefaults.containerShape, + border = BorderStroke(AttachmentElementDefaults.borderThickness, colors.borderColor) + ) { + Column( + modifier = Modifier.padding(15.dp) + ) { + Header( + title = label, + description = description, + editable = editable + ) + Spacer(modifier = Modifier.height(20.dp)) + Carousel(attachments) + } + } +} + +@Composable +private fun Carousel(attachments: List) { + LazyRow( + horizontalArrangement = Arrangement.spacedBy(15.dp), + ) { + items(attachments) { + AttachmentTile(it) + } + } +} + +@Composable +private fun Header( + title: String, + description: String, + modifier: Modifier = Modifier, + editable: Boolean = true +) { + Row( + modifier = modifier.wrapContentHeight(), + verticalAlignment = Alignment.CenterVertically + ) { + Column { + Text( + text = title, + style = MaterialTheme.typography.bodyLarge, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + if (description.isNotEmpty()) { + Text( + text = description, + style = MaterialTheme.typography.bodyMedium, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + } + } + Spacer(modifier = Modifier.weight(1f)) + } +} + +@Preview +@Composable +private fun AttachmentFormElementPreview() { + AttachmentFormElement( + label = "Attachments", + description = "Add attachments", + editable = true, + attachments = listOf( + FormAttachmentState( + "Photo 1.jpg", + 2024, + MutableStateFlow(LoadStatus.Loaded), + { Result.success(Unit) }, + { Result.success(null) }, + scope = rememberCoroutineScope() + ) + ) + ) +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt new file mode 100644 index 000000000..ec0349bef --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -0,0 +1,303 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.internal.components.attachment + +import android.text.format.Formatter +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.gestures.awaitEachGesture +import androidx.compose.foundation.gestures.awaitFirstDown +import androidx.compose.foundation.gestures.awaitLongPressOrCancellation +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.ArrowDownward +import androidx.compose.material.icons.outlined.AudioFile +import androidx.compose.material.icons.outlined.ErrorOutline +import androidx.compose.material.icons.outlined.FileCopy +import androidx.compose.material.icons.outlined.FilePresent +import androidx.compose.material.icons.outlined.Image +import androidx.compose.material.icons.outlined.VideoCameraBack +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.arcgismaps.LoadStatus + +@Composable +internal fun AttachmentTile( + state: FormAttachmentState +) { + val loadStatus by state.loadStatus.collectAsState() + val thumbnail by state.thumbnail + Box( + modifier = Modifier + .width(92.dp) + .height(75.dp) + .clip(shape = RoundedCornerShape(8.dp)) + .border( + border = BorderStroke(0.5.dp, MaterialTheme.colorScheme.outline), + shape = RoundedCornerShape(8.dp) + ) + .pointerInput(Unit) { + awaitEachGesture { + val down = awaitFirstDown(requireUnconsumed = false) + awaitLongPressOrCancellation(down.id)?.let { + // handle long press + } + } + } + .clickable { + if (loadStatus is LoadStatus.NotLoaded || loadStatus is LoadStatus.FailedToLoad) { + // load attachment + state.loadAttachment() + } else if (loadStatus is LoadStatus.Loaded) { + // open attachment + } + } + ) { + when (loadStatus) { + LoadStatus.Loaded -> LoadedView( + thumbnail = thumbnail, + title = state.name + ) + + LoadStatus.Loading -> DefaultView( + title = state.name, + size = state.size, + isLoading = true, + isError = false + ) + + LoadStatus.NotLoaded -> DefaultView( + title = state.name, + size = state.size, + isLoading = false, + isError = false + ) + + is LoadStatus.FailedToLoad -> DefaultView( + title = state.name, + size = state.size, + isLoading = false, + isError = true + ) + } + } +} + +@Composable +private fun LoadedView( + thumbnail: ImageBitmap?, + title: String, + modifier: Modifier = Modifier +) { + val attachmentType = remember(title) { + getAttachmentType(title) + } + Box( + modifier = modifier + .fillMaxSize() + ) { + if (thumbnail != null) { + Image( + bitmap = thumbnail, + contentDescription = null, + modifier = Modifier.fillMaxSize(), + contentScale = ContentScale.Crop + ) + } else { + Icon( + imageVector = attachmentType.getIcon(), + contentDescription = null, + modifier = Modifier + .fillMaxSize() + .padding(top = 10.dp, bottom = 25.dp) + .align(Alignment.Center) + ) + } + Column( + modifier = Modifier + .align(Alignment.BottomCenter) + .fillMaxWidth() + .height(20.dp) + .background( + MaterialTheme.colorScheme.onBackground.copy( + alpha = 0.7f + ) + ), + verticalArrangement = Arrangement.Center + ) { + Title( + text = title, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 5.dp), + color = MaterialTheme.colorScheme.background + ) + } + } +} + +@Composable +private fun DefaultView( + title: String, + size: Long, + isLoading: Boolean, + isError: Boolean, + modifier: Modifier = Modifier, +) { + val attachmentType = remember(title) { + getAttachmentType(title) + } + Column( + modifier = modifier + .fillMaxSize() + .padding(horizontal = 5.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.SpaceEvenly + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center + ) { + Size(size = size) + Icon( + imageVector = Icons.Outlined.ArrowDownward, + contentDescription = null, + modifier = Modifier.size(11.dp) + ) + } + if (isLoading) { + CircularProgressIndicator( + modifier = Modifier.size(20.dp), + strokeWidth = 2.dp + ) + } else if (isError) { + Image( + imageVector = Icons.Outlined.ErrorOutline, + contentDescription = null, + modifier = Modifier.size(20.dp), + colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.error) + ) + } else { + Icon( + imageVector = attachmentType.getIcon(), + contentDescription = null, + modifier = Modifier.size(20.dp) + ) + } + Title(text = title, modifier = Modifier) + } +} + +@Composable +private fun Title( + text: String, + modifier: Modifier = Modifier, + color: Color = Color.Unspecified, + style: TextStyle = MaterialTheme.typography.labelSmall +) { + Text( + text = text, + color = color, + style = style, + textAlign = TextAlign.Center, + overflow = TextOverflow.Ellipsis, + maxLines = 1, + modifier = modifier.padding(horizontal = 1.dp) + ) +} + +@Composable +private fun Size( + size: Long, modifier: + Modifier = Modifier +) { + val context = LocalContext.current + val fileSize = Formatter.formatFileSize(context, size) + Text( + text = fileSize, + style = MaterialTheme.typography.labelSmall.copy( + fontWeight = FontWeight.W300, + fontSize = 9.sp + ), + overflow = TextOverflow.Ellipsis, + modifier = modifier + .padding(horizontal = 1.dp) + ) +} + +private sealed class AttachmentType { + data object Image : AttachmentType() + data object Audio : AttachmentType() + data object Video : AttachmentType() + data object Document : AttachmentType() + data object Other : AttachmentType() +} + +private fun getAttachmentType(filename: String): AttachmentType { + val extension = filename.substring(filename.lastIndexOf(".") + 1) + return when (extension) { + "jpg", "jpeg", "png", "gif", "bmp" -> AttachmentType.Image + "mp3", "wav", "ogg", "flac" -> AttachmentType.Audio + "mp4", "avi", "mov", "wmv", "flv" -> AttachmentType.Video + "doc", "docx", "pdf", "txt", "rtf" -> AttachmentType.Document + else -> AttachmentType.Other + } +} + +@Composable +private fun AttachmentType.getIcon(): ImageVector = when (this) { + AttachmentType.Image -> Icons.Outlined.Image + AttachmentType.Audio -> Icons.Outlined.AudioFile + AttachmentType.Video -> Icons.Outlined.VideoCameraBack + AttachmentType.Document -> Icons.Outlined.FilePresent + AttachmentType.Other -> Icons.Outlined.FileCopy +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt deleted file mode 100644 index 50e04209e..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/formelement/AttachmentFormElement.kt +++ /dev/null @@ -1,478 +0,0 @@ -/* - * - * Copyright 2024 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package com.arcgismaps.toolkit.featureforms.internal.components.formelement - -import androidx.compose.animation.core.Spring -import androidx.compose.animation.core.animateFloat -import androidx.compose.animation.core.spring -import androidx.compose.animation.core.updateTransition -import androidx.compose.foundation.BorderStroke -import androidx.compose.foundation.Image -import androidx.compose.foundation.border -import androidx.compose.foundation.clickable -import androidx.compose.foundation.horizontalScroll -import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.interaction.collectIsPressedAsState -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.IntrinsicSize -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.aspectRatio -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.Add -import androidx.compose.material.icons.rounded.AddAPhoto -import androidx.compose.material.icons.rounded.AddPhotoAlternate -import androidx.compose.material.icons.rounded.Delete -import androidx.compose.material.icons.rounded.Download -import androidx.compose.material.icons.rounded.Edit -import androidx.compose.material.icons.rounded.LibraryAdd -import androidx.compose.material.icons.rounded.MoreVert -import androidx.compose.material3.Card -import androidx.compose.material3.DropdownMenu -import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.composed -import androidx.compose.ui.draw.alpha -import androidx.compose.ui.draw.clip -import androidx.compose.ui.graphics.graphicsLayer -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.font.FontWeight.Companion.W300 -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.DpOffset -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import coil.compose.rememberAsyncImagePainter -import coil.request.ImageRequest -import com.arcgismaps.toolkit.featureforms.R -import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState -import kotlinx.coroutines.flow.MutableStateFlow - - -internal data class FakeAttachmentElementState( - val attachments: List, - val editable: Boolean = true, - val title: String = "Titanic", - val keyword: String = "point of impact",// not used - val input: String = "123",// not used - var selectedAttachment: FakeAttachment? = null -): FormElementState(label = "fake attachments", description = "fake description", isVisible = MutableStateFlow(true)) - -internal data class FakeAttachment(val name: String = "front of ship.jpg", val size: Long = 1234L) - -internal val fakeAttachments = - buildList { - repeat(40) { - add(FakeAttachment("Bow point of collision.jpeg", 1234)) - } - } - -private fun Modifier.feedbackClickable( - enabled: Boolean = true, - currentAlpha: Float = 1f, - onClick: () -> Unit = {} -) = composed { - - val source = remember { MutableInteractionSource() } - val isPressed by source.collectIsPressedAsState() - val animationTransition = updateTransition(isPressed, label = "BouncingClickableTransition") - val opacity by animationTransition.animateFloat( - targetValueByState = { pressed -> if (pressed) currentAlpha * 0.4f else currentAlpha }, - label = "ClickableOpacityTransition" - ) - - val scaleFactor by animationTransition.animateFloat( - targetValueByState = { pressed -> if (pressed) 0.8f else 1f }, - label = "ClickableScaleFactorTransition", - transitionSpec = { - spring( - dampingRatio = Spring.DampingRatioHighBouncy, - stiffness = Spring.StiffnessLow - ) - } - ) - - this - .graphicsLayer { - this.scaleX = scaleFactor - this.scaleY = scaleFactor - this.alpha = opacity - } - .clickable( - interactionSource = source, - indication = null, - enabled = enabled, - onClick = onClick - ) -} - -@Composable -internal fun AttachmentFormElement(modifier: Modifier = Modifier) { - AttachmentFormElement( - state = FakeAttachmentElementState(attachments = fakeAttachments, selectedAttachment = null), - modifier = modifier - ) -} - -/** - * Todo: make public with a proper state object, and call from FeatureFormBody. - */ -@Composable -private fun AttachmentFormElement( - state: FakeAttachmentElementState, - modifier: Modifier = Modifier, - colors: AttachmentElementColors = AttachmentElementDefaults.colors() -) { - Card( - modifier = modifier, - shape = AttachmentElementDefaults.containerShape, - border = BorderStroke(AttachmentElementDefaults.borderThickness, colors.borderColor) - ) { - Column( - modifier = Modifier.padding(horizontal = 10.dp, vertical = 10.dp) - ) { - AttachmentElementHeader( - title = state.title, - description = state.description, - editable = state.editable - ) - Spacer(modifier = Modifier.height(10.dp)) - Carousel( - onDetailsTap = { - state.selectedAttachment = it - } - ) - } - } -} - -@Composable -private fun Carousel(onThumbnailTap: (FakeAttachment) -> Unit = {}, onDetailsTap: (FakeAttachment) -> Unit) { - Row( - Modifier - .horizontalScroll(rememberScrollState()) - .height(intrinsicSize = IntrinsicSize.Max), - horizontalArrangement = Arrangement.spacedBy(10.dp) - ) { - fakeAttachments.forEach { - CarouselThumbnail( - it.name, - it.size, - onThumbnailTap = { onThumbnailTap(it) }, - onDetailsTap = { onDetailsTap(it) } - ) - } - } -} - -@Composable -private fun CarouselThumbnail(name: String, size: Long, onThumbnailTap: () -> Unit, onDetailsTap: () -> Unit) { - var downloaded by rememberSaveable { mutableStateOf(false) } - Column( - Modifier - .feedbackClickable { onThumbnailTap() } - .width(80.dp) - .border( - border = BorderStroke( - AttachmentElementDefaults.borderThickness, - AttachmentElementDefaults.colors().borderColor - ), - shape = RoundedCornerShape(10.dp) - ), - horizontalAlignment = Alignment.CenterHorizontally - ) { - Box( - modifier = Modifier - .alpha(0.4f) - .aspectRatio(1.0f) - ) { - var showMenu by rememberSaveable { mutableStateOf(false) } - ThumbnailMenu(showMenu) { - showMenu = false - } - - if (downloaded) { - Image( - painter = rememberAsyncImagePainter( - ImageRequest.Builder(LocalContext.current) - .data("https://i.postimg.cc/65yws9mR/Screenshot-2024-02-02-at-6-20-49-PM.png").apply { - placeholder( - LocalContext.current.getDrawable(R.drawable.baseline_cloud_download_16) - ) - }.build() - ), - contentScale = ContentScale.Crop, - contentDescription = "Thumbnail image", - modifier = Modifier - .size(80.dp) - .clip(shape = RoundedCornerShape(15.dp, 15.dp, 0.dp, 0.dp)) - ) - Icon( - Icons.Rounded.MoreVert, - "more", - modifier = Modifier - .align(Alignment.TopEnd) - .padding(vertical = 3.dp) - .clickable { - showMenu = true - onDetailsTap() - } - ) - } else { - Icon( - Icons.Rounded.Download, - contentDescription = "Download attachment", - modifier = Modifier - .size(80.dp) - .clip(shape = RoundedCornerShape(15.dp, 15.dp, 0.dp, 0.dp)) - .clickable { downloaded = true } - - ) - } - } - - HorizontalDivider() - CarouselText(name, size) - } -} - -@Composable -private fun ThumbnailMenu(expanded: Boolean, onDismiss: () -> Unit = {}) { - MaterialTheme(shapes = MaterialTheme.shapes.copy(extraSmall = RoundedCornerShape(8.dp))) { - DropdownMenu( - expanded = expanded, - offset = DpOffset(15.dp, (-5).dp), - onDismissRequest = onDismiss - ) { - DropdownMenuItem( - text = { Text(text = "Rename") }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.Edit, - contentDescription = "Rename attachment", - modifier = Modifier.alpha(0.4f) - ) - }, - contentPadding = PaddingValues(horizontal = 3.dp), - onClick = {} - ) - HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) - DropdownMenuItem( - text = { Text(text = "Delete") }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.Delete, - contentDescription = "Delete attachment", - modifier = Modifier.alpha(0.4f) - ) - }, - contentPadding = PaddingValues(horizontal = 3.dp), - onClick = {} - ) -// Row( -// modifier = Modifier.padding(horizontal = 3.dp), -// horizontalArrangement = Arrangement.Start, -// verticalAlignment = Alignment.CenterVertically -// ) { -// Text(text = "Delete") -// Spacer(modifier = Modifier.weight(1f)) -// Icon( -// imageVector = Icons.Rounded.Delete, -// contentDescription = "Delete attachment", -// modifier = Modifier.alpha(0.4f) -// ) -// } -// - } - } -} - -@Composable -private fun CarouselText( - name: String, - size: Long -) { - Column { - Text( - text = name, - style = MaterialTheme.typography.labelSmall.copy( - fontWeight = FontWeight.W600 - ), - textAlign = TextAlign.Center, - overflow = TextOverflow.Ellipsis, - modifier = Modifier.padding(horizontal = 1.dp) - ) - Text( - text = "$size KB", - style = MaterialTheme.typography.labelSmall.copy( - fontWeight = W300, - fontSize = 9.sp - ), - overflow = TextOverflow.Ellipsis, - modifier = Modifier - .padding(horizontal = 1.dp) - .align(Alignment.CenterHorizontally) - - ) - Spacer(modifier = Modifier.height(5.dp)) - } -} - -@Composable -private fun AddAttachmentMenu(expanded: Boolean, onDismiss: () -> Unit = {}) { - MaterialTheme(shapes = MaterialTheme.shapes.copy(extraSmall = RoundedCornerShape(8.dp))) { - DropdownMenu( - expanded = expanded, - offset = DpOffset.Zero, - onDismissRequest = onDismiss - ) { - DropdownMenuItem( - text= { Text(text = "Take Photo") }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.AddAPhoto, - contentDescription = "Add a photo", - modifier = Modifier.alpha(0.4f) - ) - }, - onClick = {} - ) - HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) - DropdownMenuItem( - text= { Text(text = "Add Photo From Gallery") }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.AddPhotoAlternate, - contentDescription = "Add photo from gallery", - modifier = Modifier.alpha(0.4f) - ) - }, - onClick = {} - ) - HorizontalDivider(modifier = Modifier.padding(vertical = 5.dp)) - DropdownMenuItem( - text= { Text(text = "Add File") }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.LibraryAdd, - contentDescription = "Add File", - modifier = Modifier.alpha(0.4f) - ) - }, - onClick = {} - ) - } - } - -} - - -@Composable -private fun AddAttachment() { - var showMenu by remember { mutableStateOf(false) } - - Row { - Box( - modifier = Modifier - .size(40.dp) - .feedbackClickable { - showMenu = true - } - ) { - AddAttachmentMenu(expanded = showMenu, onDismiss = { showMenu = false }) - Icon( - Icons.Rounded.Add, - contentDescription = "Add attachment", - modifier = Modifier - .align(Alignment.Center) - .size(32.dp) - ) - } - - } -} - -@Composable -private fun AttachmentElementHeader( - title: String, - description: String, - modifier: Modifier = Modifier, - showingDetails: Boolean = false, - editable: Boolean = true -) { - Row( - modifier = modifier.wrapContentHeight(), - verticalAlignment = Alignment.CenterVertically - ) { - Column { - Text( - text = title, - style = MaterialTheme.typography.bodyLarge, - maxLines = 1, - overflow = TextOverflow.Ellipsis - ) - if (description.isNotEmpty()) { - Text( - text = description, - style = MaterialTheme.typography.bodyMedium, - maxLines = 1, - overflow = TextOverflow.Ellipsis - ) - } - } - Spacer(modifier = Modifier.weight(1f)) - if (editable && !showingDetails) { - AddAttachment() - } - } -} - -@Preview -@Composable -private fun PreviewFormAttachmentElement() { - AttachmentFormElement( - modifier = Modifier - .fillMaxWidth() - ) -} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt index d0b739132..bac2577d6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt @@ -36,7 +36,6 @@ import com.arcgismaps.toolkit.featureforms.internal.components.base.formattedVal import com.arcgismaps.toolkit.featureforms.internal.components.base.mapValidationErrors import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.launch internal class TextFieldProperties( label: String, From b48162cfb46bc0c1a372f1c1568267b5f66af4e9 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 6 May 2024 13:30:11 -0700 Subject: [PATCH 23/53] `Forms` : Add attachments (#416) --- .../toolkit/featureformsapp/MainActivity.kt | 65 ++++- .../screens/map/MapViewModel.kt | 34 ++- .../app/src/main/res/values/strings.xml | 1 + .../featureforms/src/main/AndroidManifest.xml | 13 + .../attachment/AttachmentElementState.kt | 105 ++++++- .../attachment/AttachmentFormElement.kt | 264 +++++++++++++++++- .../components/attachment/AttachmentTile.kt | 28 -- .../utils/AttachmentCaptureFileProvider.kt | 43 +++ .../featureforms/internal/utils/Dialog.kt | 25 ++ .../src/main/res/values/strings.xml | 2 + .../feature_forms_captured_attachments.xml | 23 ++ 11 files changed, 547 insertions(+), 56 deletions(-) create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt create mode 100644 toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt index aa4d401c6..87b3b8521 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/MainActivity.kt @@ -18,24 +18,38 @@ package com.arcgismaps.toolkit.featureformsapp +import android.Manifest.permission.CAMERA +import android.content.pm.PackageManager import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.size +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Button import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.core.content.ContextCompat import androidx.lifecycle.lifecycleScope import androidx.navigation.compose.rememberNavController import com.arcgismaps.ArcGISEnvironment @@ -73,12 +87,26 @@ class MainActivity : ComponentActivity() { private val appState: MutableStateFlow = MutableStateFlow(AppState.Loading) + private val hasPermissions = mutableStateOf(null) + + // Register the permissions callback, which handles the user's response to the + // system permissions dialog. + private val requestPermissionLauncher = registerForActivityResult( + ActivityResultContracts.RequestPermission() + ) { isGranted: Boolean -> + hasPermissions.value = isGranted + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ArcGISEnvironment.applicationContext = this setContent { FeatureFormsAppTheme { - FeatureFormApp(appState.collectAsState().value, navigator) + FeatureFormApp( + appState.collectAsState().value, + navigator, + hasPermissions.value + ) } } lifecycleScope.launch { @@ -89,6 +117,14 @@ class MainActivity : ComponentActivity() { ) loadCredentials(factory.getPortalSettings()) } + // check for permissions + when (ContextCompat.checkSelfPermission(this, CAMERA)) { + PackageManager.PERMISSION_GRANTED -> { + hasPermissions.value = true + } + + else -> requestPermissionLauncher.launch(CAMERA) + } } private suspend fun loadCredentials(portalSettings: PortalSettings) = @@ -118,7 +154,14 @@ class MainActivity : ComponentActivity() { } @Composable -fun FeatureFormApp(appState: AppState, navigator: Navigator) { +fun FeatureFormApp( + appState: AppState, + navigator: Navigator, + hasPermissions: Boolean? +) { + var showPermissionsDialog by remember(hasPermissions) { + mutableStateOf(hasPermissions != null && hasPermissions == false) + } if (appState is AppState.Loading) { AnimatedLoading({ true }, modifier = Modifier.fillMaxSize()) } else { @@ -138,6 +181,24 @@ fun FeatureFormApp(appState: AppState, navigator: Navigator) { startDestination = startDestination ) } + if (showPermissionsDialog) { + AlertDialog( + onDismissRequest = { + showPermissionsDialog = false + }, + text = { + Text(text = stringResource(R.string.camera_permission_required)) + }, + icon = { + Icon(imageVector = Icons.Rounded.Warning, contentDescription = "Warning") + }, + confirmButton = { + Button(onClick = { showPermissionsDialog = false }) { + Text(text = stringResource(id = R.string.okay)) + } + } + ) + } } @Composable diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index 454114de0..a69c3370e 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -36,6 +36,8 @@ import com.arcgismaps.mapping.featureforms.FieldFormElement import com.arcgismaps.mapping.featureforms.FormElement import com.arcgismaps.mapping.featureforms.GroupFormElement import com.arcgismaps.mapping.layers.FeatureLayer +import com.arcgismaps.mapping.layers.GroupLayer +import com.arcgismaps.mapping.layers.Layer import com.arcgismaps.mapping.view.SingleTapConfirmedEvent import com.arcgismaps.toolkit.featureforms.ValidationErrorVisibility import com.arcgismaps.toolkit.featureformsapp.data.PortalItemRepository @@ -139,12 +141,7 @@ class MapViewModel @Inject constructor( private suspend fun checkFeatureFormDefinition() { map.load() val layer = map.operationalLayers.firstOrNull { - if (it is FeatureLayer) { - it.load() - it.featureFormDefinition != null - } else { - false - } + it.hasFeatureFormDefinition() } _uiState.value = if (layer == null) { UIState.NoFeatureFormDefinition @@ -194,8 +191,13 @@ class MapViewModel @Inject constructor( IllegalStateException("cannot save feature edit without a ServiceFeatureTable") ) val result = serviceFeatureTable.updateFeature(feature).map { - serviceFeatureTable.serviceGeodatabase?.applyEdits() - ?: throw IllegalStateException("cannot apply feature edit without a ServiceGeodatabase") + serviceFeatureTable.serviceGeodatabase?.let { database -> + return@let if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) { + database.applyEdits() + } else { + serviceFeatureTable.applyEdits() + } + } feature.refresh() // unselect the feature after the edits have been saved (feature.featureTable?.layer as FeatureLayer).clearSelection() @@ -332,3 +334,19 @@ fun List.getFormElement(fieldName: String): FieldFormElement? { } } } + +/** + * Returns true if the layer has a feature form definition. If the layer is a [GroupLayer] then + * this function will return true if any of the layers in the group have a feature form definition. + */ +private suspend fun Layer.hasFeatureFormDefinition(): Boolean = when(this) { + is FeatureLayer -> { + load() + featureFormDefinition != null + } + is GroupLayer -> { + load() + layers.any { it.hasFeatureFormDefinition() } + } + else -> false +} diff --git a/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml b/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml index 0098e9d80..dd15d8f08 100644 --- a/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml +++ b/microapps/FeatureFormsApp/app/src/main/res/values/strings.xml @@ -47,4 +47,5 @@ Okay Exit FeatureLayers in this map do not contain a FeatureFormDefinition. Feature editing will be disabled. + Camera permission is required for Attachments. This will result in limited functionality. diff --git a/toolkit/featureforms/src/main/AndroidManifest.xml b/toolkit/featureforms/src/main/AndroidManifest.xml index 4e1ed5d7e..eb3a2c57f 100644 --- a/toolkit/featureforms/src/main/AndroidManifest.xml +++ b/toolkit/featureforms/src/main/AndroidManifest.xml @@ -16,4 +16,17 @@ --> + + + + + + + diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 60c0ed96b..713e6bd4f 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -16,7 +16,17 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment +import android.Manifest +import android.content.Context +import android.content.pm.PackageManager import android.graphics.drawable.BitmapDrawable +import androidx.compose.foundation.lazy.LazyListState +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.AudioFile +import androidx.compose.material.icons.outlined.FileCopy +import androidx.compose.material.icons.outlined.FilePresent +import androidx.compose.material.icons.outlined.Image +import androidx.compose.material.icons.outlined.VideoCameraBack import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.State @@ -28,6 +38,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.asImageBitmap +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus import com.arcgismaps.mapping.featureforms.AttachmentFormElement import com.arcgismaps.mapping.featureforms.FeatureForm @@ -39,10 +51,15 @@ import kotlinx.coroutines.launch /** * Represents the state of an [AttachmentFormElement] + * + * @param formElement The form element that this state represents. + * @param scope The coroutine scope used to launch coroutines. + * @param evaluateExpressions A method to evaluates the expressions in the form. */ internal class AttachmentElementState( private val formElement: AttachmentFormElement, - private val scope: CoroutineScope + private val scope: CoroutineScope, + private val evaluateExpressions : suspend () -> Unit ) : FormElementState( label = formElement.label, description = formElement.description, @@ -53,6 +70,16 @@ internal class AttachmentElementState( */ val attachments = SnapshotStateList() + /** + * Indicates whether the attachment form element is editable. + */ + val isEditable = formElement.isEditable + + /** + * The state of the lazy list that displays the [attachments]. + */ + val lazyListState = LazyListState() + init { scope.launch { loadAttachments() @@ -73,10 +100,30 @@ internal class AttachmentElementState( ) } + /** + * Adds an attachment with the given [name], [contentType], and [data]. + */ + suspend fun addAttachment(name: String, contentType: String, data: ByteArray) { + formElement.addAttachment(name, contentType, data) + evaluateExpressions() + // refresh the list of attachments + loadAttachments() + // load the attachment that was just added + attachments.last().loadAttachment() + // scroll to the newly added attachment + lazyListState.scrollToItem(attachments.size - 1) + } + + fun hasCameraPermissions(context: Context): Boolean = ContextCompat.checkSelfPermission( + context, + Manifest.permission.CAMERA + ) == PackageManager.PERMISSION_GRANTED + companion object { fun Saver( attachmentFormElement: AttachmentFormElement, - scope: CoroutineScope + scope: CoroutineScope, + evaluateExpressions: suspend () -> Unit ): Saver = listSaver( save = { // save the list of indices of attachments that have been loaded @@ -89,7 +136,7 @@ internal class AttachmentElementState( } }, restore = { savedList -> - AttachmentElementState(attachmentFormElement, scope).also { + AttachmentElementState(attachmentFormElement, scope, evaluateExpressions).also { scope.launch { it.loadAttachments() // load the attachments that were previously loaded @@ -105,6 +152,13 @@ internal class AttachmentElementState( /** * Represents the state of a [FormAttachment]. + * + * @param name The name of the attachment. + * @param size The size of the attachment. + * @param loadStatus The load status of the attachment. + * @param onLoadAttachment A function that loads the attachment. + * @param onLoadThumbnail A function that loads the thumbnail of the attachment. + * @param scope The coroutine scope used to launch coroutines. */ internal class FormAttachmentState( val name: String, @@ -115,8 +169,17 @@ internal class FormAttachmentState( private val scope: CoroutineScope ) { private val _thumbnail: MutableState = mutableStateOf(null) + + /** + * The thumbnail of the attachment. This is `null` until [loadAttachment] is called. + */ val thumbnail: State = _thumbnail + /** + * The type of the attachment. + */ + val type: AttachmentType = getAttachmentType(name) + constructor(attachment: FormAttachment, scope: CoroutineScope) : this( name = attachment.name, size = attachment.size, @@ -126,6 +189,9 @@ internal class FormAttachmentState( scope = scope ) + /** + * Loads the attachment and its thumbnail. + */ fun loadAttachment() { scope.launch { onLoadAttachment().onSuccess { @@ -147,11 +213,40 @@ internal fun rememberAttachmentElementState( val scope = rememberCoroutineScope() return rememberSaveable( inputs = arrayOf(form), - saver = AttachmentElementState.Saver(attachmentFormElement, scope) + saver = AttachmentElementState.Saver(attachmentFormElement, scope, form::evaluateExpressions) ) { AttachmentElementState( formElement = attachmentFormElement, - scope = scope + scope = scope, + evaluateExpressions = form::evaluateExpressions ) } } + +internal sealed class AttachmentType { + data object Image : AttachmentType() + data object Audio : AttachmentType() + data object Video : AttachmentType() + data object Document : AttachmentType() + data object Other : AttachmentType() +} + +internal fun getAttachmentType(filename: String): AttachmentType { + val extension = filename.substring(filename.lastIndexOf(".") + 1) + return when (extension) { + "jpg", "jpeg", "png", "gif", "bmp" -> AttachmentType.Image + "mp3", "wav", "ogg", "flac" -> AttachmentType.Audio + "mp4", "avi", "mov", "wmv", "flv" -> AttachmentType.Video + "doc", "docx", "pdf", "txt", "rtf" -> AttachmentType.Document + else -> AttachmentType.Other + } +} + +@Composable +internal fun AttachmentType.getIcon(): ImageVector = when (this) { + AttachmentType.Image -> Icons.Outlined.Image + AttachmentType.Audio -> Icons.Outlined.AudioFile + AttachmentType.Video -> Icons.Outlined.VideoCameraBack + AttachmentType.Document -> Icons.Outlined.FilePresent + AttachmentType.Other -> Icons.Outlined.FileCopy +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 1e7268c68..ad1431324 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -16,39 +16,86 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment +import android.content.Context +import android.net.Uri +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.PickVisualMediaRequest +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Add +import androidx.compose.material.icons.rounded.Photo +import androidx.compose.material.icons.rounded.PhotoCamera import androidx.compose.material3.Card +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.listSaver +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp import com.arcgismaps.LoadStatus +import com.arcgismaps.toolkit.featureforms.R +import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentCaptureFileProvider +import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType +import com.arcgismaps.toolkit.featureforms.internal.utils.LocalDialogRequester +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.launch +import java.io.File +import java.time.Instant @Composable internal fun AttachmentFormElement( state: AttachmentElementState, modifier: Modifier = Modifier ) { + val scope = rememberCoroutineScope() + val context = LocalContext.current + val editable by state.isEditable.collectAsState() AttachmentFormElement( label = state.label, description = state.description, - editable = true, + editable = editable, attachments = state.attachments, + lazyListState = state.lazyListState, + hasCameraPermission = state.hasCameraPermissions(context), + onAttachmentAdded = { name, contentType, data -> + scope.launch { + state.addAttachment(name, contentType, data) + } + }, modifier = modifier ) } @@ -59,9 +106,14 @@ internal fun AttachmentFormElement( description: String, editable: Boolean, attachments: List, + lazyListState: LazyListState, + hasCameraPermission: Boolean, + onAttachmentAdded: suspend (String, String, ByteArray) -> Unit, modifier: Modifier = Modifier, colors: AttachmentElementColors = AttachmentElementDefaults.colors() ) { + val context = LocalContext.current + val scope = rememberCoroutineScope() Card( modifier = modifier, shape = AttachmentElementDefaults.containerShape, @@ -70,23 +122,41 @@ internal fun AttachmentFormElement( Column( modifier = Modifier.padding(15.dp) ) { - Header( - title = label, - description = description, - editable = editable - ) + Row { + Header( + title = label, + description = description + ) + Spacer(modifier = Modifier.weight(1f)) + if (editable) { + // Add attachment button + AddAttachment( + hasCameraPermission = hasCameraPermission + ) { contentType, uri -> + scope.launch(Dispatchers.IO) { + context.readBytes(uri)?.let { + val name = attachments.getNewAttachmentNameForContentType( + contentType + ) + onAttachmentAdded(name, contentType, it) + } + } + } + } + } Spacer(modifier = Modifier.height(20.dp)) - Carousel(attachments) + Carousel(lazyListState, attachments) } } } @Composable -private fun Carousel(attachments: List) { +private fun Carousel(state: LazyListState, attachments: List) { LazyRow( + state = state, horizontalArrangement = Arrangement.spacedBy(15.dp), ) { - items(attachments) { + items(attachments, key = { it.name + it.type + it.size }) { AttachmentTile(it) } } @@ -96,8 +166,7 @@ private fun Carousel(attachments: List) { private fun Header( title: String, description: String, - modifier: Modifier = Modifier, - editable: Boolean = true + modifier: Modifier = Modifier ) { Row( modifier = modifier.wrapContentHeight(), @@ -119,10 +188,176 @@ private fun Header( ) } } - Spacer(modifier = Modifier.weight(1f)) } } +@Composable +private fun AddAttachment( + hasCameraPermission: Boolean, + onAttachment: (String, Uri) -> Unit +) { + var showMenu by remember { mutableStateOf(false) } + val dialogRequester = LocalDialogRequester.current + val scope = rememberCoroutineScope() + val pickerStyle = remember { MutableSharedFlow() } + Box { + IconButton( + onClick = { showMenu = true }, + ) { + Icon( + Icons.Rounded.Add, + contentDescription = "Add attachment", + modifier = Modifier.size(32.dp) + ) + } + DropdownMenu( + expanded = showMenu, + offset = DpOffset.Zero, + onDismissRequest = { showMenu = false } + ) { + if (hasCameraPermission) { + DropdownMenuItem( + text = { Text(text = stringResource(R.string.take_photo)) }, + trailingIcon = { + Icon( + imageVector = Icons.Rounded.PhotoCamera, + contentDescription = "Take Photo", + modifier = Modifier.alpha(0.4f) + ) + }, + onClick = { + scope.launch { + pickerStyle.emit(PickerStyle.Camera) + showMenu = false + } + } + ) + } + DropdownMenuItem( + text = { Text(text = stringResource(R.string.add_photo)) }, + trailingIcon = { + Icon( + imageVector = Icons.Rounded.Photo, + contentDescription = "Add Photo", + modifier = Modifier.alpha(0.4f) + ) + }, + onClick = { + scope.launch { + pickerStyle.emit(PickerStyle.PickImage) + showMenu = false + } + } + ) + } + } + LaunchedEffect(Unit) { + pickerStyle.collect { + when (it) { + PickerStyle.Camera -> { + dialogRequester.requestDialog(DialogType.ImageCaptureDialog { uri -> + onAttachment("image/jpeg", uri) + }) + } + + PickerStyle.PickImage -> { + dialogRequester.requestDialog( + DialogType.ImagePickerDialog { uri -> + onAttachment("image/jpeg", uri) + } + ) + } + + else -> {} + } + } + } +} + +/** + * Launches the camera to capture an image. When an image is captured, the [onImageCaptured] callback + * is invoked with the URI of the captured image. + */ +@Composable +internal fun ImageCapture(onImageCaptured: (Uri) -> Unit) { + val context = LocalContext.current + var hasLaunched by rememberSaveable { + mutableStateOf(false) + } + val capturedImageUri = rememberSaveable( + saver = listSaver( + save = { listOf(it.toString()) }, + restore = { Uri.parse(it.first()) } + ) + ) { + val file = context.createTempImageFile() + AttachmentCaptureFileProvider.getImageUri(file, context) + } + val cameraLauncher = rememberLauncherForActivityResult( + contract = ActivityResultContracts.TakePicture(), + onResult = { success -> + if (success) { + onImageCaptured(capturedImageUri) + } + } + ) + LaunchedEffect(Unit) { + if (!hasLaunched) { + hasLaunched = true + cameraLauncher.launch(capturedImageUri) + } + } +} + +/** + * Launches the Gallery to select an image. When an image is selected, the [onImageSelected] callback + * is invoked with the URI of the selected image. + */ +@Composable +internal fun ImagePicker(onImageSelected: (Uri) -> Unit) { + val launcher = rememberLauncherForActivityResult( + contract = ActivityResultContracts.PickVisualMedia() + ) { + if (it != null) { + onImageSelected(it) + } + } + LaunchedEffect(Unit) { + launcher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) + } +} + +private fun List.getNewAttachmentNameForContentType( + contentType: String +): String { + val (attachmentType: AttachmentType, ext: String) = when (contentType) { + "image/jpeg" -> Pair(AttachmentType.Image, "jpg") + else -> Pair(AttachmentType.Other, "") + } + val count = this.count { it.type == attachmentType } + return "$attachmentType $count.$ext" +} + +private fun Context.createTempImageFile(): File { + val timeStamp = Instant.now().toEpochMilli() + val dir = File(cacheDir, "feature_forms_attachments") + dir.mkdirs() + return File.createTempFile( + "IMAGE_$timeStamp", + ".jpg", + dir, + ) +} + +private fun Context.readBytes(uri: Uri): ByteArray? = + contentResolver.openInputStream(uri)?.use { it.buffered().readBytes() } + +private sealed class PickerStyle { + data object File : PickerStyle() + data object Camera : PickerStyle() + data object PickImage : PickerStyle() +} + @Preview @Composable private fun AttachmentFormElementPreview() { @@ -139,6 +374,9 @@ private fun AttachmentFormElementPreview() { { Result.success(null) }, scope = rememberCoroutineScope() ) - ) + ), + lazyListState = LazyListState(), + hasCameraPermission = true, + onAttachmentAdded = { _, _, _ -> } ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index ec0349bef..a6fe29903 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -273,31 +273,3 @@ private fun Size( .padding(horizontal = 1.dp) ) } - -private sealed class AttachmentType { - data object Image : AttachmentType() - data object Audio : AttachmentType() - data object Video : AttachmentType() - data object Document : AttachmentType() - data object Other : AttachmentType() -} - -private fun getAttachmentType(filename: String): AttachmentType { - val extension = filename.substring(filename.lastIndexOf(".") + 1) - return when (extension) { - "jpg", "jpeg", "png", "gif", "bmp" -> AttachmentType.Image - "mp3", "wav", "ogg", "flac" -> AttachmentType.Audio - "mp4", "avi", "mov", "wmv", "flv" -> AttachmentType.Video - "doc", "docx", "pdf", "txt", "rtf" -> AttachmentType.Document - else -> AttachmentType.Other - } -} - -@Composable -private fun AttachmentType.getIcon(): ImageVector = when (this) { - AttachmentType.Image -> Icons.Outlined.Image - AttachmentType.Audio -> Icons.Outlined.AudioFile - AttachmentType.Video -> Icons.Outlined.VideoCameraBack - AttachmentType.Document -> Icons.Outlined.FilePresent - AttachmentType.Other -> Icons.Outlined.FileCopy -} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt new file mode 100644 index 000000000..42b592948 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt @@ -0,0 +1,43 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.internal.utils + +import android.content.Context +import android.net.Uri +import androidx.core.content.FileProvider +import com.arcgismaps.toolkit.featureforms.R +import java.io.File + +internal class AttachmentCaptureFileProvider : + FileProvider(R.xml.feature_forms_captured_attachments) { + companion object { + private const val AUTHORITY = "com.arcgismaps.toolkit.featureforms.capturefileprovider" + + fun getImageUri(file: File, context: Context): Uri { + val directory = File(context.cacheDir, "feature_forms_attachments") + directory.mkdirs() + // The authority string must be unique per device. Therefore use of this provider with two + // installations of the featureforms dependency on one device will crash. + // The solution is to release a standalone file provider aidl service which both instances can use. + return getUriForFile( + context, + AUTHORITY, + file, + ) + } + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 90286dd68..0da4fd5fd 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -17,6 +17,7 @@ package com.arcgismaps.toolkit.featureforms.internal.utils import android.content.Context +import android.net.Uri import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.runtime.collectAsState @@ -29,6 +30,8 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator import com.arcgismaps.toolkit.featureforms.R +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.CodedValueFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.ComboBoxDialog import com.arcgismaps.toolkit.featureforms.internal.components.datetime.DateTimeFieldState @@ -92,6 +95,12 @@ internal sealed class DialogType { * @param state The [DateTimeFieldState] to use for the dialog. */ data class DateTimeDialog(val state: DateTimeFieldState) : DialogType() + + data class ImageCaptureDialog(val onImage: (Uri) -> Unit) : DialogType() + + data class ImagePickerDialog( + val onSelection: (Uri) -> Unit + ) : DialogType() } /** @@ -159,6 +168,22 @@ internal fun FeatureFormDialog() { ) } + is DialogType.ImageCaptureDialog -> { + val onImage = (dialogType as DialogType.ImageCaptureDialog).onImage + ImageCapture { + onImage(it) + dialogRequester.dismissDialog() + } + } + + is DialogType.ImagePickerDialog -> { + val onMediaPicked = (dialogType as DialogType.ImagePickerDialog).onSelection + ImagePicker { + onMediaPicked(it) + dialogRequester.dismissDialog() + } + } + else -> { // clear focus from the originating tapped field if (dialogType == null) { diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 18e08a74d..c21c8825b 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -89,4 +89,6 @@ for minutes Select AM or PM PM + Take Photo + Add Photo diff --git a/toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml b/toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml new file mode 100644 index 000000000..a87b5ada1 --- /dev/null +++ b/toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml @@ -0,0 +1,23 @@ + + + + + From 280f9a17b5f7c31c0dbcc546bcf135b289dd4468 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 7 May 2024 13:02:02 -0700 Subject: [PATCH 24/53] `Forms` : Fix state references (#418) --- .../toolkit/featureforms/FeatureForm.kt | 2 +- .../attachment/AttachmentElementState.kt | 5 +- .../attachment/AttachmentFormElement.kt | 40 ++++----- .../components/base/BaseFieldState.kt | 3 + .../components/base/BaseGroupState.kt | 4 + .../components/base/FormElementState.kt | 2 + .../components/base/FormStateCollection.kt | 15 +++- .../codedvalue/CodedValueFieldState.kt | 3 + .../components/codedvalue/ComboBoxField.kt | 3 +- .../codedvalue/ComboBoxFieldState.kt | 5 +- .../codedvalue/RadioButtonFieldState.kt | 4 + .../components/codedvalue/SwitchFieldState.kt | 4 + .../components/datetime/DateTimeField.kt | 3 +- .../components/datetime/DateTimeFieldState.kt | 8 +- .../components/text/FormTextFieldState.kt | 5 ++ .../featureforms/internal/utils/Dialog.kt | 83 +++++++++++++++---- 16 files changed, 140 insertions(+), 49 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index 3508f312c..d7da3939b 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -180,7 +180,7 @@ private fun FeatureForm( // expressions evaluated, load attachments formElements.value = featureForm.elements } - FeatureFormDialog() + FeatureFormDialog(states) // launch a new side effect in a launched effect when validationErrorVisibility changes LaunchedEffect(validationErrorVisibility) { // if it set to always show errors force each field to validate itself and show any errors diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 713e6bd4f..258617321 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -59,11 +59,13 @@ import kotlinx.coroutines.launch internal class AttachmentElementState( private val formElement: AttachmentFormElement, private val scope: CoroutineScope, + id : Int, private val evaluateExpressions : suspend () -> Unit ) : FormElementState( label = formElement.label, description = formElement.description, isVisible = formElement.isVisible, + id = id ) { /** * The attachments associated with the form element. @@ -136,7 +138,7 @@ internal class AttachmentElementState( } }, restore = { savedList -> - AttachmentElementState(attachmentFormElement, scope, evaluateExpressions).also { + AttachmentElementState(attachmentFormElement, scope, attachmentFormElement.hashCode() , evaluateExpressions).also { scope.launch { it.loadAttachments() // load the attachments that were previously loaded @@ -218,6 +220,7 @@ internal fun rememberAttachmentElementState( AttachmentElementState( formElement = attachmentFormElement, scope = scope, + id = attachmentFormElement.hashCode(), evaluateExpressions = form::evaluateExpressions ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index ad1431324..786c46a6c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -88,6 +88,7 @@ internal fun AttachmentFormElement( label = state.label, description = state.description, editable = editable, + stateId = state.id, attachments = state.attachments, lazyListState = state.lazyListState, hasCameraPermission = state.hasCameraPermissions(context), @@ -105,6 +106,7 @@ internal fun AttachmentFormElement( label: String, description: String, editable: Boolean, + stateId: Int, attachments: List, lazyListState: LazyListState, hasCameraPermission: Boolean, @@ -131,17 +133,9 @@ internal fun AttachmentFormElement( if (editable) { // Add attachment button AddAttachment( + stateId = stateId, hasCameraPermission = hasCameraPermission - ) { contentType, uri -> - scope.launch(Dispatchers.IO) { - context.readBytes(uri)?.let { - val name = attachments.getNewAttachmentNameForContentType( - contentType - ) - onAttachmentAdded(name, contentType, it) - } - } - } + ) } } Spacer(modifier = Modifier.height(20.dp)) @@ -193,8 +187,8 @@ private fun Header( @Composable private fun AddAttachment( + stateId: Int, hasCameraPermission: Boolean, - onAttachment: (String, Uri) -> Unit ) { var showMenu by remember { mutableStateOf(false) } val dialogRequester = LocalDialogRequester.current @@ -255,16 +249,20 @@ private fun AddAttachment( pickerStyle.collect { when (it) { PickerStyle.Camera -> { - dialogRequester.requestDialog(DialogType.ImageCaptureDialog { uri -> - onAttachment("image/jpeg", uri) - }) + dialogRequester.requestDialog( + DialogType.ImageCaptureDialog( + stateId = stateId, + contentType = "image/jpeg" + ) + ) } PickerStyle.PickImage -> { dialogRequester.requestDialog( - DialogType.ImagePickerDialog { uri -> - onAttachment("image/jpeg", uri) - } + DialogType.ImagePickerDialog( + stateId = stateId, + contentType = "image/jpeg" + ) ) } @@ -327,7 +325,7 @@ internal fun ImagePicker(onImageSelected: (Uri) -> Unit) { } } -private fun List.getNewAttachmentNameForContentType( +internal fun List.getNewAttachmentNameForContentType( contentType: String ): String { val (attachmentType: AttachmentType, ext: String) = when (contentType) { @@ -338,7 +336,7 @@ private fun List.getNewAttachmentNameForContentType( return "$attachmentType $count.$ext" } -private fun Context.createTempImageFile(): File { +internal fun Context.createTempImageFile(): File { val timeStamp = Instant.now().toEpochMilli() val dir = File(cacheDir, "feature_forms_attachments") dir.mkdirs() @@ -349,9 +347,6 @@ private fun Context.createTempImageFile(): File { ) } -private fun Context.readBytes(uri: Uri): ByteArray? = - contentResolver.openInputStream(uri)?.use { it.buffered().readBytes() } - private sealed class PickerStyle { data object File : PickerStyle() data object Camera : PickerStyle() @@ -365,6 +360,7 @@ private fun AttachmentFormElementPreview() { label = "Attachments", description = "Add attachments", editable = true, + stateId = 1, attachments = listOf( FormAttachmentState( "Photo 1.jpg", diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt index b20a60dd4..bdb9bf4b8 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt @@ -55,6 +55,7 @@ internal data class Value( * Base state class for any Field within a feature form. It provides the default set of properties * that are common to all [FieldFormElement]'s. * + * @param id Unique identifier for the field. * @param properties the [FieldProperties] associated with this state. * @param initialValue optional initial value to set for this field. It is set to the value of * [FieldProperties.value] by default. @@ -65,12 +66,14 @@ internal data class Value( * called after a successful [updateValue]. */ internal abstract class BaseFieldState( + id: Int, properties: FieldProperties, initialValue: T = properties.value.value, private val scope: CoroutineScope, private val updateValue: (Any?) -> Unit, private val evaluateExpressions: suspend () -> Result>, ) : FormElementState( + id = id, label = properties.label, description = properties.description, isVisible = properties.visible diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseGroupState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseGroupState.kt index fb3b5234b..7b269c51d 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseGroupState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseGroupState.kt @@ -27,12 +27,14 @@ import com.arcgismaps.mapping.featureforms.GroupFormElement import kotlinx.coroutines.flow.StateFlow internal class BaseGroupState( + id : Int, label: String, description: String, isVisible: StateFlow, expanded: Boolean, val fieldStates: FormStateCollection ) : FormElementState( + id = id, label = label, description = description, isVisible = isVisible @@ -54,6 +56,7 @@ internal class BaseGroupState( }, restore = { BaseGroupState( + id = groupElement.hashCode(), label = groupElement.label, description = groupElement.description, isVisible = groupElement.isVisible, @@ -75,6 +78,7 @@ internal fun rememberBaseGroupState( saver = BaseGroupState.Saver(groupElement, fieldStates) ) { BaseGroupState( + id = groupElement.hashCode(), label = groupElement.label, description = groupElement.description, isVisible = groupElement.isVisible, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt index 3d45e921c..7da1dcf57 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormElementState.kt @@ -23,12 +23,14 @@ import kotlinx.coroutines.flow.StateFlow /** * Base state class for a [FormElement]. * + * @param id Unique identifier for the field. * @param label Title for the field. * @param description Description text for the field. * @param isVisible Property that indicates if the field is visible. */ @Immutable internal abstract class FormElementState( + val id : Int, val label : String, val description: String, val isVisible : StateFlow diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt index afa8f7216..4791157c5 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt @@ -33,6 +33,15 @@ internal interface FormStateCollection : Iterable { * @return the [FormElementState] associated with the formElement, or null if none. */ operator fun get(formElement: FormElement): FormElementState? + + /** + * Provides the bracket operator to the collection. + * + * @param id the unique identifier [FormElementState.id] + * @return the [FormElementState] associated with the id, or null if none. + */ + operator fun get(id: Int): FormElementState? + interface Entry { val formElement: FormElement val state: FormElementState @@ -64,7 +73,8 @@ internal interface MutableFormStateCollection : FormStateCollection { /** * Creates a new [MutableFormStateCollection]. */ -internal fun MutableFormStateCollection(): MutableFormStateCollection = MutableFormStateCollectionImpl() +internal fun MutableFormStateCollection(): MutableFormStateCollection = + MutableFormStateCollectionImpl() /** * Default implementation for a [MutableFormStateCollection]. @@ -84,6 +94,9 @@ private class MutableFormStateCollectionImpl : MutableFormStateCollection { override operator fun get(formElement: FormElement): FormElementState? = entries.firstOrNull { it.formElement == formElement }?.state + override fun get(id: Int): FormElementState? = + entries.firstOrNull { it.formElement.hashCode() == id }?.state + /** * Default implementation for a [FormStateCollection.Entry]. */ diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt index 58afc5d06..886029b8a 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt @@ -47,6 +47,7 @@ internal open class CodedValueFieldProperties( * A class to handle the state of any coded value type. Essential properties are inherited * from the [BaseFieldState]. * + * @param id Unique identifier for the field. * @param properties the [CodedValueFieldProperties] associated with this state. * @param initialValue optional initial value to set for this field. It is set to the value of * [TextFieldProperties.value] by default. @@ -57,12 +58,14 @@ internal open class CodedValueFieldProperties( * called after a successful [updateValue]. */ internal abstract class CodedValueFieldState( + id : Int, properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> ) : BaseFieldState( + id = id, properties = properties, scope = scope, initialValue = initialValue, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt index ed8658b25..12b6c2096 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt @@ -141,7 +141,7 @@ internal fun ComboBoxField( interactionSource.interactions.collect { if (it is PressInteraction.Release) { if (isEditable) { - dialogRequester.requestDialog(DialogType.ComboBoxDialog(state)) + dialogRequester.requestDialog(DialogType.ComboBoxDialog(state.id)) } } } @@ -366,6 +366,7 @@ private fun ComboBoxPreview() { noValueLabel = "No value" ), scope = scope, + id = 1, updateValue = {}, evaluateExpressions = { return@ComboBoxFieldState Result.success(emptyList()) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt index 2dd81ba23..064ada651 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt @@ -32,12 +32,13 @@ import kotlinx.coroutines.launch * A concrete class for use with a [ComboBoxField]. */ internal class ComboBoxFieldState( + id : Int, properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> -) : CodedValueFieldState(properties, initialValue, scope, updateValue, evaluateExpressions) { +) : CodedValueFieldState(id, properties, initialValue, scope, updateValue, evaluateExpressions) { companion object { /** @@ -58,6 +59,7 @@ internal class ComboBoxFieldState( restore = { list -> val input = formElement.input as ComboBoxFormInput ComboBoxFieldState( + id = formElement.hashCode(), properties = CodedValueFieldProperties( label = formElement.label, placeholder = formElement.hint, @@ -95,6 +97,7 @@ internal fun rememberComboBoxFieldState( ) { val input = field.input as ComboBoxFormInput ComboBoxFieldState( + id = field.hashCode(), properties = CodedValueFieldProperties( label = field.label, placeholder = field.hint, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt index 9e53e3a41..58475c4b2 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt @@ -30,12 +30,14 @@ import kotlinx.coroutines.CoroutineScope internal typealias RadioButtonFieldProperties = CodedValueFieldProperties internal class RadioButtonFieldState( + id : Int, properties: RadioButtonFieldProperties, initialValue: Any? = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> ) : CodedValueFieldState( + id, properties = properties, initialValue = initialValue, scope = scope, @@ -73,6 +75,7 @@ internal class RadioButtonFieldState( restore = { list -> val input = formElement.input as RadioButtonsFormInput RadioButtonFieldState( + id = formElement.hashCode(), properties = RadioButtonFieldProperties( label = formElement.label, placeholder = formElement.hint, @@ -108,6 +111,7 @@ internal fun rememberRadioButtonFieldState( ) { val input = field.input as RadioButtonsFormInput RadioButtonFieldState( + id = field.hashCode(), properties = RadioButtonFieldProperties( label = field.label, placeholder = field.hint, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt index 0fddcbf64..0c7ff94f0 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt @@ -80,12 +80,14 @@ internal class SwitchFieldProperties( */ @Stable internal class SwitchFieldState( + id : Int, properties: SwitchFieldProperties, val initialValue: Any? = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> ) : CodedValueFieldState( + id = id, properties = properties, scope = scope, initialValue = initialValue, @@ -123,6 +125,7 @@ internal class SwitchFieldState( restore = { list -> val input = formElement.input as SwitchFormInput SwitchFieldState( + id = formElement.hashCode(), properties = SwitchFieldProperties( label = formElement.label, placeholder = formElement.hint, @@ -167,6 +170,7 @@ internal fun rememberSwitchFieldState( val fallback = initialValue.isEmpty() || (field.value.value != input.onValue.code && field.value.value != input.offValue.code) SwitchFieldState( + id = field.hashCode(), properties = SwitchFieldProperties( label = field.label, placeholder = field.hint, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt index 65e3c2496..19d6d17ec 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt @@ -97,7 +97,7 @@ internal fun DateTimeField( // request to show the date picker dialog only when the touch is released // the dialog is responsible for updating the value on the state if (isEditable) { - dialogRequester.requestDialog(DialogType.DateTimeDialog(state)) + dialogRequester.requestDialog(DialogType.DateTimeDialog(state.id)) } } } @@ -125,6 +125,7 @@ private fun DateTimeFieldPreview() { ), scope = scope, updateValue = {}, + id = 1, evaluateExpressions = { return@DateTimeFieldState Result.success(emptyList()) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt index 60fb0e6a5..466291dde 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt @@ -30,12 +30,10 @@ import com.arcgismaps.toolkit.featureforms.internal.components.base.BaseFieldSta import com.arcgismaps.toolkit.featureforms.internal.components.base.FieldProperties import com.arcgismaps.toolkit.featureforms.internal.components.base.ValidationErrorState import com.arcgismaps.toolkit.featureforms.internal.components.base.mapValidationErrors -import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextFieldState -import com.arcgismaps.toolkit.featureforms.internal.components.text.TextFieldProperties import com.arcgismaps.toolkit.featureforms.internal.components.base.mapValueAsStateFlow +import com.arcgismaps.toolkit.featureforms.internal.components.text.TextFieldProperties import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.launch import java.time.Instant internal class DateTimeFieldProperties( @@ -66,12 +64,14 @@ internal class DateTimeFieldProperties( * called after a successful [updateValue]. */ internal class DateTimeFieldState( + id : Int, properties: DateTimeFieldProperties, initialValue: Instant? = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> ) : BaseFieldState( + id = id, properties = properties, initialValue = initialValue, scope = scope, @@ -98,6 +98,7 @@ internal class DateTimeFieldState( restore = { list -> val input = field.input as DateTimePickerFormInput DateTimeFieldState( + id = field.hashCode(), properties = DateTimeFieldProperties( label = field.label, placeholder = field.hint, @@ -140,6 +141,7 @@ internal fun rememberDateTimeFieldState( ) ) { DateTimeFieldState( + id = field.hashCode(), properties = DateTimeFieldProperties( label = field.label, placeholder = field.hint, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt index bac2577d6..cb4900217 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt @@ -57,6 +57,7 @@ internal class TextFieldProperties( * A class to handle the state of a [FormTextField]. Essential properties are inherited from the * [BaseFieldState]. * + * @param id Unique identifier for the field. * @param properties the [TextFieldProperties] associated with this state. * @param initialValue optional initial value to set for this field. It is set to the value of * [TextFieldProperties.value] by default. @@ -68,12 +69,14 @@ internal class TextFieldProperties( */ @Stable internal class FormTextFieldState( + id : Int, properties: TextFieldProperties, initialValue: String = properties.value.value, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> ) : BaseFieldState( + id = id, properties = properties, initialValue = initialValue, scope = scope, @@ -132,6 +135,7 @@ internal class FormTextFieldState( val maxLength = (formElement.input as? TextBoxFormInput)?.maxLength ?: (formElement.input as TextAreaFormInput).maxLength FormTextFieldState( + id = formElement.hashCode(), properties = TextFieldProperties( label = formElement.label, placeholder = formElement.hint, @@ -172,6 +176,7 @@ internal fun rememberFormTextFieldState( saver = FormTextFieldState.Saver(field, form, scope) ) { FormTextFieldState( + id = field.hashCode(), properties = TextFieldProperties( label = field.label, placeholder = field.hint, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 0da4fd5fd..4f0de85b1 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -23,15 +23,20 @@ import androidx.compose.runtime.Immutable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator import com.arcgismaps.toolkit.featureforms.R -import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.AttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForContentType +import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.CodedValueFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.ComboBoxDialog import com.arcgismaps.toolkit.featureforms.internal.components.datetime.DateTimeFieldState @@ -42,6 +47,7 @@ import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.r import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch import java.time.Instant /** @@ -85,21 +91,37 @@ internal sealed class DialogType { /** * Indicates a [ComboBoxDialog]. * - * @param state The [CodedValueFieldState] to use for the dialog. + * @param stateId The id of the [CodedValueFieldState] that requested the dialog. */ - data class ComboBoxDialog(val state: CodedValueFieldState) : DialogType() + data class ComboBoxDialog(val stateId: Int) : DialogType() /** * Indicates a [DateTimePicker]. * - * @param state The [DateTimeFieldState] to use for the dialog. + * @param stateId The id of the [DateTimeFieldState] that requested the dialog. */ - data class DateTimeDialog(val state: DateTimeFieldState) : DialogType() + data class DateTimeDialog(val stateId : Int) : DialogType() - data class ImageCaptureDialog(val onImage: (Uri) -> Unit) : DialogType() + /** + * Indicates an image capture dialog. + * + * @param stateId The id of the [AttachmentElementState] that requested the dialog. + * @param contentType The content type of the image to capture. + */ + data class ImageCaptureDialog( + val stateId : Int, + val contentType : String + ) : DialogType() + /** + * Indicates an image picker dialog. + * + * @param stateId The id of the [AttachmentElementState] that requested the dialog. + * @param contentType The content type of the image to pick. + */ data class ImagePickerDialog( - val onSelection: (Uri) -> Unit + val stateId: Int, + val contentType : String ) : DialogType() } @@ -107,13 +129,16 @@ internal sealed class DialogType { * Shows the appropriate dialogs as requested by the [LocalDialogRequester]. */ @Composable -internal fun FeatureFormDialog() { +internal fun FeatureFormDialog(states : FormStateCollection) { val focusManager = LocalFocusManager.current val dialogRequester = LocalDialogRequester.current val dialogType by dialogRequester.requestFlow.collectAsState() + val context = LocalContext.current + val scope = rememberCoroutineScope() when (dialogType) { is DialogType.ComboBoxDialog -> { - val state = (dialogType as DialogType.ComboBoxDialog).state + val stateId = (dialogType as DialogType.ComboBoxDialog).stateId + val state = states[stateId]!! as CodedValueFieldState ComboBoxDialog( initialValue = state.value.value.data, values = state.codedValues.associateBy({ it.code }, { it.name }), @@ -135,7 +160,8 @@ internal fun FeatureFormDialog() { } is DialogType.DateTimeDialog -> { - val state = (dialogType as DialogType.DateTimeDialog).state + val stateId = (dialogType as DialogType.DateTimeDialog).stateId + val state = states[stateId]!! as DateTimeFieldState val shouldShowTime = remember { state.shouldShowTime } @@ -169,18 +195,36 @@ internal fun FeatureFormDialog() { } is DialogType.ImageCaptureDialog -> { - val onImage = (dialogType as DialogType.ImageCaptureDialog).onImage - ImageCapture { - onImage(it) - dialogRequester.dismissDialog() + val stateId = (dialogType as DialogType.ImageCaptureDialog).stateId + val contentType = (dialogType as DialogType.ImageCaptureDialog).contentType + val state = states[stateId]!! as AttachmentElementState + ImageCapture { uri -> + scope.launch { + context.readBytes(uri)?.let { data -> + val name = state.attachments.getNewAttachmentNameForContentType( + contentType + ) + state.addAttachment(name, contentType, data) + } + dialogRequester.dismissDialog() + } } } is DialogType.ImagePickerDialog -> { - val onMediaPicked = (dialogType as DialogType.ImagePickerDialog).onSelection - ImagePicker { - onMediaPicked(it) - dialogRequester.dismissDialog() + val stateId = (dialogType as DialogType.ImagePickerDialog).stateId + val contentType = (dialogType as DialogType.ImagePickerDialog).contentType + val state = states[stateId]!! as AttachmentElementState + ImagePicker { uri -> + scope.launch { + context.readBytes(uri)?.let { data -> + val name = state.attachments.getNewAttachmentNameForContentType( + contentType + ) + state.addAttachment(name, contentType, data) + } + dialogRequester.dismissDialog() + } } } @@ -193,6 +237,9 @@ internal fun FeatureFormDialog() { } } +internal fun Context.readBytes(uri: Uri): ByteArray? = + contentResolver.openInputStream(uri)?.use { it.buffered().readBytes() } + /** * Computes the [WindowSizeClass] of the device. */ From 077d702c2aefc90a598496db079bd58e8433fed7 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 9 May 2024 08:23:18 -0700 Subject: [PATCH 25/53] show toast on dispatchers.main --- .../featureformsapp/screens/map/MapScreen.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt index 687b5cb6f..977571e23 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapScreen.kt @@ -86,7 +86,9 @@ import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.SheetValue import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.StandardBottomSheet import com.arcgismaps.toolkit.featureformsapp.screens.bottomsheet.rememberStandardBottomSheetState import com.arcgismaps.toolkit.geoviewcompose.MapView +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -139,11 +141,13 @@ fun MapScreen(mapViewModel: MapViewModel = hiltViewModel(), onBackPressed: () -> scope.launch { mapViewModel.commitEdits().onFailure { Log.w("Forms", "Applying edits failed : ${it.message}") - Toast.makeText( - context, - "Applying edits failed : ${it.message}", - Toast.LENGTH_LONG - ).show() + withContext(Dispatchers.Main) { + Toast.makeText( + context, + "Applying edits failed : ${it.message}", + Toast.LENGTH_LONG + ).show() + } } } }) { From 7c492d4f3208dc23da2eb06058f8873094c6781d Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 13 May 2024 09:29:46 -0700 Subject: [PATCH 26/53] `Forms`: Delete & rename attachments (#417) --- .../attachment/AttachmentElementState.kt | 78 ++++- .../attachment/AttachmentFormElement.kt | 4 +- .../components/attachment/AttachmentTile.kt | 277 ++++++++++++++---- .../featureforms/internal/utils/Dialog.kt | 39 ++- .../src/main/res/values/strings.xml | 4 + 5 files changed, 329 insertions(+), 73 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 258617321..542ae8603 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -48,6 +48,7 @@ import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementS import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch +import java.util.Objects /** * Represents the state of an [AttachmentFormElement] @@ -57,15 +58,15 @@ import kotlinx.coroutines.launch * @param evaluateExpressions A method to evaluates the expressions in the form. */ internal class AttachmentElementState( + id: Int, private val formElement: AttachmentFormElement, private val scope: CoroutineScope, - id : Int, - private val evaluateExpressions : suspend () -> Unit + private val evaluateExpressions: suspend () -> Unit ) : FormElementState( + id = id, label = formElement.label, description = formElement.description, - isVisible = formElement.isVisible, - id = id + isVisible = formElement.isVisible ) { /** * The attachments associated with the form element. @@ -97,7 +98,7 @@ internal class AttachmentElementState( attachments.clear() attachments.addAll( formElement.attachments.map { - FormAttachmentState(it, scope) + FormAttachmentState(this, it, scope) } ) } @@ -111,11 +112,24 @@ internal class AttachmentElementState( // refresh the list of attachments loadAttachments() // load the attachment that was just added - attachments.last().loadAttachment() + attachments.last().load() // scroll to the newly added attachment lazyListState.scrollToItem(attachments.size - 1) } + suspend fun deleteAttachment(formAttachment: FormAttachment) { + formElement.deleteAttachment(formAttachment) + loadAttachments() + } + + suspend fun renameAttachment(name: String, newName: String) { + val formAttachment = formElement.attachments.firstOrNull { it.name == name } ?: return + if (formAttachment.name != newName) { + formElement.renameAttachment(formAttachment, newName) + loadAttachments() + } + } + fun hasCameraPermissions(context: Context): Boolean = ContextCompat.checkSelfPermission( context, Manifest.permission.CAMERA @@ -138,12 +152,17 @@ internal class AttachmentElementState( } }, restore = { savedList -> - AttachmentElementState(attachmentFormElement, scope, attachmentFormElement.hashCode() , evaluateExpressions).also { + AttachmentElementState( + id = attachmentFormElement.hashCode(), + formElement = attachmentFormElement, + scope = scope, + evaluateExpressions = evaluateExpressions + ).also { scope.launch { it.loadAttachments() // load the attachments that were previously loaded savedList.forEach { index -> - it.attachments[index].loadAttachment() + it.attachments[index].load() } } } @@ -165,15 +184,17 @@ internal class AttachmentElementState( internal class FormAttachmentState( val name: String, val size: Long, + val elementStateId: Int, val loadStatus: StateFlow, private val onLoadAttachment: suspend () -> Result, private val onLoadThumbnail: suspend () -> Result, - private val scope: CoroutineScope + val deleteAttachment: suspend () -> Unit, + private val scope: CoroutineScope, ) { private val _thumbnail: MutableState = mutableStateOf(null) /** - * The thumbnail of the attachment. This is `null` until [loadAttachment] is called. + * The thumbnail of the attachment. This is `null` until [load] is called. */ val thumbnail: State = _thumbnail @@ -182,19 +203,27 @@ internal class FormAttachmentState( */ val type: AttachmentType = getAttachmentType(name) - constructor(attachment: FormAttachment, scope: CoroutineScope) : this( + constructor( + element: AttachmentElementState, + attachment: FormAttachment, + scope: CoroutineScope + ) : this( name = attachment.name, size = attachment.size, + elementStateId = element.id, loadStatus = attachment.loadStatus, - onLoadAttachment = attachment::load, + onLoadAttachment = attachment::retryLoad, onLoadThumbnail = attachment::createFullImage, + deleteAttachment = { + element.deleteAttachment(attachment) + }, scope = scope ) /** * Loads the attachment and its thumbnail. */ - fun loadAttachment() { + fun load() { scope.launch { onLoadAttachment().onSuccess { onLoadThumbnail().onSuccess { @@ -205,6 +234,23 @@ internal class FormAttachmentState( } } } + + override fun hashCode(): Int { + return Objects.hash(name, size, type) + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as FormAttachmentState + + if (name != other.name) return false + if (size != other.size) return false + if (type != other.type) return false + + return true + } } @Composable @@ -215,7 +261,11 @@ internal fun rememberAttachmentElementState( val scope = rememberCoroutineScope() return rememberSaveable( inputs = arrayOf(form), - saver = AttachmentElementState.Saver(attachmentFormElement, scope, form::evaluateExpressions) + saver = AttachmentElementState.Saver( + attachmentFormElement, + scope, + form::evaluateExpressions + ) ) { AttachmentElementState( formElement = attachmentFormElement, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 786c46a6c..8af341c9f 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -150,7 +150,7 @@ private fun Carousel(state: LazyListState, attachments: List LoadedView( - thumbnail = thumbnail, - title = state.name - ) + Box(modifier = Modifier) { + when (loadStatus) { + LoadStatus.Loaded -> LoadedView( + thumbnail = thumbnail, + title = state.name + ) - LoadStatus.Loading -> DefaultView( - title = state.name, - size = state.size, - isLoading = true, - isError = false - ) + LoadStatus.Loading -> DefaultView( + title = state.name, + size = state.size, + isLoading = true, + isError = false + ) - LoadStatus.NotLoaded -> DefaultView( - title = state.name, - size = state.size, - isLoading = false, - isError = false - ) + LoadStatus.NotLoaded -> DefaultView( + title = state.name, + size = state.size, + isLoading = false, + isError = false + ) - is LoadStatus.FailedToLoad -> DefaultView( - title = state.name, - size = state.size, - isLoading = false, - isError = true - ) + is LoadStatus.FailedToLoad -> DefaultView( + title = state.name, + size = state.size, + isLoading = false, + isError = true + ) + } + DropdownMenu( + expanded = showContextMenu, + onDismissRequest = { showContextMenu = false } + ) { + DropdownMenuItem( + text = { Text(text = stringResource(R.string.rename)) }, + leadingIcon = { + Icon( + imageVector = Icons.Outlined.EditNote, + contentDescription = null + ) + }, + onClick = { + showContextMenu = false + dialogRequester.requestDialog( + DialogType.RenameAttachmentDialog( + stateId = state.elementStateId, + name = state.name, + ) + ) + }) + DropdownMenuItem( + text = { Text(text = stringResource(R.string.delete)) }, + leadingIcon = { + Icon( + imageVector = Icons.Outlined.Delete, + contentDescription = null + ) + + }, + colors = MenuDefaults.itemColors( + textColor = MaterialTheme.colorScheme.error, + leadingIconColor = MaterialTheme.colorScheme.error + ), + onClick = { + showContextMenu = false + scope.launch { state.deleteAttachment() } + }) + } + } + } + LaunchedEffect(interactionSource) { + var wasALongPress = false + interactionSource.interactions.collectLatest { + when (it) { + is PressInteraction.Press -> { + wasALongPress = false + delay(configuration.longPressTimeoutMillis) + wasALongPress = true + // handle long press + if (loadStatus is LoadStatus.Loaded) { + haptic.performHapticFeedback(HapticFeedbackType.LongPress) + showContextMenu = true + } + } + + is PressInteraction.Release -> { + if (!wasALongPress) { + haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove) + // handle single tap + if (loadStatus is LoadStatus.NotLoaded || loadStatus is LoadStatus.FailedToLoad) { + // load attachment + state.load() + } else if (loadStatus is LoadStatus.Loaded) { + // open attachment + } + } + } + } } } } @@ -157,8 +246,8 @@ private fun LoadedView( imageVector = attachmentType.getIcon(), contentDescription = null, modifier = Modifier - .fillMaxSize() .padding(top = 10.dp, bottom = 25.dp) + .fillMaxSize(0.8f) .align(Alignment.Center) ) } @@ -273,3 +362,85 @@ private fun Size( .padding(horizontal = 1.dp) ) } + +@Composable +internal fun RenameAttachmentDialog( + name: String, + onRename: (String) -> Unit, + onDismissRequest: () -> Unit +) { + val groups = rememberSaveable(name) { name.split("\\.(?=[^\\\\.]+\$)".toRegex()) } + var filename by rememberSaveable(groups) { mutableStateOf(groups.first()) } + val extension = rememberSaveable(groups) { if (groups.count() == 2) groups.last() else "" } + val focusRequester = remember { FocusRequester() } + Dialog( + onDismissRequest = onDismissRequest, + properties = DialogProperties(usePlatformDefaultWidth = true), + content = { + Surface( + modifier = Modifier.wrapContentSize(), + shape = RoundedCornerShape(5.dp) + ) { + Column( + modifier = Modifier.padding(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Text( + text = stringResource(R.string.rename_attachment), + fontSize = 18.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(25.dp)) + TextField( + value = TextFieldValue( + text = filename, + selection = TextRange(filename.length) + ), + onValueChange = { value -> filename = value.text }, + modifier = Modifier + .fillMaxWidth() + .focusRequester(focusRequester) + .onGloballyPositioned { + focusRequester.requestFocus() + }, + label = { Text(stringResource(R.string.name)) }, + suffix = { + Text(text = ".$extension") + }, + singleLine = true, + keyboardOptions = KeyboardOptions.Default.copy( + imeAction = ImeAction.Done, + ) + ) + Spacer(modifier = Modifier.height(25.dp)) + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceEvenly, + verticalAlignment = Alignment.CenterVertically + ) { + Button(onClick = onDismissRequest) { + Text(text = stringResource(id = R.string.cancel)) + } + Button( + onClick = { onRename("$filename.$extension") }, + enabled = filename.isNotEmpty() + ) { + Text(text = stringResource(id = R.string.rename)) + } + } + } + } + } + ) +} + +@Preview +@Composable +private fun RenameAttachmentDialogPreview() { + RenameAttachmentDialog( + name = "Photo 1.jpg", + onRename = {}, + onDismissRequest = {} + ) +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 4f0de85b1..5bcc832ba 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -35,6 +35,7 @@ import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.components.attachment.AttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.RenameAttachmentDialog import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForContentType import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.CodedValueFieldState @@ -100,7 +101,7 @@ internal sealed class DialogType { * * @param stateId The id of the [DateTimeFieldState] that requested the dialog. */ - data class DateTimeDialog(val stateId : Int) : DialogType() + data class DateTimeDialog(val stateId: Int) : DialogType() /** * Indicates an image capture dialog. @@ -109,8 +110,8 @@ internal sealed class DialogType { * @param contentType The content type of the image to capture. */ data class ImageCaptureDialog( - val stateId : Int, - val contentType : String + val stateId: Int, + val contentType: String ) : DialogType() /** @@ -121,7 +122,18 @@ internal sealed class DialogType { */ data class ImagePickerDialog( val stateId: Int, - val contentType : String + val contentType: String + ) : DialogType() + + /** + * Indicates a dialog to rename an attachment. + * + * @param stateId The id of the [AttachmentElementState] that requested the dialog. + * @param name The current name of the attachment. + */ + data class RenameAttachmentDialog( + val stateId: Int, + val name: String, ) : DialogType() } @@ -129,7 +141,7 @@ internal sealed class DialogType { * Shows the appropriate dialogs as requested by the [LocalDialogRequester]. */ @Composable -internal fun FeatureFormDialog(states : FormStateCollection) { +internal fun FeatureFormDialog(states: FormStateCollection) { val focusManager = LocalFocusManager.current val dialogRequester = LocalDialogRequester.current val dialogType by dialogRequester.requestFlow.collectAsState() @@ -228,6 +240,23 @@ internal fun FeatureFormDialog(states : FormStateCollection) { } } + is DialogType.RenameAttachmentDialog -> { + val stateId = (dialogType as DialogType.RenameAttachmentDialog).stateId + val name = (dialogType as DialogType.RenameAttachmentDialog).name + val state = states[stateId]!! as AttachmentElementState + RenameAttachmentDialog( + name = name, + onRename = { newName -> + scope.launch { + state.renameAttachment(name, newName) + dialogRequester.dismissDialog() + } + } + ) { + dialogRequester.dismissDialog() + } + } + else -> { // clear focus from the originating tapped field if (dialogType == null) { diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index c21c8825b..19afcdb0e 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -91,4 +91,8 @@ PM Take Photo Add Photo + Rename + Delete + Rename Attachment + Name From 5e08263f02fcaf605ba6b9473eff2eba61d92ada Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 16 May 2024 11:12:53 -0700 Subject: [PATCH 27/53] `Forms` : View Attachments (#422) --- .../featureforms/src/main/AndroidManifest.xml | 6 +- .../attachment/AttachmentElementState.kt | 182 ++++++++++++++---- .../attachment/AttachmentFormElement.kt | 37 +--- .../components/attachment/AttachmentTile.kt | 18 +- .../utils/AttachmentCaptureFileProvider.kt | 43 ----- .../internal/utils/AttachmentsFileProvider.kt | 53 +++++ ...ents.xml => feature_forms_attachments.xml} | 2 +- 7 files changed, 219 insertions(+), 122 deletions(-) delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt create mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt rename toolkit/featureforms/src/main/res/xml/{feature_forms_captured_attachments.xml => feature_forms_attachments.xml} (93%) diff --git a/toolkit/featureforms/src/main/AndroidManifest.xml b/toolkit/featureforms/src/main/AndroidManifest.xml index eb3a2c57f..24fc9f67a 100644 --- a/toolkit/featureforms/src/main/AndroidManifest.xml +++ b/toolkit/featureforms/src/main/AndroidManifest.xml @@ -20,13 +20,13 @@ + android:resource="@xml/feature_forms_attachments" /> diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 542ae8603..4ea52efb3 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -19,7 +19,6 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment import android.Manifest import android.content.Context import android.content.pm.PackageManager -import android.graphics.drawable.BitmapDrawable import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AudioFile @@ -39,15 +38,24 @@ import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus +import com.arcgismaps.Loadable import com.arcgismaps.mapping.featureforms.AttachmentFormElement import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState +import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider +import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.io.File +import java.io.FileOutputStream import java.util.Objects /** @@ -61,7 +69,8 @@ internal class AttachmentElementState( id: Int, private val formElement: AttachmentFormElement, private val scope: CoroutineScope, - private val evaluateExpressions: suspend () -> Unit + private val evaluateExpressions: suspend () -> Unit, + private val filesDir: String ) : FormElementState( id = id, label = formElement.label, @@ -98,7 +107,16 @@ internal class AttachmentElementState( attachments.clear() attachments.addAll( formElement.attachments.map { - FormAttachmentState(this, it, scope) + FormAttachmentState( + name = it.name, + size = it.size, + contentType = it.contentType, + elementStateId = id, + deleteAttachment = { deleteAttachment(it) }, + filesDir = filesDir, + scope = scope, + formAttachment = it + ) } ) } @@ -112,14 +130,15 @@ internal class AttachmentElementState( // refresh the list of attachments loadAttachments() // load the attachment that was just added - attachments.last().load() + attachments.last().loadWithParentScope() // scroll to the newly added attachment lazyListState.scrollToItem(attachments.size - 1) } - suspend fun deleteAttachment(formAttachment: FormAttachment) { + private suspend fun deleteAttachment(formAttachment: FormAttachment) { formElement.deleteAttachment(formAttachment) - loadAttachments() + val state = attachments.find { it.name == formAttachment.name } ?: return + attachments.remove(state) } suspend fun renameAttachment(name: String, newName: String) { @@ -139,7 +158,8 @@ internal class AttachmentElementState( fun Saver( attachmentFormElement: AttachmentFormElement, scope: CoroutineScope, - evaluateExpressions: suspend () -> Unit + evaluateExpressions: suspend () -> Unit, + filesDir: String ): Saver = listSaver( save = { // save the list of indices of attachments that have been loaded @@ -149,6 +169,9 @@ internal class AttachmentElementState( add(i) } } + // save the index of the first visible item + add(it.lazyListState.firstVisibleItemIndex) + add(it.lazyListState.firstVisibleItemScrollOffset) } }, restore = { savedList -> @@ -156,13 +179,23 @@ internal class AttachmentElementState( id = attachmentFormElement.hashCode(), formElement = attachmentFormElement, scope = scope, - evaluateExpressions = evaluateExpressions + evaluateExpressions = evaluateExpressions, + filesDir = filesDir ).also { scope.launch { it.loadAttachments() // load the attachments that were previously loaded - savedList.forEach { index -> - it.attachments[index].load() + for (i in savedList.dropLast(2)) { + it.attachments[i].loadWithParentScope() + } + if (savedList.count() > 1) { + // scroll to the last visible item + val firstVisibleItemIndex = savedList[savedList.count() - 2] + val firstVisibleItemScrollOffset = savedList[savedList.count() - 1] + it.lazyListState.scrollToItem( + firstVisibleItemIndex, + firstVisibleItemScrollOffset + ) } } } @@ -176,21 +209,23 @@ internal class AttachmentElementState( * * @param name The name of the attachment. * @param size The size of the attachment. - * @param loadStatus The load status of the attachment. - * @param onLoadAttachment A function that loads the attachment. - * @param onLoadThumbnail A function that loads the thumbnail of the attachment. + * @param contentType The content type of the attachment. + * @param elementStateId The ID of the [AttachmentElementState] that created this attachment. + * @param deleteAttachment A function to delete the attachment. + * @param filesDir The directory where the attachments are stored. * @param scope The coroutine scope used to launch coroutines. + * @param formAttachment The [FormAttachment] that this state represents. */ internal class FormAttachmentState( val name: String, val size: Long, + val contentType: String, val elementStateId: Int, - val loadStatus: StateFlow, - private val onLoadAttachment: suspend () -> Result, - private val onLoadThumbnail: suspend () -> Result, val deleteAttachment: suspend () -> Unit, + private val filesDir: String, private val scope: CoroutineScope, -) { + private val formAttachment: FormAttachment? = null +) : Loadable { private val _thumbnail: MutableState = mutableStateOf(null) /** @@ -203,36 +238,96 @@ internal class FormAttachmentState( */ val type: AttachmentType = getAttachmentType(name) - constructor( - element: AttachmentElementState, - attachment: FormAttachment, - scope: CoroutineScope - ) : this( - name = attachment.name, - size = attachment.size, - elementStateId = element.id, - loadStatus = attachment.loadStatus, - onLoadAttachment = attachment::retryLoad, - onLoadThumbnail = attachment::createFullImage, - deleteAttachment = { - element.deleteAttachment(attachment) - }, - scope = scope - ) + private val _loadStatus: MutableStateFlow = MutableStateFlow(LoadStatus.NotLoaded) + override val loadStatus = _loadStatus.asStateFlow() + + /** + * The file path of the attachment on disk. This is empty until [load] is called. + */ + var filePath: String = "" + private set /** - * Loads the attachment and its thumbnail. + * The directory where the attachments are stored as defined in the [AttachmentsFileProvider]. */ - fun load() { + private val attachmentsDir = "feature_forms_attachments" + + /** + * Loads the attachment and its thumbnail in the coroutine scope of the state object that + * created this attachment. Usually, this is the [AttachmentElementState] that created this + * within the CoroutineScope of the root Feature Form composable. + */ + fun loadWithParentScope() { scope.launch { - onLoadAttachment().onSuccess { - onLoadThumbnail().onSuccess { - if (it != null) { - _thumbnail.value = it.bitmap.asImageBitmap() + load() + } + } + + /** + * Loads the attachment and its thumbnail. Use [loadWithParentScope] to load the attachment as + * a long-running task. This coroutine will get cancelled if the calling composable is removed + * from the composition. + */ + override suspend fun load(): Result { + _loadStatus.value = LoadStatus.Loading + var result = Result.success(Unit) + try { + if (formAttachment == null) { + result = Result.failure(Exception("Form attachment is null")) + } else { + formAttachment.retryLoad().onFailure { + result = Result.failure(it) + }.onSuccess { + val data = formAttachment.attachment?.fetchData()?.getOrNull() + if (data != null) { + formAttachment.createFullImage().onSuccess { + _thumbnail.value = it.bitmap.asImageBitmap() + } + // write the data to disk only if the file does not exist + if (!File(filePath).exists()) { + writeDataToDisk(data) + } + } else { + result = Result.failure(Exception("Failed to load attachment data")) } } } + } catch (ex: CancellationException) { + result = Result.failure(ex) + throw ex + } catch (ex : Exception) { + result = Result.failure(ex) + } + finally { + if (result.isSuccess) { + _loadStatus.value = LoadStatus.Loaded + } else { + val error = result.exceptionOrNull() ?: Exception("Failed to load attachment") + _loadStatus.value = LoadStatus.FailedToLoad(error) + } + } + return result + } + + override fun cancelLoad() { + formAttachment?.cancelLoad() + } + + override suspend fun retryLoad(): Result { + return formAttachment?.retryLoad() + ?: return Result.failure(Exception("Form attachment is null")) + } + + private suspend fun writeDataToDisk(data: ByteArray) = withContext(Dispatchers.IO) { + val directory = File(filesDir, attachmentsDir) + directory.mkdirs() + // write the data to disk + val file = File(directory, name) + file.createNewFile() + FileOutputStream(file).use { + it.write(data) } + filePath = file.absolutePath } override fun hashCode(): Int { @@ -259,19 +354,22 @@ internal fun rememberAttachmentElementState( attachmentFormElement: AttachmentFormElement ): AttachmentElementState { val scope = rememberCoroutineScope() + val context = LocalContext.current return rememberSaveable( inputs = arrayOf(form), saver = AttachmentElementState.Saver( attachmentFormElement, scope, - form::evaluateExpressions + form::evaluateExpressions, + context.cacheDir.absolutePath ) ) { AttachmentElementState( formElement = attachmentFormElement, scope = scope, id = attachmentFormElement.hashCode(), - evaluateExpressions = form::evaluateExpressions + evaluateExpressions = form::evaluateExpressions, + filesDir = context.cacheDir.absolutePath ) } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 8af341c9f..c3062d066 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -16,7 +16,6 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment -import android.content.Context import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -64,16 +63,12 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp -import com.arcgismaps.LoadStatus import com.arcgismaps.toolkit.featureforms.R -import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentCaptureFileProvider +import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType import com.arcgismaps.toolkit.featureforms.internal.utils.LocalDialogRequester -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch -import java.io.File import java.time.Instant @Composable @@ -81,7 +76,6 @@ internal fun AttachmentFormElement( state: AttachmentElementState, modifier: Modifier = Modifier ) { - val scope = rememberCoroutineScope() val context = LocalContext.current val editable by state.isEditable.collectAsState() AttachmentFormElement( @@ -92,11 +86,6 @@ internal fun AttachmentFormElement( attachments = state.attachments, lazyListState = state.lazyListState, hasCameraPermission = state.hasCameraPermissions(context), - onAttachmentAdded = { name, contentType, data -> - scope.launch { - state.addAttachment(name, contentType, data) - } - }, modifier = modifier ) } @@ -110,12 +99,9 @@ internal fun AttachmentFormElement( attachments: List, lazyListState: LazyListState, hasCameraPermission: Boolean, - onAttachmentAdded: suspend (String, String, ByteArray) -> Unit, modifier: Modifier = Modifier, colors: AttachmentElementColors = AttachmentElementDefaults.colors() ) { - val context = LocalContext.current - val scope = rememberCoroutineScope() Card( modifier = modifier, shape = AttachmentElementDefaults.containerShape, @@ -288,8 +274,8 @@ internal fun ImageCapture(onImageCaptured: (Uri) -> Unit) { restore = { Uri.parse(it.first()) } ) ) { - val file = context.createTempImageFile() - AttachmentCaptureFileProvider.getImageUri(file, context) + val timeStamp = Instant.now().toEpochMilli() + AttachmentsFileProvider.createTempFileWithUri("IMAGE_$timeStamp", ".jpg", context) } val cameraLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.TakePicture(), @@ -336,17 +322,6 @@ internal fun List.getNewAttachmentNameForContentType( return "$attachmentType $count.$ext" } -internal fun Context.createTempImageFile(): File { - val timeStamp = Instant.now().toEpochMilli() - val dir = File(cacheDir, "feature_forms_attachments") - dir.mkdirs() - return File.createTempFile( - "IMAGE_$timeStamp", - ".jpg", - dir, - ) -} - private sealed class PickerStyle { data object File : PickerStyle() data object Camera : PickerStyle() @@ -365,16 +340,14 @@ private fun AttachmentFormElementPreview() { FormAttachmentState( "Photo 1.jpg", 2024, + "image/jpeg", 1, - MutableStateFlow(LoadStatus.Loaded), - { Result.success(Unit) }, - { Result.success(null) }, {}, + "", scope = rememberCoroutineScope() ) ), lazyListState = LazyListState(), hasCameraPermission = true, - onAttachmentAdded = { _, _, _ -> } ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 295cd807d..40d38f05d 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -16,6 +16,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment +import android.content.Intent import android.text.format.Formatter import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image @@ -90,11 +91,13 @@ import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import com.arcgismaps.LoadStatus import com.arcgismaps.toolkit.featureforms.R +import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType import com.arcgismaps.toolkit.featureforms.internal.utils.LocalDialogRequester import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch +import java.io.File @Composable internal fun AttachmentTile( @@ -108,6 +111,7 @@ internal fun AttachmentTile( var showContextMenu by remember { mutableStateOf(false) } val dialogRequester = LocalDialogRequester.current val scope = rememberCoroutineScope() + val context = LocalContext.current Surface( onClick = {}, modifier = Modifier @@ -210,9 +214,21 @@ internal fun AttachmentTile( // handle single tap if (loadStatus is LoadStatus.NotLoaded || loadStatus is LoadStatus.FailedToLoad) { // load attachment - state.load() + state.loadWithParentScope() } else if (loadStatus is LoadStatus.Loaded) { // open attachment + val intent = Intent() + intent.setAction(Intent.ACTION_VIEW) + val uri = AttachmentsFileProvider.getUriForFile( + context = context, + file = File(state.filePath) + ) + intent.setDataAndType( + uri, + state.contentType + ) + intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + context.startActivity(intent) } } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt deleted file mode 100644 index 42b592948..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentCaptureFileProvider.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2024 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.utils - -import android.content.Context -import android.net.Uri -import androidx.core.content.FileProvider -import com.arcgismaps.toolkit.featureforms.R -import java.io.File - -internal class AttachmentCaptureFileProvider : - FileProvider(R.xml.feature_forms_captured_attachments) { - companion object { - private const val AUTHORITY = "com.arcgismaps.toolkit.featureforms.capturefileprovider" - - fun getImageUri(file: File, context: Context): Uri { - val directory = File(context.cacheDir, "feature_forms_attachments") - directory.mkdirs() - // The authority string must be unique per device. Therefore use of this provider with two - // installations of the featureforms dependency on one device will crash. - // The solution is to release a standalone file provider aidl service which both instances can use. - return getUriForFile( - context, - AUTHORITY, - file, - ) - } - } -} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt new file mode 100644 index 000000000..4ab2026c8 --- /dev/null +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt @@ -0,0 +1,53 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms.internal.utils + +import android.content.Context +import android.net.Uri +import androidx.core.content.FileProvider +import com.arcgismaps.toolkit.featureforms.R +import java.io.File + +internal class AttachmentsFileProvider : + FileProvider(R.xml.feature_forms_attachments) { + companion object { + + private const val AUTHORITY_BASE = "com.arcgismaps.toolkit.featureforms.attachmentsfileprovider" + private const val FILE_PROVIDER_PATH = "feature_forms_attachments" + + fun createTempFileWithUri(prefix: String, suffix: String, context: Context): Uri { + // authority is unique, which uses the package name + base authority name + // to avoid conflicts with other apps using the same library + val authority = "${context.packageName}.$AUTHORITY_BASE" + val directory = File(context.cacheDir, FILE_PROVIDER_PATH) + directory.mkdirs() + val file = File.createTempFile(prefix, suffix, directory) + return getUriForFile( + context, + authority, + file, + ) + } + + fun getUriForFile(file: File, context: Context): Uri { + // authority is unique, which uses the package name + base authority name + // to avoid conflicts with other apps using the same library + val authority = "${context.packageName}.$AUTHORITY_BASE" + return getUriForFile(context, authority, file) + } + } +} diff --git a/toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml b/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml similarity index 93% rename from toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml rename to toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml index a87b5ada1..9853b2ac2 100644 --- a/toolkit/featureforms/src/main/res/xml/feature_forms_captured_attachments.xml +++ b/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml @@ -18,6 +18,6 @@ --> From cb031b982258288cdfa4938367f7140ecbc7cdd2 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 16 May 2024 14:02:10 -0700 Subject: [PATCH 28/53] `Forms` : Add attachment fixes (#425) --- .../attachment/AttachmentElementState.kt | 94 +++++++++++++------ .../attachment/AttachmentFormElement.kt | 41 ++++---- .../featureforms/internal/utils/Dialog.kt | 46 ++++++--- 3 files changed, 111 insertions(+), 70 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 4ea52efb3..3d1965c71 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -29,12 +29,13 @@ import androidx.compose.material.icons.outlined.VideoCameraBack import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.State +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.Saver import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.compose.runtime.setValue import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.vector.ImageVector @@ -50,6 +51,7 @@ import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvide import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch @@ -80,7 +82,7 @@ internal class AttachmentElementState( /** * The attachments associated with the form element. */ - val attachments = SnapshotStateList() + var attachments by mutableStateOf(emptyMap()) /** * Indicates whether the attachment form element is editable. @@ -104,21 +106,30 @@ internal class AttachmentElementState( */ private suspend fun loadAttachments() { formElement.fetchAttachments() - attachments.clear() - attachments.addAll( - formElement.attachments.map { - FormAttachmentState( - name = it.name, - size = it.size, - contentType = it.contentType, - elementStateId = id, - deleteAttachment = { deleteAttachment(it) }, - filesDir = filesDir, - scope = scope, - formAttachment = it - ) + attachments = buildMap { + formElement.attachments.forEach { formAttachment -> + val state = attachments[formAttachment.hashCode()] + if (state == null) { + // if does not exist then create a new state + FormAttachmentState( + name = formAttachment.name, + size = formAttachment.size, + contentType = formAttachment.contentType, + elementStateId = id, + deleteAttachment = { deleteAttachment(formAttachment) }, + filesDir = filesDir, + scope = scope, + formAttachment = formAttachment + ).also { newState -> + put(formAttachment.hashCode(), newState) + } + } else { + // update the current state + state.update(formAttachment) + put(formAttachment.hashCode(), state) + } } - ) + } } /** @@ -129,16 +140,16 @@ internal class AttachmentElementState( evaluateExpressions() // refresh the list of attachments loadAttachments() - // load the attachment that was just added - attachments.last().loadWithParentScope() - // scroll to the newly added attachment - lazyListState.scrollToItem(attachments.size - 1) + // load the new attachment + attachments.entries.last().value.loadWithParentScope() + // scroll to the new attachment after a delay to allow the recomposition to complete + delay(100) + lazyListState.scrollToItem(attachments.count()) } private suspend fun deleteAttachment(formAttachment: FormAttachment) { formElement.deleteAttachment(formAttachment) - val state = attachments.find { it.name == formAttachment.name } ?: return - attachments.remove(state) + attachments = attachments.filter { it.key != formAttachment.hashCode() } } suspend fun renameAttachment(name: String, newName: String) { @@ -162,11 +173,11 @@ internal class AttachmentElementState( filesDir: String ): Saver = listSaver( save = { - // save the list of indices of attachments that have been loaded buildList { - for (i in it.attachments.indices) { - if (it.attachments[i].loadStatus.value is LoadStatus.Loaded) { - add(i) + // save the keys of attachments that have been loaded + it.attachments.forEach { entry -> + if (entry.value.loadStatus.value is LoadStatus.Loaded) { + add(entry.key) } } // save the index of the first visible item @@ -186,7 +197,7 @@ internal class AttachmentElementState( it.loadAttachments() // load the attachments that were previously loaded for (i in savedList.dropLast(2)) { - it.attachments[i].loadWithParentScope() + it.attachments[i]?.loadWithParentScope() } if (savedList.count() > 1) { // scroll to the last visible item @@ -217,7 +228,7 @@ internal class AttachmentElementState( * @param formAttachment The [FormAttachment] that this state represents. */ internal class FormAttachmentState( - val name: String, + name: String, val size: Long, val contentType: String, val elementStateId: Int, @@ -226,6 +237,10 @@ internal class FormAttachmentState( private val scope: CoroutineScope, private val formAttachment: FormAttachment? = null ) : Loadable { + + var name by mutableStateOf(name) + private set + private val _thumbnail: MutableState = mutableStateOf(null) /** @@ -263,6 +278,13 @@ internal class FormAttachmentState( } } + /** + * Updates the attachment with the given [formAttachment]. + */ + fun update(formAttachment: FormAttachment) { + name = formAttachment.name + } + /** * Loads the attachment and its thumbnail. Use [loadWithParentScope] to load the attachment as * a long-running task. This coroutine will get cancelled if the calling composable is removed @@ -295,10 +317,9 @@ internal class FormAttachmentState( } catch (ex: CancellationException) { result = Result.failure(ex) throw ex - } catch (ex : Exception) { + } catch (ex: Exception) { result = Result.failure(ex) - } - finally { + } finally { if (result.isSuccess) { _loadStatus.value = LoadStatus.Loaded } else { @@ -401,3 +422,14 @@ internal fun AttachmentType.getIcon(): ImageVector = when (this) { AttachmentType.Document -> Icons.Outlined.FilePresent AttachmentType.Other -> Icons.Outlined.FileCopy } + +internal fun Map.getNewAttachmentNameForImageType(): String { + val count = this.count { entry -> + entry.value.contentType.isContentTypeImage() + } + return "Image $count.jpg" +} + +internal fun String.isContentTypeImage(): Boolean { + return this.startsWith("image/") +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index c3062d066..edecbdc77 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -32,7 +32,6 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.LazyRow -import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Add import androidx.compose.material.icons.rounded.Photo @@ -96,7 +95,7 @@ internal fun AttachmentFormElement( description: String, editable: Boolean, stateId: Int, - attachments: List, + attachments: Map, lazyListState: LazyListState, hasCameraPermission: Boolean, modifier: Modifier = Modifier, @@ -131,13 +130,15 @@ internal fun AttachmentFormElement( } @Composable -private fun Carousel(state: LazyListState, attachments: List) { +private fun Carousel(state: LazyListState, attachments: Map) { LazyRow( state = state, horizontalArrangement = Arrangement.spacedBy(15.dp), ) { - items(attachments, key = { it.hashCode() }) { - AttachmentTile(it) + attachments.entries.forEach { entry -> + item(key = entry.key) { + AttachmentTile(entry.value) + } } } } @@ -311,17 +312,6 @@ internal fun ImagePicker(onImageSelected: (Uri) -> Unit) { } } -internal fun List.getNewAttachmentNameForContentType( - contentType: String -): String { - val (attachmentType: AttachmentType, ext: String) = when (contentType) { - "image/jpeg" -> Pair(AttachmentType.Image, "jpg") - else -> Pair(AttachmentType.Other, "") - } - val count = this.count { it.type == attachmentType } - return "$attachmentType $count.$ext" -} - private sealed class PickerStyle { data object File : PickerStyle() data object Camera : PickerStyle() @@ -336,15 +326,18 @@ private fun AttachmentFormElementPreview() { description = "Add attachments", editable = true, stateId = 1, - attachments = listOf( - FormAttachmentState( - "Photo 1.jpg", - 2024, - "image/jpeg", + attachments = mapOf( + Pair( 1, - {}, - "", - scope = rememberCoroutineScope() + FormAttachmentState( + "Photo 1.jpg", + 2024, + "image/jpeg", + 1, + {}, + "", + scope = rememberCoroutineScope() + ) ) ), lazyListState = LazyListState(), diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 5bcc832ba..ca96262f6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -36,7 +36,7 @@ import com.arcgismaps.toolkit.featureforms.internal.components.attachment.Attach import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker import com.arcgismaps.toolkit.featureforms.internal.components.attachment.RenameAttachmentDialog -import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForContentType +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForImageType import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.CodedValueFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.ComboBoxDialog @@ -150,7 +150,11 @@ internal fun FeatureFormDialog(states: FormStateCollection) { when (dialogType) { is DialogType.ComboBoxDialog -> { val stateId = (dialogType as DialogType.ComboBoxDialog).stateId - val state = states[stateId]!! as CodedValueFieldState + val state = states[stateId] as? CodedValueFieldState + if (state == null) { + dialogRequester.dismissDialog() + return + } ComboBoxDialog( initialValue = state.value.value.data, values = state.codedValues.associateBy({ it.code }, { it.name }), @@ -173,7 +177,11 @@ internal fun FeatureFormDialog(states: FormStateCollection) { is DialogType.DateTimeDialog -> { val stateId = (dialogType as DialogType.DateTimeDialog).stateId - val state = states[stateId]!! as DateTimeFieldState + val state = states[stateId] as? DateTimeFieldState + if (state == null) { + dialogRequester.dismissDialog() + return + } val shouldShowTime = remember { state.shouldShowTime } @@ -209,48 +217,56 @@ internal fun FeatureFormDialog(states: FormStateCollection) { is DialogType.ImageCaptureDialog -> { val stateId = (dialogType as DialogType.ImageCaptureDialog).stateId val contentType = (dialogType as DialogType.ImageCaptureDialog).contentType - val state = states[stateId]!! as AttachmentElementState + val state = states[stateId] as? AttachmentElementState + if (state == null) { + dialogRequester.dismissDialog() + return + } ImageCapture { uri -> scope.launch { context.readBytes(uri)?.let { data -> - val name = state.attachments.getNewAttachmentNameForContentType( - contentType - ) + val name = state.attachments.getNewAttachmentNameForImageType() state.addAttachment(name, contentType, data) } - dialogRequester.dismissDialog() } + dialogRequester.dismissDialog() } } is DialogType.ImagePickerDialog -> { val stateId = (dialogType as DialogType.ImagePickerDialog).stateId val contentType = (dialogType as DialogType.ImagePickerDialog).contentType - val state = states[stateId]!! as AttachmentElementState + val state = states[stateId] as? AttachmentElementState + if (state == null) { + dialogRequester.dismissDialog() + return + } ImagePicker { uri -> scope.launch { context.readBytes(uri)?.let { data -> - val name = state.attachments.getNewAttachmentNameForContentType( - contentType - ) + val name = state.attachments.getNewAttachmentNameForImageType() state.addAttachment(name, contentType, data) } - dialogRequester.dismissDialog() } + dialogRequester.dismissDialog() } } is DialogType.RenameAttachmentDialog -> { val stateId = (dialogType as DialogType.RenameAttachmentDialog).stateId val name = (dialogType as DialogType.RenameAttachmentDialog).name - val state = states[stateId]!! as AttachmentElementState + val state = states[stateId] as? AttachmentElementState + if (state == null) { + dialogRequester.dismissDialog() + return + } RenameAttachmentDialog( name = name, onRename = { newName -> scope.launch { state.renameAttachment(name, newName) - dialogRequester.dismissDialog() } + dialogRequester.dismissDialog() } ) { dialogRequester.dismissDialog() From 368be1afd23a3cf386f33fd42d419ecbdc2d8424 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 22 May 2024 16:21:18 -0700 Subject: [PATCH 29/53] `Forms` Consume new attachments api (#434) --- gradle.properties | 2 +- .../toolkit/featureforms/FeatureForm.kt | 6 +- .../attachment/AttachmentElementState.kt | 244 ++++++++++-------- .../attachment/AttachmentFormElement.kt | 34 +-- .../components/attachment/AttachmentTile.kt | 36 +-- .../featureforms/internal/utils/Dialog.kt | 5 +- 6 files changed, 179 insertions(+), 148 deletions(-) diff --git a/gradle.properties b/gradle.properties index 49d3649bd..f4eaae5d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4220 +sdkBuildNumber=4244 diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index d7da3939b..cb8bed11c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -50,7 +50,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import com.arcgismaps.mapping.featureforms.AttachmentFormElement +import com.arcgismaps.mapping.featureforms.AttachmentsFormElement import com.arcgismaps.mapping.featureforms.ComboBoxFormInput import com.arcgismaps.mapping.featureforms.DateTimePickerFormInput import com.arcgismaps.mapping.featureforms.FeatureForm @@ -261,7 +261,7 @@ private fun FeatureFormBody( ) } - is AttachmentFormElement -> { + is AttachmentsFormElement -> { AttachmentFormElement( state = entry.getState(), Modifier @@ -352,7 +352,7 @@ internal fun rememberStates( states.add(element, groupState) } - is AttachmentFormElement -> { + is AttachmentsFormElement -> { val state = rememberAttachmentElementState(form, element) states.add(element, state) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 3d1965c71..313485a97 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -28,8 +28,10 @@ import androidx.compose.material.icons.outlined.Image import androidx.compose.material.icons.outlined.VideoCameraBack import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState +import androidx.compose.runtime.Stable import androidx.compose.runtime.State import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.Saver @@ -43,9 +45,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus import com.arcgismaps.Loadable -import com.arcgismaps.mapping.featureforms.AttachmentFormElement +import com.arcgismaps.mapping.featureforms.AttachmentChangeType +import com.arcgismaps.mapping.featureforms.AttachmentsFormElement import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FormAttachment +import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import kotlinx.coroutines.CancellationException @@ -67,9 +71,10 @@ import java.util.Objects * @param scope The coroutine scope used to launch coroutines. * @param evaluateExpressions A method to evaluates the expressions in the form. */ +@Stable internal class AttachmentElementState( id: Int, - private val formElement: AttachmentFormElement, + private val formElement: AttachmentsFormElement, private val scope: CoroutineScope, private val evaluateExpressions: suspend () -> Unit, private val filesDir: String @@ -82,7 +87,7 @@ internal class AttachmentElementState( /** * The attachments associated with the form element. */ - var attachments by mutableStateOf(emptyMap()) + var attachments = mutableStateListOf() /** * Indicates whether the attachment form element is editable. @@ -94,41 +99,88 @@ internal class AttachmentElementState( */ val lazyListState = LazyListState() + /** + * The input type of the attachment form element. + */ + val input = formElement.input + init { scope.launch { - loadAttachments() + formElement.fetchAttachments().onSuccess { + // build a state list of attachments + buildAttachmentStates(formElement.attachments) + } + } + scope.launch { + formElement.attachmentChanged.collect { + when (it.changeType) { + is AttachmentChangeType.Deletion -> { + // delete the state object + attachments.removeIf { state -> + state.formAttachment == it.attachment + } + } + + is AttachmentChangeType.Rename -> { + // update the state object + attachments.firstOrNull { state -> + state.formAttachment == it.attachment + }?.update(it.attachment) + } + + is AttachmentChangeType.Addition -> { + val formAttachment = it.attachment + // create a new state + val state = FormAttachmentState( + name = formAttachment.name, + size = formAttachment.size, + contentType = formAttachment.contentType, + type = formAttachment.type, + elementStateId = id, + deleteAttachment = { deleteAttachment(formAttachment) }, + filesDir = filesDir, + scope = scope, + formAttachment = formAttachment + ) + attachments.add(state) + // load the new attachment + state.loadWithParentScope() + // scroll to the new attachment after a delay to allow the recomposition to complete + delay(100) + lazyListState.scrollToItem(attachments.count()) + } + } + evaluateExpressions() + } } } /** - * Loads the attachments associated with the form element. This clears the current list of - * attachments and updates it with the list of attachments from the [formElement]. + * Loads the attachments provided in the [list] and transforms them into state objects + * to produce the [attachments] list. */ - private suspend fun loadAttachments() { - formElement.fetchAttachments() - attachments = buildMap { - formElement.attachments.forEach { formAttachment -> - val state = attachments[formAttachment.hashCode()] - if (state == null) { - // if does not exist then create a new state - FormAttachmentState( - name = formAttachment.name, - size = formAttachment.size, - contentType = formAttachment.contentType, - elementStateId = id, - deleteAttachment = { deleteAttachment(formAttachment) }, - filesDir = filesDir, - scope = scope, - formAttachment = formAttachment - ).also { newState -> - put(formAttachment.hashCode(), newState) - } - } else { - // update the current state - state.update(formAttachment) - put(formAttachment.hashCode(), state) - } + private suspend fun buildAttachmentStates(list: List) { + attachments.clear() + list.forEach { formAttachment -> + // create a new state + val state = FormAttachmentState( + name = formAttachment.name, + size = formAttachment.size, + contentType = formAttachment.contentType, + type = formAttachment.type, + elementStateId = id, + deleteAttachment = { deleteAttachment(formAttachment) }, + filesDir = filesDir, + scope = scope, + formAttachment = formAttachment + ) + // if the attachment is already loaded then re-load the new state + // this is useful during a configuration change when the form attachment + // objects have already been loaded by the state object. + if (formAttachment.loadStatus.value is LoadStatus.Loaded) { + state.loadWithParentScope() } + attachments.add(state) } } @@ -137,29 +189,27 @@ internal class AttachmentElementState( */ suspend fun addAttachment(name: String, contentType: String, data: ByteArray) { formElement.addAttachment(name, contentType, data) - evaluateExpressions() - // refresh the list of attachments - loadAttachments() - // load the new attachment - attachments.entries.last().value.loadWithParentScope() - // scroll to the new attachment after a delay to allow the recomposition to complete - delay(100) - lazyListState.scrollToItem(attachments.count()) } + /** + * Deletes the given [formAttachment]. + */ private suspend fun deleteAttachment(formAttachment: FormAttachment) { formElement.deleteAttachment(formAttachment) - attachments = attachments.filter { it.key != formAttachment.hashCode() } } - suspend fun renameAttachment(name: String, newName: String) { - val formAttachment = formElement.attachments.firstOrNull { it.name == name } ?: return + /** + * Renames the given [formAttachment] with the new [newName]. + */ + suspend fun renameAttachment(formAttachment: FormAttachment, newName: String) { if (formAttachment.name != newName) { formElement.renameAttachment(formAttachment, newName) - loadAttachments() } } + /** + * Checks if the camera permissions are granted. + */ fun hasCameraPermissions(context: Context): Boolean = ContextCompat.checkSelfPermission( context, Manifest.permission.CAMERA @@ -167,19 +217,13 @@ internal class AttachmentElementState( companion object { fun Saver( - attachmentFormElement: AttachmentFormElement, + attachmentFormElement: AttachmentsFormElement, scope: CoroutineScope, evaluateExpressions: suspend () -> Unit, filesDir: String ): Saver = listSaver( save = { buildList { - // save the keys of attachments that have been loaded - it.attachments.forEach { entry -> - if (entry.value.loadStatus.value is LoadStatus.Loaded) { - add(entry.key) - } - } // save the index of the first visible item add(it.lazyListState.firstVisibleItemIndex) add(it.lazyListState.firstVisibleItemScrollOffset) @@ -194,15 +238,10 @@ internal class AttachmentElementState( filesDir = filesDir ).also { scope.launch { - it.loadAttachments() - // load the attachments that were previously loaded - for (i in savedList.dropLast(2)) { - it.attachments[i]?.loadWithParentScope() - } - if (savedList.count() > 1) { + if (savedList.count() == 2) { // scroll to the last visible item - val firstVisibleItemIndex = savedList[savedList.count() - 2] - val firstVisibleItemScrollOffset = savedList[savedList.count() - 1] + val firstVisibleItemIndex = savedList[0] + val firstVisibleItemScrollOffset = savedList[1] it.lazyListState.scrollToItem( firstVisibleItemIndex, firstVisibleItemScrollOffset @@ -221,21 +260,24 @@ internal class AttachmentElementState( * @param name The name of the attachment. * @param size The size of the attachment. * @param contentType The content type of the attachment. + * @param type The type of the attachment. * @param elementStateId The ID of the [AttachmentElementState] that created this attachment. * @param deleteAttachment A function to delete the attachment. * @param filesDir The directory where the attachments are stored. * @param scope The coroutine scope used to launch coroutines. * @param formAttachment The [FormAttachment] that this state represents. */ +@Stable internal class FormAttachmentState( name: String, val size: Long, val contentType: String, + val type: FormAttachmentType, val elementStateId: Int, val deleteAttachment: suspend () -> Unit, private val filesDir: String, private val scope: CoroutineScope, - private val formAttachment: FormAttachment? = null + val formAttachment: FormAttachment? = null ) : Loadable { var name by mutableStateOf(name) @@ -248,11 +290,6 @@ internal class FormAttachmentState( */ val thumbnail: State = _thumbnail - /** - * The type of the attachment. - */ - val type: AttachmentType = getAttachmentType(name) - private val _loadStatus: MutableStateFlow = MutableStateFlow(LoadStatus.NotLoaded) override val loadStatus = _loadStatus.asStateFlow() @@ -267,6 +304,11 @@ internal class FormAttachmentState( */ private val attachmentsDir = "feature_forms_attachments" + /** + * The size of the thumbnail image. + */ + private val thumbnailSize = Pair(368, 300) + /** * Loads the attachment and its thumbnail in the coroutine scope of the state object that * created this attachment. Usually, this is the [AttachmentElementState] that created this @@ -279,9 +321,10 @@ internal class FormAttachmentState( } /** - * Updates the attachment with the given [formAttachment]. + * Updates the attachment properties with the given [formAttachment]. */ fun update(formAttachment: FormAttachment) { + // only name is updated since renameAttachment() is the only update call that can be made name = formAttachment.name } @@ -302,9 +345,10 @@ internal class FormAttachmentState( }.onSuccess { val data = formAttachment.attachment?.fetchData()?.getOrNull() if (data != null) { - formAttachment.createFullImage().onSuccess { - _thumbnail.value = it.bitmap.asImageBitmap() - } + formAttachment.createThumbnail(thumbnailSize.first, thumbnailSize.second) + .onSuccess { + _thumbnail.value = it.bitmap.asImageBitmap() + } // write the data to disk only if the file does not exist if (!File(filePath).exists()) { writeDataToDisk(data) @@ -331,24 +375,11 @@ internal class FormAttachmentState( } override fun cancelLoad() { - formAttachment?.cancelLoad() + // cancel op not supported } override suspend fun retryLoad(): Result { - return formAttachment?.retryLoad() - ?: return Result.failure(Exception("Form attachment is null")) - } - - private suspend fun writeDataToDisk(data: ByteArray) = withContext(Dispatchers.IO) { - val directory = File(filesDir, attachmentsDir) - directory.mkdirs() - // write the data to disk - val file = File(directory, name) - file.createNewFile() - FileOutputStream(file).use { - it.write(data) - } - filePath = file.absolutePath + return load() } override fun hashCode(): Int { @@ -367,12 +398,24 @@ internal class FormAttachmentState( return true } + + private suspend fun writeDataToDisk(data: ByteArray) = withContext(Dispatchers.IO) { + val directory = File(filesDir, attachmentsDir) + directory.mkdirs() + // write the data to disk + val file = File(directory, name) + file.createNewFile() + FileOutputStream(file).use { + it.write(data) + } + filePath = file.absolutePath + } } @Composable internal fun rememberAttachmentElementState( form: FeatureForm, - attachmentFormElement: AttachmentFormElement + attachmentFormElement: AttachmentsFormElement ): AttachmentElementState { val scope = rememberCoroutineScope() val context = LocalContext.current @@ -395,37 +438,18 @@ internal fun rememberAttachmentElementState( } } -internal sealed class AttachmentType { - data object Image : AttachmentType() - data object Audio : AttachmentType() - data object Video : AttachmentType() - data object Document : AttachmentType() - data object Other : AttachmentType() -} - -internal fun getAttachmentType(filename: String): AttachmentType { - val extension = filename.substring(filename.lastIndexOf(".") + 1) - return when (extension) { - "jpg", "jpeg", "png", "gif", "bmp" -> AttachmentType.Image - "mp3", "wav", "ogg", "flac" -> AttachmentType.Audio - "mp4", "avi", "mov", "wmv", "flv" -> AttachmentType.Video - "doc", "docx", "pdf", "txt", "rtf" -> AttachmentType.Document - else -> AttachmentType.Other - } -} - @Composable -internal fun AttachmentType.getIcon(): ImageVector = when (this) { - AttachmentType.Image -> Icons.Outlined.Image - AttachmentType.Audio -> Icons.Outlined.AudioFile - AttachmentType.Video -> Icons.Outlined.VideoCameraBack - AttachmentType.Document -> Icons.Outlined.FilePresent - AttachmentType.Other -> Icons.Outlined.FileCopy +internal fun FormAttachmentType.getIcon(): ImageVector = when (this) { + FormAttachmentType.Image -> Icons.Outlined.Image + FormAttachmentType.Audio -> Icons.Outlined.AudioFile + FormAttachmentType.Video -> Icons.Outlined.VideoCameraBack + FormAttachmentType.Document -> Icons.Outlined.FilePresent + FormAttachmentType.Other -> Icons.Outlined.FileCopy } -internal fun Map.getNewAttachmentNameForImageType(): String { +internal fun List.getNewAttachmentNameForImageType(): String { val count = this.count { entry -> - entry.value.contentType.isContentTypeImage() + entry.contentType.isContentTypeImage() } return "Image $count.jpg" } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index edecbdc77..3d2be8612 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -32,6 +32,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Add import androidx.compose.material.icons.rounded.Photo @@ -62,6 +63,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp +import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType @@ -95,7 +97,7 @@ internal fun AttachmentFormElement( description: String, editable: Boolean, stateId: Int, - attachments: Map, + attachments: List, lazyListState: LazyListState, hasCameraPermission: Boolean, modifier: Modifier = Modifier, @@ -130,15 +132,15 @@ internal fun AttachmentFormElement( } @Composable -private fun Carousel(state: LazyListState, attachments: Map) { +private fun Carousel(state: LazyListState, attachments: List) { LazyRow( state = state, horizontalArrangement = Arrangement.spacedBy(15.dp), ) { - attachments.entries.forEach { entry -> - item(key = entry.key) { - AttachmentTile(entry.value) - } + items(attachments, key = { + it.formAttachment.hashCode() + }) { attachment -> + AttachmentTile(attachment) } } } @@ -326,18 +328,16 @@ private fun AttachmentFormElementPreview() { description = "Add attachments", editable = true, stateId = 1, - attachments = mapOf( - Pair( + attachments = listOf( + FormAttachmentState( + "Photo 1.jpg", + 2024, + "image/jpeg", + FormAttachmentType.Image, 1, - FormAttachmentState( - "Photo 1.jpg", - 2024, - "image/jpeg", - 1, - {}, - "", - scope = rememberCoroutineScope() - ) + {}, + "", + scope = rememberCoroutineScope() ) ), lazyListState = LazyListState(), diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 40d38f05d..061a54cf2 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -90,6 +90,7 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import com.arcgismaps.LoadStatus +import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType @@ -127,13 +128,15 @@ internal fun AttachmentTile( Box(modifier = Modifier) { when (loadStatus) { LoadStatus.Loaded -> LoadedView( - thumbnail = thumbnail, - title = state.name + title = state.name, + type = state.type, + thumbnail = thumbnail ) LoadStatus.Loading -> DefaultView( title = state.name, size = state.size, + type = state.type, isLoading = true, isError = false ) @@ -141,6 +144,7 @@ internal fun AttachmentTile( LoadStatus.NotLoaded -> DefaultView( title = state.name, size = state.size, + type = state.type, isLoading = false, isError = false ) @@ -148,6 +152,7 @@ internal fun AttachmentTile( is LoadStatus.FailedToLoad -> DefaultView( title = state.name, size = state.size, + type = state.type, isLoading = false, isError = true ) @@ -166,12 +171,15 @@ internal fun AttachmentTile( }, onClick = { showContextMenu = false - dialogRequester.requestDialog( - DialogType.RenameAttachmentDialog( - stateId = state.elementStateId, - name = state.name, + state.formAttachment?.let { + dialogRequester.requestDialog( + DialogType.RenameAttachmentDialog( + stateId = state.elementStateId, + formAttachment = state.formAttachment, + name = state.name, + ) ) - ) + } }) DropdownMenuItem( text = { Text(text = stringResource(R.string.delete)) }, @@ -239,13 +247,11 @@ internal fun AttachmentTile( @Composable private fun LoadedView( - thumbnail: ImageBitmap?, title: String, + type: FormAttachmentType, + thumbnail: ImageBitmap?, modifier: Modifier = Modifier ) { - val attachmentType = remember(title) { - getAttachmentType(title) - } Box( modifier = modifier .fillMaxSize() @@ -259,7 +265,7 @@ private fun LoadedView( ) } else { Icon( - imageVector = attachmentType.getIcon(), + imageVector = type.getIcon(), contentDescription = null, modifier = Modifier .padding(top = 10.dp, bottom = 25.dp) @@ -294,13 +300,11 @@ private fun LoadedView( private fun DefaultView( title: String, size: Long, + type: FormAttachmentType, isLoading: Boolean, isError: Boolean, modifier: Modifier = Modifier, ) { - val attachmentType = remember(title) { - getAttachmentType(title) - } Column( modifier = modifier .fillMaxSize() @@ -333,7 +337,7 @@ private fun DefaultView( ) } else { Icon( - imageVector = attachmentType.getIcon(), + imageVector = type.getIcon(), contentDescription = null, modifier = Modifier.size(20.dp) ) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index ca96262f6..374db579d 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -31,6 +31,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator +import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.components.attachment.AttachmentElementState import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture @@ -133,6 +134,7 @@ internal sealed class DialogType { */ data class RenameAttachmentDialog( val stateId: Int, + val formAttachment : FormAttachment, val name: String, ) : DialogType() } @@ -255,6 +257,7 @@ internal fun FeatureFormDialog(states: FormStateCollection) { is DialogType.RenameAttachmentDialog -> { val stateId = (dialogType as DialogType.RenameAttachmentDialog).stateId val name = (dialogType as DialogType.RenameAttachmentDialog).name + val formAttachment = (dialogType as DialogType.RenameAttachmentDialog).formAttachment val state = states[stateId] as? AttachmentElementState if (state == null) { dialogRequester.dismissDialog() @@ -264,7 +267,7 @@ internal fun FeatureFormDialog(states: FormStateCollection) { name = name, onRename = { newName -> scope.launch { - state.renameAttachment(name, newName) + state.renameAttachment(formAttachment, newName) } dialogRequester.dismissDialog() } From e06e28f6681ee4d3abbb5fa7dcf50a43df27a371 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 22 May 2024 16:25:58 -0700 Subject: [PATCH 30/53] `Forms` : File Picker (#440) --- .../attachment/AttachmentElementState.kt | 89 +++++++++-- .../attachment/AttachmentFormElement.kt | 142 ++++++++++++++---- .../featureforms/internal/utils/Dialog.kt | 121 ++++++++++++--- .../src/main/res/values/strings.xml | 4 +- 4 files changed, 293 insertions(+), 63 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 313485a97..78119c75b 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -45,8 +45,10 @@ import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus import com.arcgismaps.Loadable +import com.arcgismaps.mapping.featureforms.AnyAttachmentsFormInput import com.arcgismaps.mapping.featureforms.AttachmentChangeType import com.arcgismaps.mapping.featureforms.AttachmentsFormElement +import com.arcgismaps.mapping.featureforms.AttachmentsFormInput import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.mapping.featureforms.FormAttachmentType @@ -111,7 +113,7 @@ internal class AttachmentElementState( buildAttachmentStates(formElement.attachments) } } - scope.launch { + scope.launch { formElement.attachmentChanged.collect { when (it.changeType) { is AttachmentChangeType.Deletion -> { @@ -412,6 +414,67 @@ internal class FormAttachmentState( } } +/** + * Represents valid options for capturing attachments. This is used to determine the types of + * attachments that can be captured by the UI. + */ +internal sealed class CaptureOptions { + + data object Image : CaptureOptions() + data object Video : CaptureOptions() + data object Audio : CaptureOptions() + data object Document : CaptureOptions() + data object Signature : CaptureOptions() + data object Any : CaptureOptions() + data object Unknown : CaptureOptions() + + /** + * Returns `true` if the capture options include image capture. + */ + fun hasImageCapture(): Boolean = this is Any || this is Image + + /** + * Returns `true` if the capture options include video capture. + */ + fun hasVideoCapture(): Boolean = this is Any || this is Video + + /** + * Returns `true` if the capture options include image or video capture. + */ + fun hasMediaCapture(): Boolean = hasImageCapture() || hasVideoCapture() + + /** + * Returns `true` if the capture options include document capture. + */ + fun hasFileCapture(): Boolean = this is Any || this is Document + + /** + * Returns a list of allowed mime types for this capture option. + */ + fun getAllowedMimeTypes(): List { + return when (this) { + is Any -> listOf("*/*") + Audio -> listOf("audio/*") + Document -> listOf("application/*", "text/*") + Image -> listOf("image/*") + Signature -> listOf("image/*") + Video -> listOf("video/*") + Unknown -> emptyList() + } + } + + companion object { + + /** + * Creates a [CaptureOptions] from the given [AttachmentsFormInput]. + */ + fun create(value: AttachmentsFormInput): CaptureOptions = when (value) { + is AnyAttachmentsFormInput -> Any + else -> Unknown + } + } +} + @Composable internal fun rememberAttachmentElementState( form: FeatureForm, @@ -438,6 +501,9 @@ internal fun rememberAttachmentElementState( } } +/** + * Returns an icon for the attachment type. + */ @Composable internal fun FormAttachmentType.getIcon(): ImageVector = when (this) { FormAttachmentType.Image -> Icons.Outlined.Image @@ -447,13 +513,18 @@ internal fun FormAttachmentType.getIcon(): ImageVector = when (this) { FormAttachmentType.Other -> Icons.Outlined.FileCopy } -internal fun List.getNewAttachmentNameForImageType(): String { - val count = this.count { entry -> - entry.contentType.isContentTypeImage() +/** + * Returns a new attachment name based on the content type. + */ +internal fun List.getNewAttachmentNameForContentType(contentType: String): String { + val prefix = when { + contentType.startsWith("image/") -> "Image" + contentType.startsWith("video/") -> "Video" + else -> "Attachment" } - return "Image $count.jpg" -} - -internal fun String.isContentTypeImage(): Boolean { - return this.startsWith("image/") + val count = this.count { entry -> + entry.contentType.split("/").firstOrNull() + .equals(contentType.split("/").firstOrNull(), ignoreCase = true) + } + 1 + return "$prefix $count" } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 3d2be8612..90fb08baf 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -35,6 +35,7 @@ import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Add +import androidx.compose.material.icons.rounded.Folder import androidx.compose.material.icons.rounded.Photo import androidx.compose.material.icons.rounded.PhotoCamera import androidx.compose.material3.Card @@ -83,6 +84,7 @@ internal fun AttachmentFormElement( label = state.label, description = state.description, editable = editable, + captureOptions = CaptureOptions.create(state.input), stateId = state.id, attachments = state.attachments, lazyListState = state.lazyListState, @@ -96,6 +98,7 @@ internal fun AttachmentFormElement( label: String, description: String, editable: Boolean, + captureOptions: CaptureOptions, stateId: Int, attachments: List, lazyListState: LazyListState, @@ -121,6 +124,7 @@ internal fun AttachmentFormElement( // Add attachment button AddAttachment( stateId = stateId, + captureOptions = captureOptions, hasCameraPermission = hasCameraPermission ) } @@ -177,6 +181,7 @@ private fun Header( @Composable private fun AddAttachment( stateId: Int, + captureOptions: CaptureOptions, hasCameraPermission: Boolean, ) { var showMenu by remember { mutableStateOf(false) } @@ -198,7 +203,7 @@ private fun AddAttachment( offset = DpOffset.Zero, onDismissRequest = { showMenu = false } ) { - if (hasCameraPermission) { + if (hasCameraPermission && captureOptions.hasImageCapture()) { DropdownMenuItem( text = { Text(text = stringResource(R.string.take_photo)) }, trailingIcon = { @@ -216,22 +221,53 @@ private fun AddAttachment( } ) } - DropdownMenuItem( - text = { Text(text = stringResource(R.string.add_photo)) }, - trailingIcon = { - Icon( - imageVector = Icons.Rounded.Photo, - contentDescription = "Add Photo", - modifier = Modifier.alpha(0.4f) - ) - }, - onClick = { - scope.launch { - pickerStyle.emit(PickerStyle.PickImage) - showMenu = false + if (captureOptions.hasVideoCapture()) { + // TODO: Add video capture + } + if (captureOptions.hasMediaCapture()) { + DropdownMenuItem( + text = { Text(text = stringResource(R.string.add_from_gallery)) }, + trailingIcon = { + Icon( + imageVector = Icons.Rounded.Photo, + contentDescription = "Add From Gallery", + modifier = Modifier.alpha(0.4f) + ) + }, + onClick = { + scope.launch { + val visualMediaType = + if (captureOptions.hasImageCapture() && captureOptions.hasVideoCapture()) { + ActivityResultContracts.PickVisualMedia.ImageAndVideo + } else if (captureOptions.hasImageCapture()) { + ActivityResultContracts.PickVisualMedia.ImageOnly + } else { + ActivityResultContracts.PickVisualMedia.VideoOnly + } + pickerStyle.emit(PickerStyle.PickMedia(visualMediaType)) + showMenu = false + } } - } - ) + ) + } + if (captureOptions.hasFileCapture()) { + DropdownMenuItem( + text = { Text(text = stringResource(R.string.add_file)) }, + trailingIcon = { + Icon( + imageVector = Icons.Rounded.Folder, + contentDescription = "Add File", + modifier = Modifier.alpha(0.4f) + ) + }, + onClick = { + scope.launch { + pickerStyle.emit(PickerStyle.File(captureOptions.getAllowedMimeTypes())) + showMenu = false + } + } + ) + } } } LaunchedEffect(Unit) { @@ -240,22 +276,28 @@ private fun AddAttachment( PickerStyle.Camera -> { dialogRequester.requestDialog( DialogType.ImageCaptureDialog( - stateId = stateId, - contentType = "image/jpeg" + stateId = stateId ) ) } - PickerStyle.PickImage -> { + is PickerStyle.PickMedia -> { dialogRequester.requestDialog( - DialogType.ImagePickerDialog( + DialogType.GalleryPickerDialog( stateId = stateId, - contentType = "image/jpeg" + type = it.type ) ) } - else -> {} + is PickerStyle.File -> { + dialogRequester.requestDialog( + DialogType.FilePickerDialog( + stateId = stateId, + allowedTypes = it.allowedMimeTypes + ) + ) + } } } } @@ -266,7 +308,7 @@ private fun AddAttachment( * is invoked with the URI of the captured image. */ @Composable -internal fun ImageCapture(onImageCaptured: (Uri) -> Unit) { +internal fun ImageCapture(onImageCaptured: (Uri?) -> Unit) { val context = LocalContext.current var hasLaunched by rememberSaveable { mutableStateOf(false) @@ -285,6 +327,8 @@ internal fun ImageCapture(onImageCaptured: (Uri) -> Unit) { onResult = { success -> if (success) { onImageCaptured(capturedImageUri) + } else { + onImageCaptured(null) } } ) @@ -297,27 +341,62 @@ internal fun ImageCapture(onImageCaptured: (Uri) -> Unit) { } /** - * Launches the Gallery to select an image. When an image is selected, the [onImageSelected] callback - * is invoked with the URI of the selected image. + * Launches the Gallery to select an image, video or both based on the [type]. When a selection is + * made, the [onMediaSelected] callback is invoked with the URI of the selected image/video. */ @Composable -internal fun ImagePicker(onImageSelected: (Uri) -> Unit) { +internal fun GalleryPicker( + type: ActivityResultContracts.PickVisualMedia.VisualMediaType, + onMediaSelected: (Uri?) -> Unit +) { + var hasLaunched by rememberSaveable { + mutableStateOf(false) + } val launcher = rememberLauncherForActivityResult( contract = ActivityResultContracts.PickVisualMedia() ) { - if (it != null) { - onImageSelected(it) + onMediaSelected(it) + } + LaunchedEffect(Unit) { + if (!hasLaunched) { + hasLaunched = true + launcher.launch(PickVisualMediaRequest(type)) } } +} + +/** + * Launches the file picker to select a file based on the [allowedMimeTypes]. When a file is selected, + * the [onFileSelected] callback is invoked with the URI of the selected file. + */ +@Composable +internal fun FilePicker( + allowedMimeTypes: List, + onFileSelected: (Uri?) -> Unit +) { + var hasLaunched by rememberSaveable { + mutableStateOf(false) + } + val launcher = rememberLauncherForActivityResult(ActivityResultContracts.OpenDocument()) { + onFileSelected(it) + } LaunchedEffect(Unit) { - launcher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) + if (!hasLaunched) { + hasLaunched = true + launcher.launch(allowedMimeTypes.toTypedArray()) + } } } +/** + * Determines the type of picker to launch. + */ private sealed class PickerStyle { - data object File : PickerStyle() data object Camera : PickerStyle() - data object PickImage : PickerStyle() + data class PickMedia(val type: ActivityResultContracts.PickVisualMedia.VisualMediaType) : + PickerStyle() + + data class File(val allowedMimeTypes: List) : PickerStyle() } @Preview @@ -327,6 +406,7 @@ private fun AttachmentFormElementPreview() { label = "Attachments", description = "Add attachments", editable = true, + captureOptions = CaptureOptions.Any, stateId = 1, attachments = listOf( FormAttachmentState( diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 374db579d..9fa2d552c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -18,6 +18,11 @@ package com.arcgismaps.toolkit.featureforms.internal.utils import android.content.Context import android.net.Uri +import android.provider.OpenableColumns +import android.util.Log +import android.webkit.MimeTypeMap +import android.widget.Toast +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.runtime.collectAsState @@ -29,15 +34,17 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType +import androidx.core.database.getStringOrNull import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.components.attachment.AttachmentElementState +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.FilePicker +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.GalleryPicker import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImageCapture -import com.arcgismaps.toolkit.featureforms.internal.components.attachment.ImagePicker import com.arcgismaps.toolkit.featureforms.internal.components.attachment.RenameAttachmentDialog -import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForImageType +import com.arcgismaps.toolkit.featureforms.internal.components.attachment.getNewAttachmentNameForContentType import com.arcgismaps.toolkit.featureforms.internal.components.base.FormStateCollection import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.CodedValueFieldState import com.arcgismaps.toolkit.featureforms.internal.components.codedvalue.ComboBoxDialog @@ -52,6 +59,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import java.time.Instant + /** * Local containing the default [DialogRequester] for providing the same instance in the * compose hierarchy. @@ -108,22 +116,31 @@ internal sealed class DialogType { * Indicates an image capture dialog. * * @param stateId The id of the [AttachmentElementState] that requested the dialog. - * @param contentType The content type of the image to capture. */ data class ImageCaptureDialog( + val stateId: Int + ) : DialogType() + + /** + * Indicates an gallery picker dialog. + * + * @param stateId The id of the [AttachmentElementState] that requested the dialog. + * @param type The content type of the file to pick. + */ + data class GalleryPickerDialog( val stateId: Int, - val contentType: String + val type: ActivityResultContracts.PickVisualMedia.VisualMediaType ) : DialogType() /** - * Indicates an image picker dialog. + * Indicates a file picker dialog. * * @param stateId The id of the [AttachmentElementState] that requested the dialog. - * @param contentType The content type of the image to pick. + * @param allowedTypes The allowed mime types for the file picker. */ - data class ImagePickerDialog( + data class FilePickerDialog( val stateId: Int, - val contentType: String + val allowedTypes: List ) : DialogType() /** @@ -134,7 +151,7 @@ internal sealed class DialogType { */ data class RenameAttachmentDialog( val stateId: Int, - val formAttachment : FormAttachment, + val formAttachment: FormAttachment, val name: String, ) : DialogType() } @@ -218,36 +235,96 @@ internal fun FeatureFormDialog(states: FormStateCollection) { is DialogType.ImageCaptureDialog -> { val stateId = (dialogType as DialogType.ImageCaptureDialog).stateId - val contentType = (dialogType as DialogType.ImageCaptureDialog).contentType val state = states[stateId] as? AttachmentElementState if (state == null) { dialogRequester.dismissDialog() return } ImageCapture { uri -> - scope.launch { - context.readBytes(uri)?.let { data -> - val name = state.attachments.getNewAttachmentNameForImageType() - state.addAttachment(name, contentType, data) + if (uri != null) { + scope.launch { + val contentType = context.contentResolver.getType(uri) ?: run { + Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) + .show() + return@launch + } + val extension = + MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) + context.readBytes(uri)?.let { data -> + val name = + "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + state.addAttachment(name, contentType, data) + } + } + } + dialogRequester.dismissDialog() + } + } + + is DialogType.GalleryPickerDialog -> { + val stateId = (dialogType as DialogType.GalleryPickerDialog).stateId + val type = (dialogType as DialogType.GalleryPickerDialog).type + val state = states[stateId] as? AttachmentElementState + if (state == null) { + dialogRequester.dismissDialog() + return + } + GalleryPicker( + type = type + ) { uri -> + if (uri != null) { + scope.launch { + val contentType = context.contentResolver.getType(uri) ?: run { + Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) + .show() + return@launch + } + val extension = + MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) + context.readBytes(uri)?.let { data -> + val name = + "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + state.addAttachment(name, contentType, data) + } + } } dialogRequester.dismissDialog() } } - is DialogType.ImagePickerDialog -> { - val stateId = (dialogType as DialogType.ImagePickerDialog).stateId - val contentType = (dialogType as DialogType.ImagePickerDialog).contentType + is DialogType.FilePickerDialog -> { + val stateId = (dialogType as DialogType.FilePickerDialog).stateId + val allowedMimeTypes = (dialogType as DialogType.FilePickerDialog).allowedTypes val state = states[stateId] as? AttachmentElementState if (state == null) { dialogRequester.dismissDialog() return } - ImagePicker { uri -> - scope.launch { - context.readBytes(uri)?.let { data -> - val name = state.attachments.getNewAttachmentNameForImageType() - state.addAttachment(name, contentType, data) + FilePicker(allowedMimeTypes = allowedMimeTypes) { uri -> + if (uri != null) { + scope.launch { + val contentType = context.contentResolver.getType(uri) ?: run { + Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) + .show() + return@launch + } + val extension = + MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) + // use a default name + var name = + "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + context.contentResolver.query(uri, null, null, null, null)?.use { cursor -> + cursor.moveToFirst() + val nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME) + // use the name from the uri if available + cursor.getStringOrNull(nameIndex)?.let { + name = it + } + } + context.readBytes(uri)?.let { data -> + state.addAttachment(name, contentType, data) + } } } dialogRequester.dismissDialog() diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 19afcdb0e..8f03a1bbc 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -90,9 +90,11 @@ Select AM or PM PM Take Photo - Add Photo + Add From Gallery Rename Delete Rename Attachment Name + Add From Files + Error Adding Attachment From 39a9227a2290683cf70c5afaf2a78711a2fb4b6a Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 29 May 2024 10:00:52 -0700 Subject: [PATCH 31/53] `Forms` : Optimize thumbnail loading for Attachments (#444) --- .../attachment/AttachmentElementState.kt | 107 ++++++++++++++---- .../components/attachment/AttachmentTile.kt | 18 +-- 2 files changed, 95 insertions(+), 30 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 78119c75b..af04567e7 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -19,6 +19,10 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment import android.Manifest import android.content.Context import android.content.pm.PackageManager +import android.graphics.Bitmap.CompressFormat +import android.media.ThumbnailUtils +import android.os.Build +import android.util.Size import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AudioFile @@ -38,8 +42,6 @@ import androidx.compose.runtime.saveable.Saver import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import androidx.compose.ui.graphics.ImageBitmap -import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat @@ -62,10 +64,12 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import java.io.BufferedOutputStream import java.io.File import java.io.FileOutputStream import java.util.Objects + /** * Represents the state of an [AttachmentFormElement] * @@ -282,15 +286,19 @@ internal class FormAttachmentState( val formAttachment: FormAttachment? = null ) : Loadable { + /** + * The name of the attachment. + */ var name by mutableStateOf(name) private set - private val _thumbnail: MutableState = mutableStateOf(null) - /** - * The thumbnail of the attachment. This is `null` until [load] is called. + * A unique ID for the attachment. */ - val thumbnail: State = _thumbnail + val id: String + get() = formAttachment?.attachment?.let { + "${it.id}_${it.name}" + } ?: name private val _loadStatus: MutableStateFlow = MutableStateFlow(LoadStatus.NotLoaded) override val loadStatus = _loadStatus.asStateFlow() @@ -301,6 +309,13 @@ internal class FormAttachmentState( var filePath: String = "" private set + private var _thumbnailUri: MutableState = mutableStateOf("") + + /** + * The URI of the thumbnail image. This is empty until [load] is called. + */ + val thumbnailUri: State = _thumbnailUri + /** * The directory where the attachments are stored as defined in the [AttachmentsFileProvider]. */ @@ -309,7 +324,7 @@ internal class FormAttachmentState( /** * The size of the thumbnail image. */ - private val thumbnailSize = Pair(368, 300) + private val thumbnailSize = Size(368, 300) /** * Loads the attachment and its thumbnail in the coroutine scope of the state object that @@ -347,14 +362,10 @@ internal class FormAttachmentState( }.onSuccess { val data = formAttachment.attachment?.fetchData()?.getOrNull() if (data != null) { - formAttachment.createThumbnail(thumbnailSize.first, thumbnailSize.second) - .onSuccess { - _thumbnail.value = it.bitmap.asImageBitmap() - } - // write the data to disk only if the file does not exist - if (!File(filePath).exists()) { - writeDataToDisk(data) - } + // write the data to disk + writeDataToDisk(data) + // create the thumbnail + createThumbnail() } else { result = Result.failure(Exception("Failed to load attachment data")) } @@ -385,7 +396,7 @@ internal class FormAttachmentState( } override fun hashCode(): Int { - return Objects.hash(name, size, type) + return Objects.hash(id, name, size, type) } override fun equals(other: Any?): Boolean { @@ -394,6 +405,7 @@ internal class FormAttachmentState( other as FormAttachmentState + if (id != other.id) return false if (name != other.name) return false if (size != other.size) return false if (type != other.type) return false @@ -401,17 +413,70 @@ internal class FormAttachmentState( return true } + /** + * Writes the attachment data to disk. If the file already exists, it will not be overwritten. + */ private suspend fun writeDataToDisk(data: ByteArray) = withContext(Dispatchers.IO) { val directory = File(filesDir, attachmentsDir) directory.mkdirs() - // write the data to disk - val file = File(directory, name) - file.createNewFile() - FileOutputStream(file).use { - it.write(data) + // write the data to disk using the attachment id as the file name + val file = File(directory, id) + // write to the file only if the file does not exist + if (file.exists().not()) { + file.createNewFile() + FileOutputStream(file).use { + it.write(data) + } } filePath = file.absolutePath } + + /** + * Creates a thumbnail image for the attachment. If the thumbnail already exists, it will not be + * recreated. + */ + private suspend fun createThumbnail() = withContext(Dispatchers.IO) { + if (formAttachment == null) { + return@withContext + } + val directory = File(filesDir, attachmentsDir) + directory.mkdirs() + val file = File(directory, "thumb_$id") + if (file.exists()) { + _thumbnailUri.value = file.absolutePath + return@withContext + } + val bitmap = try { + when (type) { + is FormAttachmentType.Image -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + ThumbnailUtils.createImageThumbnail(File(filePath), thumbnailSize, null) + } else { + ThumbnailUtils.createImageThumbnail(filePath, 1) + } + } + + FormAttachmentType.Video -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + ThumbnailUtils.createVideoThumbnail(File(filePath), thumbnailSize, null) + } else { + ThumbnailUtils.createVideoThumbnail(filePath, 1) + } + } + + else -> null + } + } catch (ex: Exception) { + null + } ?: return@withContext + + // create and write to the thumbnail file if the bitmap is not null + file.createNewFile() + BufferedOutputStream(FileOutputStream(file)).use { bos -> + bitmap.compress(CompressFormat.JPEG, 85, bos) + } + _thumbnailUri.value = file.absolutePath + } } /** diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 061a54cf2..881e057cc 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -69,7 +69,6 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.onGloballyPositioned @@ -89,6 +88,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties +import coil.compose.AsyncImage import com.arcgismaps.LoadStatus import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.R @@ -105,8 +105,8 @@ internal fun AttachmentTile( state: FormAttachmentState ) { val loadStatus by state.loadStatus.collectAsState() - val thumbnail by state.thumbnail val interactionSource = remember { MutableInteractionSource() } + val thumbnailUri by state.thumbnailUri val configuration = LocalViewConfiguration.current val haptic = LocalHapticFeedback.current var showContextMenu by remember { mutableStateOf(false) } @@ -130,7 +130,7 @@ internal fun AttachmentTile( LoadStatus.Loaded -> LoadedView( title = state.name, type = state.type, - thumbnail = thumbnail + thumbnailUri = thumbnailUri ) LoadStatus.Loading -> DefaultView( @@ -249,19 +249,19 @@ internal fun AttachmentTile( private fun LoadedView( title: String, type: FormAttachmentType, - thumbnail: ImageBitmap?, + thumbnailUri: String, modifier: Modifier = Modifier ) { Box( modifier = modifier .fillMaxSize() ) { - if (thumbnail != null) { - Image( - bitmap = thumbnail, + if (thumbnailUri.isNotEmpty()) { + AsyncImage( + model = thumbnailUri, contentDescription = null, - modifier = Modifier.fillMaxSize(), - contentScale = ContentScale.Crop + contentScale = ContentScale.Crop, + modifier = Modifier.fillMaxSize() ) } else { Icon( From 027f9d004d9aaafd6d5bebb02c46f3d7254eecf8 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 29 May 2024 12:06:51 -0700 Subject: [PATCH 32/53] wrap startActivity in a try catch (#450) --- .../internal/components/attachment/AttachmentTile.kt | 9 ++++++++- toolkit/featureforms/src/main/res/values/strings.xml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 881e057cc..d953fd78e 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -16,8 +16,10 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment +import android.content.ActivityNotFoundException import android.content.Intent import android.text.format.Formatter +import android.widget.Toast import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -236,7 +238,12 @@ internal fun AttachmentTile( state.contentType ) intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) - context.startActivity(intent) + try { + context.startActivity(intent) + } catch (e: ActivityNotFoundException) { + // show a toast if there is no app to open the file type + Toast.makeText(context, R.string.no_app_found, Toast.LENGTH_SHORT).show() + } } } } diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 8f03a1bbc..7ae2b2173 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -97,4 +97,5 @@ Name Add From Files Error Adding Attachment + No application found to open this file type. From c939618af6ed725bbab2a56eb28a239e2a9917dc Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 4 Jun 2024 15:17:08 -0700 Subject: [PATCH 33/53] add attachment limit (#454) --- .../featureforms/internal/utils/Dialog.kt | 42 ++++++++++++++++--- .../src/main/res/values/strings.xml | 1 + 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 9fa2d552c..b9bf44b83 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -19,7 +19,6 @@ package com.arcgismaps.toolkit.featureforms.internal.utils import android.content.Context import android.net.Uri import android.provider.OpenableColumns -import android.util.Log import android.webkit.MimeTypeMap import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts @@ -34,6 +33,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType +import androidx.core.database.getLongOrNull import androidx.core.database.getStringOrNull import androidx.window.core.layout.WindowSizeClass import androidx.window.layout.WindowMetricsCalculator @@ -53,10 +53,13 @@ import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.D import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.DateTimePickerInput import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.DateTimePickerStyle import com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.rememberDateTimePickerState +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import java.io.FileNotFoundException import java.time.Instant @@ -250,7 +253,7 @@ internal fun FeatureFormDialog(states: FormStateCollection) { } val extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) - context.readBytes(uri)?.let { data -> + context.readBytes(uri).getOrNull()?.let { data -> val name = "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" state.addAttachment(name, contentType, data) @@ -281,7 +284,7 @@ internal fun FeatureFormDialog(states: FormStateCollection) { } val extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) - context.readBytes(uri)?.let { data -> + context.readBytes(uri).getOrNull()?.let { data -> val name = "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" state.addAttachment(name, contentType, data) @@ -314,15 +317,26 @@ internal fun FeatureFormDialog(states: FormStateCollection) { // use a default name var name = "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + var size = 0L context.contentResolver.query(uri, null, null, null, null)?.use { cursor -> cursor.moveToFirst() val nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME) + val sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE) // use the name from the uri if available cursor.getStringOrNull(nameIndex)?.let { name = it } + cursor.getLongOrNull(sizeIndex)?.let { + size = it + } + } + if (size > 5_000_000) { + showError(context, context.getString(R.string.attachment_too_large)) + return@launch } - context.readBytes(uri)?.let { data -> + context.readBytes(uri).onFailure { + showError(context, it.message ?: "Error reading file") + }.getOrNull()?.let { data -> state.addAttachment(name, contentType, data) } } @@ -362,8 +376,20 @@ internal fun FeatureFormDialog(states: FormStateCollection) { } } -internal fun Context.readBytes(uri: Uri): ByteArray? = - contentResolver.openInputStream(uri)?.use { it.buffered().readBytes() } +internal suspend fun Context.readBytes(uri: Uri): Result = withContext(Dispatchers.IO) { + return@withContext try { + val bytes = contentResolver.openInputStream(uri)?.use { it.buffered().readBytes() } + if (bytes == null) { + Result.failure(Exception("Failed to read data from file: $uri")) + } else { + Result.success(bytes) + } + } catch (e: FileNotFoundException) { + Result.failure(Exception("File not found: $uri")) + } catch (e: OutOfMemoryError) { + Result.failure(Exception("File too large: $uri")) + } +} /** * Computes the [WindowSizeClass] of the device. @@ -375,3 +401,7 @@ internal fun computeWindowSizeClasses(context: Context): WindowSizeClass { val density = context.resources.displayMetrics.density return WindowSizeClass.compute(width / density, height / density) } + +internal fun showError(context: Context, message: String) { + Toast.makeText(context, message, Toast.LENGTH_SHORT).show() +} diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 7ae2b2173..0cdeb4b86 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -98,4 +98,5 @@ Add From Files Error Adding Attachment No application found to open this file type. + The File is too large. Please add a file less than 50 MB. From fddeace7b7dbe521cab33a89abe8712650ee9d12 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 7 Jun 2024 14:29:52 -0700 Subject: [PATCH 34/53] `Forms` : Consume latest api (#453) --- gradle.properties | 2 +- .../screens/map/MapViewModel.kt | 6 +- .../toolkit/featureforms/FeatureForm.kt | 4 + .../attachment/AttachmentElementState.kt | 147 ++++++---------- .../attachment/AttachmentFormElement.kt | 61 ++++++- .../components/attachment/AttachmentTile.kt | 11 +- .../internal/utils/AttachmentsFileProvider.kt | 5 +- .../featureforms/internal/utils/Dialog.kt | 161 ++++++++++-------- .../res/xml/feature_forms_attachments.xml | 2 +- 9 files changed, 208 insertions(+), 191 deletions(-) diff --git a/gradle.properties b/gradle.properties index f4eaae5d2..b72b102a6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4244 +sdkBuildNumber=4259 diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index a69c3370e..b8a89c5b0 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -180,17 +180,17 @@ class MapViewModel @Inject constructor( } // set the state to committing with the errors if any _uiState.value = UIState.Committing( - featureForm = state.featureForm, + featureForm = featureForm, errors = errors ) // if there are no errors then update the feature return if (errors.isEmpty()) { - val feature = state.featureForm.feature + val feature = featureForm.feature val serviceFeatureTable = feature.featureTable as? ServiceFeatureTable ?: return Result.failure( IllegalStateException("cannot save feature edit without a ServiceFeatureTable") ) - val result = serviceFeatureTable.updateFeature(feature).map { + val result = featureForm.finishEditing().map { serviceFeatureTable.serviceGeodatabase?.let { database -> return@let if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) { database.applyEdits() diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index cb8bed11c..df6a5b63c 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -360,6 +360,10 @@ internal fun rememberStates( else -> {} } } + if (form.defaultAttachmentsElement != null) { + val state = rememberAttachmentElementState(form, form.defaultAttachmentsElement!!) + states.add(form.defaultAttachmentsElement!!, state) + } return states } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index af04567e7..2ac47f10b 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -34,21 +34,18 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.Stable import androidx.compose.runtime.State -import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.Saver import androidx.compose.runtime.saveable.listSaver import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus import com.arcgismaps.Loadable import com.arcgismaps.mapping.featureforms.AnyAttachmentsFormInput -import com.arcgismaps.mapping.featureforms.AttachmentChangeType import com.arcgismaps.mapping.featureforms.AttachmentsFormElement import com.arcgismaps.mapping.featureforms.AttachmentsFormInput import com.arcgismaps.mapping.featureforms.FeatureForm @@ -117,55 +114,13 @@ internal class AttachmentElementState( buildAttachmentStates(formElement.attachments) } } - scope.launch { - formElement.attachmentChanged.collect { - when (it.changeType) { - is AttachmentChangeType.Deletion -> { - // delete the state object - attachments.removeIf { state -> - state.formAttachment == it.attachment - } - } - - is AttachmentChangeType.Rename -> { - // update the state object - attachments.firstOrNull { state -> - state.formAttachment == it.attachment - }?.update(it.attachment) - } - - is AttachmentChangeType.Addition -> { - val formAttachment = it.attachment - // create a new state - val state = FormAttachmentState( - name = formAttachment.name, - size = formAttachment.size, - contentType = formAttachment.contentType, - type = formAttachment.type, - elementStateId = id, - deleteAttachment = { deleteAttachment(formAttachment) }, - filesDir = filesDir, - scope = scope, - formAttachment = formAttachment - ) - attachments.add(state) - // load the new attachment - state.loadWithParentScope() - // scroll to the new attachment after a delay to allow the recomposition to complete - delay(100) - lazyListState.scrollToItem(attachments.count()) - } - } - evaluateExpressions() - } - } } /** * Loads the attachments provided in the [list] and transforms them into state objects * to produce the [attachments] list. */ - private suspend fun buildAttachmentStates(list: List) { + private fun buildAttachmentStates(list: List) { attachments.clear() list.forEach { formAttachment -> // create a new state @@ -193,24 +148,52 @@ internal class AttachmentElementState( /** * Adds an attachment with the given [name], [contentType], and [data]. */ - suspend fun addAttachment(name: String, contentType: String, data: ByteArray) { - formElement.addAttachment(name, contentType, data) + fun addAttachment(name: String, contentType: String, data: ByteArray) { + val formAttachment = formElement.addAttachment(name, contentType, data) + // create a new state + val state = FormAttachmentState( + name = formAttachment.name, + size = formAttachment.size, + contentType = formAttachment.contentType, + type = formAttachment.type, + elementStateId = id, + deleteAttachment = { deleteAttachment(formAttachment) }, + filesDir = filesDir, + scope = scope, + formAttachment = formAttachment + ) + attachments.add(state) + // load the new attachment + state.loadWithParentScope() + // scroll to the new attachment after a delay to allow the recomposition to complete + scope.launch { + delay(100) + lazyListState.scrollToItem(attachments.count()) + evaluateExpressions() + } } /** * Deletes the given [formAttachment]. */ - private suspend fun deleteAttachment(formAttachment: FormAttachment) { + fun deleteAttachment(formAttachment: FormAttachment) { formElement.deleteAttachment(formAttachment) + // delete the state object + attachments.removeIf { state -> + state.formAttachment == formAttachment + } + scope.launch { evaluateExpressions() } } /** * Renames the given [formAttachment] with the new [newName]. */ - suspend fun renameAttachment(formAttachment: FormAttachment, newName: String) { - if (formAttachment.name != newName) { - formElement.renameAttachment(formAttachment, newName) - } + fun renameAttachment(formAttachment: FormAttachment, newName: String) { + // update the state object which also updates FormAttachment + attachments.firstOrNull { state -> + state.formAttachment == formAttachment + }?.name = newName + scope.launch { evaluateExpressions() } } /** @@ -280,17 +263,27 @@ internal class FormAttachmentState( val contentType: String, val type: FormAttachmentType, val elementStateId: Int, - val deleteAttachment: suspend () -> Unit, + val deleteAttachment: () -> Unit, private val filesDir: String, private val scope: CoroutineScope, val formAttachment: FormAttachment? = null ) : Loadable { /** - * The name of the attachment. + * Backing mutable state for the [name] property. + */ + private var _name: MutableState = mutableStateOf(name) + + /** + * The name of the attachment. Setting the name will update the [FormAttachment.name] property. + * This is backed by a [MutableState] and can be observed by the composition. */ - var name by mutableStateOf(name) - private set + var name : String + get() = _name.value + set(value) { + formAttachment?.name = value + _name.value = value + } /** * A unique ID for the attachment. @@ -306,8 +299,8 @@ internal class FormAttachmentState( /** * The file path of the attachment on disk. This is empty until [load] is called. */ - var filePath: String = "" - private set + val filePath: String + get() = formAttachment?.filePath ?: "" private var _thumbnailUri: MutableState = mutableStateOf("") @@ -337,14 +330,6 @@ internal class FormAttachmentState( } } - /** - * Updates the attachment properties with the given [formAttachment]. - */ - fun update(formAttachment: FormAttachment) { - // only name is updated since renameAttachment() is the only update call that can be made - name = formAttachment.name - } - /** * Loads the attachment and its thumbnail. Use [loadWithParentScope] to load the attachment as * a long-running task. This coroutine will get cancelled if the calling composable is removed @@ -360,15 +345,7 @@ internal class FormAttachmentState( formAttachment.retryLoad().onFailure { result = Result.failure(it) }.onSuccess { - val data = formAttachment.attachment?.fetchData()?.getOrNull() - if (data != null) { - // write the data to disk - writeDataToDisk(data) - // create the thumbnail - createThumbnail() - } else { - result = Result.failure(Exception("Failed to load attachment data")) - } + createThumbnail() } } } catch (ex: CancellationException) { @@ -413,24 +390,6 @@ internal class FormAttachmentState( return true } - /** - * Writes the attachment data to disk. If the file already exists, it will not be overwritten. - */ - private suspend fun writeDataToDisk(data: ByteArray) = withContext(Dispatchers.IO) { - val directory = File(filesDir, attachmentsDir) - directory.mkdirs() - // write the data to disk using the attachment id as the file name - val file = File(directory, id) - // write to the file only if the file does not exist - if (file.exists().not()) { - file.createNewFile() - FileOutputStream(file).use { - it.write(data) - } - } - filePath = file.absolutePath - } - /** * Creates a thumbnail image for the attachment. If the thumbnail already exists, it will not be * recreated. diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 90fb08baf..005806bee 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -39,6 +39,7 @@ import androidx.compose.material.icons.rounded.Folder import androidx.compose.material.icons.rounded.Photo import androidx.compose.material.icons.rounded.PhotoCamera import androidx.compose.material3.Card +import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.Icon @@ -64,6 +65,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider @@ -305,10 +307,17 @@ private fun AddAttachment( /** * Launches the camera to capture an image. When an image is captured, the [onImageCaptured] callback - * is invoked with the URI of the captured image. + * is invoked with the URI of the captured image. In case of a dismissal or if no image is captured, + * the [onDismissRequest] callback is invoked. + * + * @param onDismissRequest A request to dismiss the camera picker. + * @param onImageCaptured A callback to invoke when an image is captured. */ @Composable -internal fun ImageCapture(onImageCaptured: (Uri?) -> Unit) { +internal fun ImageCapture( + onDismissRequest: () -> Unit, + onImageCaptured: (Uri) -> Unit +) { val context = LocalContext.current var hasLaunched by rememberSaveable { mutableStateOf(false) @@ -328,7 +337,7 @@ internal fun ImageCapture(onImageCaptured: (Uri?) -> Unit) { if (success) { onImageCaptured(capturedImageUri) } else { - onImageCaptured(null) + onDismissRequest() } } ) @@ -342,12 +351,18 @@ internal fun ImageCapture(onImageCaptured: (Uri?) -> Unit) { /** * Launches the Gallery to select an image, video or both based on the [type]. When a selection is - * made, the [onMediaSelected] callback is invoked with the URI of the selected image/video. + * made, the [onMediaSelected] callback is invoked with the URI of the selected image/video. In case + * of a dismissal or if no media is selected, the [onDismissRequest] callback is invoked. + * + * @param type The type of media to select. + * @param onDismissRequest A request to dismiss the gallery picker. + * @param onMediaSelected A callback to invoke when a media file is selected. */ @Composable internal fun GalleryPicker( type: ActivityResultContracts.PickVisualMedia.VisualMediaType, - onMediaSelected: (Uri?) -> Unit + onDismissRequest: () -> Unit, + onMediaSelected: (Uri) -> Unit ) { var hasLaunched by rememberSaveable { mutableStateOf(false) @@ -355,7 +370,18 @@ internal fun GalleryPicker( val launcher = rememberLauncherForActivityResult( contract = ActivityResultContracts.PickVisualMedia() ) { - onMediaSelected(it) + if (it != null) { + onMediaSelected(it) + } else { + onDismissRequest() + } + } + Dialog(onDismissRequest = onDismissRequest) { + CircularProgressIndicator( + modifier = Modifier.size(50.dp), + color = MaterialTheme.colorScheme.onSurfaceVariant, + strokeWidth = 5.dp + ) } LaunchedEffect(Unit) { if (!hasLaunched) { @@ -367,18 +393,35 @@ internal fun GalleryPicker( /** * Launches the file picker to select a file based on the [allowedMimeTypes]. When a file is selected, - * the [onFileSelected] callback is invoked with the URI of the selected file. + * the [onFileSelected] callback is invoked with the URI of the selected file. In case of a dismissal + * or if no file is selected, the [onDismissRequest] callback is invoked. + * + * @param allowedMimeTypes The list of allowed MIME types to select. + * @param onDismissRequest A request to dismiss the file picker. + * @param onFileSelected A callback to invoke when a file is selected. */ @Composable internal fun FilePicker( allowedMimeTypes: List, - onFileSelected: (Uri?) -> Unit + onDismissRequest: () -> Unit, + onFileSelected: (Uri) -> Unit ) { var hasLaunched by rememberSaveable { mutableStateOf(false) } val launcher = rememberLauncherForActivityResult(ActivityResultContracts.OpenDocument()) { - onFileSelected(it) + if (it != null) { + onFileSelected(it) + } else { + onDismissRequest() + } + } + Dialog(onDismissRequest = onDismissRequest) { + CircularProgressIndicator( + modifier = Modifier.size(50.dp), + color = MaterialTheme.colorScheme.onSurfaceVariant, + strokeWidth = 5.dp + ) } LaunchedEffect(Unit) { if (!hasLaunched) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index d953fd78e..fd3605866 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -61,7 +61,6 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment @@ -99,7 +98,6 @@ import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType import com.arcgismaps.toolkit.featureforms.internal.utils.LocalDialogRequester import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest -import kotlinx.coroutines.launch import java.io.File @Composable @@ -113,7 +111,6 @@ internal fun AttachmentTile( val haptic = LocalHapticFeedback.current var showContextMenu by remember { mutableStateOf(false) } val dialogRequester = LocalDialogRequester.current - val scope = rememberCoroutineScope() val context = LocalContext.current Surface( onClick = {}, @@ -198,7 +195,7 @@ internal fun AttachmentTile( ), onClick = { showContextMenu = false - scope.launch { state.deleteAttachment() } + state.deleteAttachment() }) } } @@ -212,10 +209,8 @@ internal fun AttachmentTile( delay(configuration.longPressTimeoutMillis) wasALongPress = true // handle long press - if (loadStatus is LoadStatus.Loaded) { - haptic.performHapticFeedback(HapticFeedbackType.LongPress) - showContextMenu = true - } + haptic.performHapticFeedback(HapticFeedbackType.LongPress) + showContextMenu = true } is PressInteraction.Release -> { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt index 4ab2026c8..b80630e2b 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/AttachmentsFileProvider.kt @@ -27,15 +27,16 @@ internal class AttachmentsFileProvider : companion object { private const val AUTHORITY_BASE = "com.arcgismaps.toolkit.featureforms.attachmentsfileprovider" - private const val FILE_PROVIDER_PATH = "feature_forms_attachments" fun createTempFileWithUri(prefix: String, suffix: String, context: Context): Uri { // authority is unique, which uses the package name + base authority name // to avoid conflicts with other apps using the same library val authority = "${context.packageName}.$AUTHORITY_BASE" - val directory = File(context.cacheDir, FILE_PROVIDER_PATH) + val directory = File(context.cacheDir.absolutePath) directory.mkdirs() val file = File.createTempFile(prefix, suffix, directory) + // delete the temp file when no process is using it + file.deleteOnExit() return getUriForFile( context, authority, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index b9bf44b83..75d56dc34 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -62,7 +62,6 @@ import kotlinx.coroutines.withContext import java.io.FileNotFoundException import java.time.Instant - /** * Local containing the default [DialogRequester] for providing the same instance in the * compose hierarchy. @@ -243,24 +242,18 @@ internal fun FeatureFormDialog(states: FormStateCollection) { dialogRequester.dismissDialog() return } - ImageCapture { uri -> - if (uri != null) { - scope.launch { - val contentType = context.contentResolver.getType(uri) ?: run { - Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) - .show() - return@launch - } - val extension = - MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) - context.readBytes(uri).getOrNull()?.let { data -> - val name = - "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" - state.addAttachment(name, contentType, data) - } + ImageCapture( + onDismissRequest = dialogRequester::dismissDialog + ) { uri -> + scope.launch { + state.addAttachmentFromUri(uri, context, false).onFailure { + showError( + context, + it.message ?: context.getString(R.string.attachment_error) + ) } + dialogRequester.dismissDialog() } - dialogRequester.dismissDialog() } } @@ -273,26 +266,18 @@ internal fun FeatureFormDialog(states: FormStateCollection) { return } GalleryPicker( - type = type + type = type, + onDismissRequest = dialogRequester::dismissDialog ) { uri -> - if (uri != null) { - scope.launch { - val contentType = context.contentResolver.getType(uri) ?: run { - Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) - .show() - return@launch - } - val extension = - MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) - context.readBytes(uri).getOrNull()?.let { data -> - val name = - "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" - state.addAttachment(name, contentType, data) - } - + scope.launch { + state.addAttachmentFromUri(uri, context, false).onFailure { + showError( + context, + it.message ?: context.getString(R.string.attachment_error) + ) } + dialogRequester.dismissDialog() } - dialogRequester.dismissDialog() } } @@ -304,44 +289,19 @@ internal fun FeatureFormDialog(states: FormStateCollection) { dialogRequester.dismissDialog() return } - FilePicker(allowedMimeTypes = allowedMimeTypes) { uri -> - if (uri != null) { - scope.launch { - val contentType = context.contentResolver.getType(uri) ?: run { - Toast.makeText(context, R.string.attachment_error, Toast.LENGTH_SHORT) - .show() - return@launch - } - val extension = - MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) - // use a default name - var name = - "${state.attachments.getNewAttachmentNameForContentType(contentType)}.$extension" - var size = 0L - context.contentResolver.query(uri, null, null, null, null)?.use { cursor -> - cursor.moveToFirst() - val nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME) - val sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE) - // use the name from the uri if available - cursor.getStringOrNull(nameIndex)?.let { - name = it - } - cursor.getLongOrNull(sizeIndex)?.let { - size = it - } - } - if (size > 5_000_000) { - showError(context, context.getString(R.string.attachment_too_large)) - return@launch - } - context.readBytes(uri).onFailure { - showError(context, it.message ?: "Error reading file") - }.getOrNull()?.let { data -> - state.addAttachment(name, contentType, data) - } + FilePicker( + allowedMimeTypes = allowedMimeTypes, + onDismissRequest = dialogRequester::dismissDialog + ) { uri -> + scope.launch { + state.addAttachmentFromUri(uri, context, true).onFailure { + showError( + context, + it.message ?: context.getString(R.string.attachment_error) + ) } + dialogRequester.dismissDialog() } - dialogRequester.dismissDialog() } } @@ -357,9 +317,7 @@ internal fun FeatureFormDialog(states: FormStateCollection) { RenameAttachmentDialog( name = name, onRename = { newName -> - scope.launch { - state.renameAttachment(formAttachment, newName) - } + state.renameAttachment(formAttachment, newName) dialogRequester.dismissDialog() } ) { @@ -405,3 +363,60 @@ internal fun computeWindowSizeClasses(context: Context): WindowSizeClass { internal fun showError(context: Context, message: String) { Toast.makeText(context, message, Toast.LENGTH_SHORT).show() } + +/** + * Adds an attachment to the [AttachmentElementState] from the specified [uri]. Since the data from + * the uri is read into memory, there is a limit of 50 MB for the size of the attachment. + * + * @param uri The uri of the attachment. + * @param context The context. + * @param useDefaultName Whether to use the default name from the uri. If false, a new name will be generated + * based on the content type of the attachment. + */ +private suspend fun AttachmentElementState.addAttachmentFromUri( + uri: Uri, + context: Context, + useDefaultName: Boolean +): Result = withContext(Dispatchers.IO) { + // get the content type of the uri + val contentType = context.contentResolver.getType(uri) ?: run { + return@withContext Result.failure(Exception(context.getString(R.string.attachment_error))) + } + // get the file extension from the content type + val extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType) ?: run { + return@withContext Result.failure(Exception(context.getString(R.string.attachment_error))) + } + // generate a name for the attachment + var name = "${attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + // size of the attachment + var size = 0L + // get the name and size of the attachment + context.contentResolver.query(uri, null, null, null, null)?.use { cursor -> + cursor.moveToFirst() + val nameIndex = + cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME) + val sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE) + // use the default file name from the uri if available + if (useDefaultName) { + cursor.getStringOrNull(nameIndex)?.let { + name = it + } + } + // update the size + cursor.getLongOrNull(sizeIndex)?.let { + size = it + } + } + // check if the size is within the limit of 50 MB + return@withContext if (size > 50_000_000) { + Result.failure(Exception(context.getString(R.string.attachment_too_large))) + } else { + var result = Result.success(Unit) + context.readBytes(uri).onFailure { + result = Result.failure(it) + }.onSuccess { data -> + addAttachment(name, contentType, data) + } + result + } +} diff --git a/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml b/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml index 9853b2ac2..81e59ecc7 100644 --- a/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml +++ b/toolkit/featureforms/src/main/res/xml/feature_forms_attachments.xml @@ -19,5 +19,5 @@ + path="." /> From 05a459ee1f8846c8340f572f16359e6d960c8b21 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 6 Jun 2024 14:24:35 -0700 Subject: [PATCH 35/53] `Forms` : Fix FormStateCollection get operator (#457) --- .../components/base/FormStateCollection.kt | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt index 4791157c5..9ed4a4070 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FormStateCollection.kt @@ -60,14 +60,6 @@ internal interface MutableFormStateCollection : FormStateCollection { * @param state the [FormElementState] to add. */ fun add(formElement: FormElement, state: FormElementState) - - /** - * Provides the bracket operator to the collection. - * - * @param formElement the search for in the collection - * @return the [FormElementState] associated with the formElement, or null if none. - */ - override operator fun get(formElement: FormElement): FormElementState? } /** @@ -92,10 +84,27 @@ private class MutableFormStateCollectionImpl : MutableFormStateCollection { } override operator fun get(formElement: FormElement): FormElementState? = - entries.firstOrNull { it.formElement == formElement }?.state - - override fun get(id: Int): FormElementState? = - entries.firstOrNull { it.formElement.hashCode() == id }?.state + get(formElement.hashCode()) + + override operator fun get(id: Int): FormElementState? { + entries.forEach { entry -> + when (entry.state) { + is BaseGroupState -> { + val groupState = entry.state as BaseGroupState + groupState.fieldStates.forEach { childEntry -> + if (childEntry.state.id == id) { + return childEntry.state + } + } + } + + else -> if (entry.state.id == id) { + return entry.state + } + } + } + return null + } /** * Default implementation for a [FormStateCollection.Entry]. From 6c792223375a57901f7aa437370ff0da7cbaeb49 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 11 Jun 2024 15:49:27 -0700 Subject: [PATCH 36/53] bump sdk version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b72b102a6..0a26e4262 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4259 +sdkBuildNumber=4265 From aa12bbb30840c893da40ed87d11a6cd94105535d Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 14 Jun 2024 15:37:03 -0700 Subject: [PATCH 37/53] `Forms` : Validation for calculated fields (#465) --- .../screens/map/MapViewModel.kt | 2 +- toolkit/featureforms/api/featureforms.api | 8 +- toolkit/featureforms/build.gradle.kts | 3 +- .../featureforms/CalculatedFieldTests.kt | 116 ++++++++++++++++++ .../components/base/BaseFieldState.kt | 84 +++++++------ .../internal/components/base/BaseTextField.kt | 72 ++++++++--- .../components/base/FieldValidation.kt | 29 ++++- .../internal/components/base/Flows.kt | 18 ++- .../codedvalue/CodedValueFieldState.kt | 3 + .../components/codedvalue/ComboBoxField.kt | 4 +- .../codedvalue/ComboBoxFieldState.kt | 5 +- .../components/codedvalue/RadioButtonField.kt | 3 +- .../codedvalue/RadioButtonFieldState.kt | 4 + .../components/codedvalue/SwitchField.kt | 3 +- .../components/codedvalue/SwitchFieldState.kt | 4 + .../components/datetime/DateTimeField.kt | 4 +- .../components/datetime/DateTimeFieldState.kt | 4 + .../internal/components/text/FormTextField.kt | 3 +- .../components/text/FormTextFieldState.kt | 4 + .../featureforms/theme/DefaultThemeTokens.kt | 3 +- .../featureforms/theme/FeatureFormDefaults.kt | 7 +- .../featureforms/theme/FeatureFormTheme.kt | 4 +- .../src/main/res/values/strings.xml | 12 +- 23 files changed, 319 insertions(+), 80 deletions(-) create mode 100644 toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index b8a89c5b0..cb413fc74 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -167,7 +167,7 @@ class MapViewModel @Inject constructor( featureForm.validationErrors.value.forEach { entry -> entry.value.forEach { error -> featureForm.elements.getFormElement(entry.key)?.let { formElement -> - if (formElement.isEditable.value) { + if (formElement.isEditable.value || formElement.hasValueExpression) { errors.add( ErrorInfo( formElement.label, diff --git a/toolkit/featureforms/api/featureforms.api b/toolkit/featureforms/api/featureforms.api index 88691478b..25ba5c19a 100644 --- a/toolkit/featureforms/api/featureforms.api +++ b/toolkit/featureforms/api/featureforms.api @@ -133,7 +133,7 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults public final fun groupElementTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; public final fun radioButtonFieldColors-oq7We08 (JJJJJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; public final fun radioButtonFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; - public final fun readOnlyFieldColors-RGew2ao (JJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public final fun readOnlyFieldColors-ro_MJ88 (JJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; public final fun readOnlyFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography; } @@ -223,9 +223,11 @@ public final class com/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors public final fun component1-0d7_KjU ()J public final fun component2-0d7_KjU ()J public final fun component3-0d7_KjU ()J - public final fun copy-ysEtTa8 (JJJ)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; - public static synthetic fun copy-ysEtTa8$default (Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;JJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public final fun component4-0d7_KjU ()J + public final fun copy-jRlVdoo (JJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; + public static synthetic fun copy-jRlVdoo$default (Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;JJJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; public fun equals (Ljava/lang/Object;)Z + public final fun getErrorSupportingTextColor-0d7_KjU ()J public final fun getLabelColor-0d7_KjU ()J public final fun getSupportingTextColor-0d7_KjU ()J public final fun getTextColor-0d7_KjU ()J diff --git a/toolkit/featureforms/build.gradle.kts b/toolkit/featureforms/build.gradle.kts index 69ba96f46..32ea4ee5f 100644 --- a/toolkit/featureforms/build.gradle.kts +++ b/toolkit/featureforms/build.gradle.kts @@ -82,7 +82,8 @@ apiValidation { "com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.ComposableSingletons\$DateTimePickerKt", "com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.date.ComposableSingletons\$DatePickerKt", "com.arcgismaps.toolkit.featureforms.internal.components.datetime.picker.time.ComposableSingletons\$TimePickerKt", - "com.arcgismaps.toolkit.featureforms.internal.components.formelement.ComposableSingletons\$AttachmentFormElementKt", + "com.arcgismaps.toolkit.featureforms.internal.components.attachment.ComposableSingletons\$AttachmentFormElementKt", + "com.arcgismaps.toolkit.featureforms.internal.components.attachment.ComposableSingletons\$AttachmentTileKt", "com.arcgismaps.toolkit.featureforms.internal.components.formelement.ComposableSingletons\$GroupElementKt" ) diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt new file mode 100644 index 000000000..88f96f01e --- /dev/null +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt @@ -0,0 +1,116 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms + +import androidx.compose.material3.MaterialTheme +import androidx.compose.ui.test.assertContentDescriptionContains +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.assertTextContains +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithText +import com.arcgismaps.ArcGISEnvironment +import com.arcgismaps.data.ArcGISFeature +import com.arcgismaps.data.QueryParameters +import com.arcgismaps.mapping.ArcGISMap +import com.arcgismaps.mapping.featureforms.FeatureForm +import com.arcgismaps.mapping.layers.FeatureLayer +import junit.framework.TestCase +import kotlinx.coroutines.test.runTest +import org.junit.BeforeClass +import org.junit.Rule +import org.junit.Test + +class CalculatedFieldTests { + + @get:Rule + val composeTestRule = createComposeRule() + + /** + * Test case 9.1: + * Given a `FieldFormElement` with `hasValueExpression` set to `true` and validation errors + * When the `FeatureForm` is displayed + * Then the appropriate validation error messages are displayed + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-91-test-validation-on-elements-with-expressions + */ + @Test + fun testValidationForCalculatedFields() = runTest { + composeTestRule.setContent { + MaterialTheme { + FeatureForm(featureForm = featureForm) + } + } + val contentDescription = "calculated field" + var field = composeTestRule.onNodeWithText("singleCharacterString") + field.assertIsDisplayed() + field.assertTextContains("Value must be 1 character") + field.assertContentDescriptionContains(contentDescription) + + field = composeTestRule.onNodeWithText("lengthRangeString") + field.assertIsDisplayed() + field.assertTextContains("Value must be 2 to 5 characters") + field.assertContentDescriptionContains(contentDescription) + + field = composeTestRule.onNodeWithText("maxExceededString") + field.assertIsDisplayed() + field.assertTextContains("Maximum 5 characters") + field.assertContentDescriptionContains(contentDescription) + + field = composeTestRule.onNodeWithText("numericalRange") + field.assertIsDisplayed() + field.assertTextContains("Value must be from 2 to 5") + field.assertContentDescriptionContains(contentDescription) + } + + companion object { + private lateinit var featureForm: FeatureForm + + @BeforeClass + @JvmStatic + fun setupClass() = runTest { + ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = + FeatureFormsTestChallengeHandler( + BuildConfig.webMapUser, + BuildConfig.webMapPassword + ) + val map = + ArcGISMap("https://runtimecoretest.maps.arcgis.com/apps/mapviewer/index.html?webmap=5f71b243b37e43a5ace3190241db0ac9") + map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } + val featureLayer = map.operationalLayers.first() as? FeatureLayer + featureLayer?.let { layer -> + layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } + val featureFormDefinition = layer.featureFormDefinition!! + val parameters = QueryParameters().also { + it.objectIds.add(1L) + it.maxFeatures = 1 + } + layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> + val feature = featureQueryResult.find { + it is ArcGISFeature + } as? ArcGISFeature + if (feature == null) TestCase.fail("failed to fetch feature") + feature?.load()?.onFailure { + TestCase.fail("failed to load feature with ${it.message}") + } + featureForm = FeatureForm(feature!!, featureFormDefinition) + featureForm.evaluateExpressions() + }?.onFailure { + TestCase.fail("failed to query features on layer's featuretable with ${it.message}") + } + } + } + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt index bdb9bf4b8..423380d08 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseFieldState.kt @@ -59,6 +59,7 @@ internal data class Value( * @param properties the [FieldProperties] associated with this state. * @param initialValue optional initial value to set for this field. It is set to the value of * [FieldProperties.value] by default. + * @property hasValueExpression a flag to indicate if the field has a value expression. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. * @param updateValue a function that is invoked when the user edits result in a change of value. This * is called in [BaseFieldState.onValueChanged]. @@ -69,6 +70,7 @@ internal abstract class BaseFieldState( id: Int, properties: FieldProperties, initialValue: T = properties.value.value, + val hasValueExpression: Boolean, private val scope: CoroutineScope, private val updateValue: (Any?) -> Unit, private val evaluateExpressions: suspend () -> Result>, @@ -216,43 +218,20 @@ internal abstract class BaseFieldState( * @param errors the list of validation errors * @return A single validation error */ - private fun filterErrors(errors: List): ValidationErrorState { - // if editable - return if (errors.isNotEmpty() && isEditable.value) { - // if it has been focused - if (wasFocused) { - // if not in focus - if (!isFocused.value) { - // show a required error if it is present - if (errors.any { it is ValidationErrorState.Required }) { - ValidationErrorState.Required - } else { - // show any other error - errors.first() - } - } else { - // if is a text field and is focused, empty and has a description do not show - // any error - if (value.value.data is String - && (value.value.data as String).isEmpty() - && description.isNotEmpty()) { - ValidationErrorState.NoError - } else { - // show the first non-required error - errors.firstOrNull { it !is ValidationErrorState.Required } - // if none is found, do not show any error - ?: ValidationErrorState.NoError - } - } - } else { - // never been focused - ValidationErrorState.NoError - } - } else { - // not editable - ValidationErrorState.NoError + private fun filterErrors(errors: List): ValidationErrorState = + when { + // if there are no errors + hasNoErrors(errors) -> ValidationErrorState.NoError + // if the field has a value expression + hasValueExpression -> errors.first() + // if the field was focused and is focused + wasFocused && isFocused.value -> handleFocusedErrors(errors) + // if the field was focused but is not currently focused + wasFocused && !isFocused.value -> handleNonFocusedErrors(errors) + // if the field has never been focused + else -> ValidationErrorState.NoError } - } + /** * Implement this method to provide the proper type conversion from [T] to an Any?. This @@ -263,3 +242,36 @@ internal abstract class BaseFieldState( */ abstract fun typeConverter(input: T): Any? } + +/** + * Returns true if the field should not show any errors. + */ +private fun BaseFieldState<*>.hasNoErrors(errors: List): Boolean { + return errors.isEmpty() || !(hasValueExpression || isEditable.value) +} + +/** + * Returns the appropriate error to show when the field is focused. + */ +private fun BaseFieldState<*>.handleFocusedErrors(errors: List): ValidationErrorState { + // if is a text field that is empty and has a description do not show any error + return if (value.value.data is String && (value.value.data as String).isEmpty() && description.isNotEmpty()) { + ValidationErrorState.NoError + } else { + // show the first non-required error + errors.firstOrNull { it !is ValidationErrorState.Required } ?: ValidationErrorState.NoError + } +} + +/** + * Returns the appropriate error to show when the field is not focused. + */ +private fun BaseFieldState<*>.handleNonFocusedErrors(errors: List): ValidationErrorState { + // show a required error if it is present + return if (errors.any { it is ValidationErrorState.Required }) { + ValidationErrorState.Required + } else { + // show any other error + errors.first() + } +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt index 312362b51..c02ec0152 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/BaseTextField.kt @@ -30,6 +30,7 @@ import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.CheckCircle import androidx.compose.material.icons.rounded.Clear +import androidx.compose.material.icons.rounded.Code import androidx.compose.material.icons.rounded.TextFields import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -43,6 +44,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.vector.ImageVector @@ -85,6 +87,8 @@ import com.arcgismaps.toolkit.featureforms.theme.LocalTypography * @param modifier a [Modifier] for this text field. * @param readOnly controls the editable state of the text field. When true, the text field cannot * be modified. However, a user can focus it and copy text from it. + * @param hasValueExpression if true, a special icon will be displayed at the end of the text field + * given that [readOnly] is also set to true. * @param showCharacterCount if true shows the current character count of the [text]. * @param keyboardType the keyboard type to use depending on the FormFieldElement input type. * @param trailingIcon the icon to be displayed at the end of the text field container. @@ -106,6 +110,7 @@ internal fun BaseTextField( singleLine: Boolean, modifier: Modifier = Modifier, readOnly: Boolean = !isEditable, + hasValueExpression: Boolean, showCharacterCount: Boolean = false, keyboardType: KeyboardType = KeyboardType.Ascii, trailingIcon: ImageVector? = null, @@ -213,7 +218,9 @@ internal fun BaseTextField( ReadOnlyTextField( label = label, text = text, - supportingText = supportingText + supportingText = supportingText, + isError = isError, + hasValueExpression = hasValueExpression ) } } @@ -256,31 +263,56 @@ private fun ReadOnlyTextField( text: String, modifier: Modifier = Modifier, supportingText: String, + isError: Boolean, + hasValueExpression: Boolean ) { val colors = LocalColorScheme.current.readOnlyFieldColors val typography = LocalTypography.current.readOnlyFieldTypography - Column(modifier = modifier.fillMaxWidth()) { - Text( - text = label, - overflow = TextOverflow.Ellipsis, - maxLines = 1, - color = colors.labelColor, - style = typography.labelStyle - ) - SelectionContainer( - modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp) + Row( + modifier = modifier + .fillMaxWidth() + // merge descendants semantics to make them part of the parent node + .semantics(mergeDescendants = true) {}, + verticalAlignment = Alignment.Top + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .weight(1f) ) { Text( - text = text.ifEmpty { "--" }, - color = colors.textColor, - style = typography.textStyle + text = label, + overflow = TextOverflow.Ellipsis, + maxLines = 1, + color = colors.labelColor, + style = typography.labelStyle ) + SelectionContainer( + modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp) + ) { + Text( + text = text.ifEmpty { "--" }, + color = colors.textColor, + style = typography.textStyle + ) + } + if (supportingText.isNotEmpty()) { + Text( + text = supportingText, + color = if (!isError) { + colors.supportingTextColor + } else { + colors.errorSupportingTextColor + }, + style = typography.supportingTextStyle + ) + } } - if (supportingText.isNotEmpty()) { - Text( - text = supportingText, - color = colors.supportingTextColor, - style = typography.supportingTextStyle + if (hasValueExpression) { + Icon( + imageVector = Icons.Rounded.Code, + contentDescription = "calculated field", + modifier = Modifier.padding(horizontal = 8.dp) ) } } @@ -358,6 +390,7 @@ private fun ReadOnlyTextFieldPreview() { isRequired = true, singleLine = false, trailingIcon = Icons.Rounded.TextFields, + hasValueExpression = true ) } } @@ -377,6 +410,7 @@ private fun BaseTextFieldPreview() { isRequired = true, singleLine = false, trailingIcon = Icons.Rounded.TextFields, + hasValueExpression = false ) } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt index eff151980..a5ebccd11 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt @@ -19,6 +19,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.base import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import com.arcgismaps.toolkit.featureforms.R @@ -28,12 +29,12 @@ internal sealed class ValidationErrorState( ) { data object NoError : ValidationErrorState() data object Required : ValidationErrorState() - class MinMaxCharConstraint(min: Int, max: Int) : ValidationErrorState(min, max) - class ExactCharConstraint(length: Int) : ValidationErrorState(length) + class MinMaxCharConstraint(min: Int, max: Int, hasValueExpression : Boolean) : ValidationErrorState(min, max, hasValueExpression) + class ExactCharConstraint(length: Int, hasValueExpression: Boolean) : ValidationErrorState(length, hasValueExpression) class MaxCharConstraint(max: Int) : ValidationErrorState(max) class MinNumericConstraint(min: String) : ValidationErrorState(min) class MaxNumericConstraint(max: String) : ValidationErrorState(max) - class MinMaxNumericConstraint(min: String, max: String) : ValidationErrorState(min, max) + class MinMaxNumericConstraint(min: String, max: String, hasValueExpression: Boolean) : ValidationErrorState(min, max, hasValueExpression) class MinDatetimeConstraint(min: String) : ValidationErrorState(min) class MaxDatetimeConstraint(max: String) : ValidationErrorState(max) data object NotANumber : ValidationErrorState() @@ -54,11 +55,22 @@ internal sealed class ValidationErrorState( } is MinMaxCharConstraint -> { - stringResource(id = R.string.enter_min_to_max_chars, *formatArgs) + val hasValueExpression = formatArgs.last() as Boolean + if (hasValueExpression) { + stringResource(id = R.string.value_must_be_from_to_characters, *formatArgs) + } else { + stringResource(id = R.string.enter_min_to_max_chars, *formatArgs) + } } is ExactCharConstraint -> { - stringResource(id = R.string.enter_n_chars, *formatArgs) + val hasValueExpression = formatArgs.last() as Boolean + val length = formatArgs.first() as Int + if (hasValueExpression) { + pluralStringResource(id = R.plurals.value_must_be_n_characters, length, length) + } else { + pluralStringResource(id = R.plurals.enter_n_chars, length, length) + } } is MaxCharConstraint -> { @@ -74,7 +86,12 @@ internal sealed class ValidationErrorState( } is MinMaxNumericConstraint -> { - stringResource(id = R.string.numeric_range_helper_text, *formatArgs) + val hasValueExpression = formatArgs.last() as Boolean + if (hasValueExpression) { + stringResource(R.string.value_must_be_from_to, *formatArgs) + } else { + stringResource(id = R.string.numeric_range_helper_text, *formatArgs) + } } is MinDatetimeConstraint -> { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt index 97dd70d0c..20e363f8e 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/Flows.kt @@ -159,9 +159,20 @@ private fun createValidationErrorStates( } if (min > 0 && max > 0) { if (min == max) { - add(ValidationErrorState.ExactCharConstraint(min)) + add( + ValidationErrorState.ExactCharConstraint( + min, + formElement.hasValueExpression + ) + ) } else { - add(ValidationErrorState.MinMaxCharConstraint(min, max)) + add( + ValidationErrorState.MinMaxCharConstraint( + min, + max, + formElement.hasValueExpression + ) + ) } } else { add(ValidationErrorState.MaxCharConstraint(max)) @@ -182,7 +193,8 @@ private fun createValidationErrorStates( add( ValidationErrorState.MinMaxNumericConstraint( min.format(), - max.format() + max.format(), + formElement.hasValueExpression ) ) } else if (min != null) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt index 886029b8a..62867919f 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/CodedValueFieldState.kt @@ -51,6 +51,7 @@ internal open class CodedValueFieldProperties( * @param properties the [CodedValueFieldProperties] associated with this state. * @param initialValue optional initial value to set for this field. It is set to the value of * [TextFieldProperties.value] by default. + * @param hasValueExpression a flag to indicate if the field has a value expression. * @param scope a [CoroutineScope] to start [StateFlow] collectors on. * @param updateValue a function that is invoked when the user edits result in a change of value. This * is called in [BaseFieldState.onValueChanged]. @@ -61,6 +62,7 @@ internal abstract class CodedValueFieldState( id : Int, properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> @@ -69,6 +71,7 @@ internal abstract class CodedValueFieldState( properties = properties, scope = scope, initialValue = initialValue, + hasValueExpression = hasValueExpression, updateValue = updateValue, evaluateExpressions = evaluateExpressions ) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt index 190318eb3..df6075a63 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxField.kt @@ -134,7 +134,8 @@ internal fun ComboBoxField( { Icon(imageVector = Icons.AutoMirrored.Outlined.List, contentDescription = "field icon") } - } else null + } else null, + hasValueExpression = state.hasValueExpression ) LaunchedEffect(interactionSource) { @@ -365,6 +366,7 @@ private fun ComboBoxPreview() { showNoValueOption = FormInputNoValueOption.Show, noValueLabel = "No value" ), + hasValueExpression = false, scope = scope, id = 1, updateValue = {}, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt index 064ada651..8621546c6 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/ComboBoxFieldState.kt @@ -35,10 +35,11 @@ internal class ComboBoxFieldState( id : Int, properties: CodedValueFieldProperties, initialValue: Any? = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> -) : CodedValueFieldState(id, properties, initialValue, scope, updateValue, evaluateExpressions) { +) : CodedValueFieldState(id, properties, initialValue, hasValueExpression, scope, updateValue, evaluateExpressions) { companion object { /** @@ -75,6 +76,7 @@ internal class ComboBoxFieldState( fieldType = formElement.fieldType ), initialValue = list[0], + hasValueExpression = formElement.hasValueExpression, scope = scope, updateValue = formElement::updateValue, evaluateExpressions = form::evaluateExpressions @@ -112,6 +114,7 @@ internal fun rememberComboBoxFieldState( noValueLabel = input.noValueLabel, fieldType = field.fieldType ), + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt index 41f08b4d2..485c5a358 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonField.kt @@ -83,7 +83,8 @@ internal fun RadioButtonField( supportingText = state.description, isError = false, isRequired = required, - singleLine = true + singleLine = true, + hasValueExpression = state.hasValueExpression ) } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt index 58475c4b2..43acb9fef 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/RadioButtonFieldState.kt @@ -33,6 +33,7 @@ internal class RadioButtonFieldState( id : Int, properties: RadioButtonFieldProperties, initialValue: Any? = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> @@ -40,6 +41,7 @@ internal class RadioButtonFieldState( id, properties = properties, initialValue = initialValue, + hasValueExpression = hasValueExpression, scope = scope, updateValue = updateValue, evaluateExpressions = evaluateExpressions @@ -91,6 +93,7 @@ internal class RadioButtonFieldState( noValueLabel = input.noValueLabel ), initialValue = list[0], + hasValueExpression = formElement.hasValueExpression, scope = scope, updateValue = formElement::updateValue, evaluateExpressions = form::evaluateExpressions @@ -126,6 +129,7 @@ internal fun rememberRadioButtonFieldState( showNoValueOption = input.noValueOption, noValueLabel = input.noValueLabel ), + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchField.kt index 569dcb814..48d1a8b77 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchField.kt @@ -52,7 +52,8 @@ internal fun SwitchField(state: SwitchFieldState, modifier: Modifier = Modifier) isError = false, isRequired = false, singleLine = true, - interactionSource = interactionSource + interactionSource = interactionSource, + hasValueExpression = state.hasValueExpression ) { Switch( checked = checkedState, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt index 0c7ff94f0..1c333f5d7 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/codedvalue/SwitchFieldState.kt @@ -83,6 +83,7 @@ internal class SwitchFieldState( id : Int, properties: SwitchFieldProperties, val initialValue: Any? = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> @@ -91,6 +92,7 @@ internal class SwitchFieldState( properties = properties, scope = scope, initialValue = initialValue, + hasValueExpression = hasValueExpression, updateValue = updateValue, evaluateExpressions = evaluateExpressions ) { @@ -146,6 +148,7 @@ internal class SwitchFieldState( noValueLabel = noValueString ), initialValue = list[0], + hasValueExpression = formElement.hasValueExpression, scope = scope, updateValue = formElement::updateValue, evaluateExpressions = form::evaluateExpressions @@ -190,6 +193,7 @@ internal fun rememberSwitchFieldState( FormInputNoValueOption.Hide, noValueLabel = noValueString ), + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt index 19d6d17ec..4accc1213 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeField.kt @@ -88,7 +88,8 @@ internal fun DateTimeField( } } else { null - } + }, + hasValueExpression = state.hasValueExpression ) LaunchedEffect(interactionSource) { @@ -123,6 +124,7 @@ private fun DateTimeFieldPreview() { maxEpochMillis = null, shouldShowTime = true ), + hasValueExpression = false, scope = scope, updateValue = {}, id = 1, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt index 466291dde..288df2a0e 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/datetime/DateTimeFieldState.kt @@ -67,6 +67,7 @@ internal class DateTimeFieldState( id : Int, properties: DateTimeFieldProperties, initialValue: Instant? = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> @@ -74,6 +75,7 @@ internal class DateTimeFieldState( id = id, properties = properties, initialValue = initialValue, + hasValueExpression = hasValueExpression, scope = scope, updateValue = updateValue, evaluateExpressions = evaluateExpressions @@ -113,6 +115,7 @@ internal class DateTimeFieldState( shouldShowTime = input.includeTime ), initialValue = list[0] as Instant?, + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions @@ -155,6 +158,7 @@ internal fun rememberDateTimeFieldState( maxEpochMillis = maxEpochMillis, shouldShowTime = shouldShowTime ), + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextField.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextField.kt index fba537429..170baeb4f 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextField.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextField.kt @@ -57,6 +57,7 @@ internal fun FormTextField( singleLine = state.singleLine, keyboardType = if (state.fieldType.isNumeric) KeyboardType.Number else KeyboardType.Ascii, showCharacterCount = showCharacterCount, - onFocusChange = state::onFocusChanged + onFocusChange = state::onFocusChanged, + hasValueExpression = state.hasValueExpression ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt index cb4900217..258f303d8 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/text/FormTextFieldState.kt @@ -72,6 +72,7 @@ internal class FormTextFieldState( id : Int, properties: TextFieldProperties, initialValue: String = properties.value.value, + hasValueExpression : Boolean, scope: CoroutineScope, updateValue: (Any?) -> Unit, evaluateExpressions: suspend () -> Result> @@ -79,6 +80,7 @@ internal class FormTextFieldState( id = id, properties = properties, initialValue = initialValue, + hasValueExpression = hasValueExpression, scope = scope, updateValue = updateValue, evaluateExpressions = evaluateExpressions @@ -152,6 +154,7 @@ internal class FormTextFieldState( maxLength = maxLength.toInt() ), initialValue = list[0] as String, + hasValueExpression = formElement.hasValueExpression, scope = scope, updateValue = formElement::updateValue, evaluateExpressions = form::evaluateExpressions @@ -192,6 +195,7 @@ internal fun rememberFormTextFieldState( minLength = minLength, maxLength = maxLength ), + hasValueExpression = field.hasValueExpression, scope = scope, updateValue = field::updateValue, evaluateExpressions = form::evaluateExpressions, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt index ecd7529b2..58970ecda 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/DefaultThemeTokens.kt @@ -87,7 +87,8 @@ internal object DefaultThemeTokens { readOnlyFieldColors = ReadOnlyFieldColors( labelColor = Color.Unspecified, textColor = Color.Unspecified, - supportingTextColor = Color.Unspecified + supportingTextColor = Color.Unspecified, + errorSupportingTextColor = ColorTokens.Error ), groupElementColors = GroupElementColors( labelColor = Color.Unspecified, diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt index dbe3675b0..e505f250b 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults.kt @@ -167,18 +167,21 @@ public object FeatureFormDefaults { * @param labelColor the color used for the label of this field * @param textColor the color used for the text of this field * @param supportingTextColor the color used for the supporting text of this field + * @param errorSupportingTextColor the color used for the supporting text of this field when in error state * @since 200.5.0 */ @Composable public fun readOnlyFieldColors( labelColor: Color = Color.Unspecified, textColor: Color = Color.Unspecified, - supportingTextColor: Color = Color.Unspecified + supportingTextColor: Color = Color.Unspecified, + errorSupportingTextColor : Color = MaterialTheme.colorScheme.error ): ReadOnlyFieldColors { return ReadOnlyFieldColors( labelColor = labelColor, textColor = textColor, - supportingTextColor = supportingTextColor + supportingTextColor = supportingTextColor, + errorSupportingTextColor = errorSupportingTextColor ) } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt index 58f79cc93..e33a4ec95 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/theme/FeatureFormTheme.kt @@ -221,13 +221,15 @@ public data class EditableTextFieldColors internal constructor( * @property labelColor the color used for the label of this field * @property textColor the color used for the text of this field * @property supportingTextColor the color used for the supporting text of this field + * @property errorSupportingTextColor the color used for the supporting text of this field when in error state * @since 200.5.0 */ @Immutable public data class ReadOnlyFieldColors internal constructor( public val labelColor: Color, public val textColor: Color, - public val supportingTextColor: Color + public val supportingTextColor: Color, + public val errorSupportingTextColor : Color ) /** diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 0cdeb4b86..fd6888c84 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -17,8 +17,16 @@ --> - Enter %1$d characters + + Enter %1$d character + Enter %1$d characters + + + Value must be %1$d character + Value must be %1$d characters + Enter %1$d to %2$d characters + Value must be %1$d to %2$d characters Maximum %1$d characters No value Enter Value @@ -30,6 +38,7 @@ Done Filter %1$s Enter value from %1$s to %2$s + Value must be from %1$s to %2$s Less than minimum value %1$s Exceeds maximum value %1$s Value must be a whole number @@ -89,6 +98,7 @@ for minutes Select AM or PM PM + Take Photo Add From Gallery Rename From 1026ae4dc25d4adf6bfdc07d2538d4503fa2876c Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 17 Jun 2024 14:42:01 -0700 Subject: [PATCH 38/53] fix insertion index (#469) --- .../internal/components/attachment/AttachmentElementState.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 2ac47f10b..ea766f370 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -162,13 +162,14 @@ internal class AttachmentElementState( scope = scope, formAttachment = formAttachment ) - attachments.add(state) + // add the new state to the beginning of the list + attachments.add(0, state) // load the new attachment state.loadWithParentScope() // scroll to the new attachment after a delay to allow the recomposition to complete scope.launch { delay(100) - lazyListState.scrollToItem(attachments.count()) + lazyListState.scrollToItem(0) evaluateExpressions() } } From bbdc9f8e1f89c26097aff785daa7098bd517b66b Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 20 Jun 2024 13:48:34 -0700 Subject: [PATCH 39/53] fixes failing tests (#470) --- .../toolkit/featureforms/GroupElementTests.kt | 16 ++++++++++++---- .../toolkit/featureforms/ThemingTests.kt | 3 +++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt index e76fae5ad..637b500ad 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt @@ -20,11 +20,12 @@ import androidx.compose.ui.semantics.SemanticsProperties import androidx.compose.ui.state.ToggleableState import androidx.compose.ui.test.SemanticsNodeInteraction import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.assertIsSelected import androidx.compose.ui.test.assertTextContains -import androidx.compose.ui.test.hasScrollAction import androidx.compose.ui.test.hasText import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onChildren +import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.onParent import androidx.compose.ui.test.performClick @@ -105,7 +106,7 @@ class GroupElementTests { val groupElementToTest = getGroupElementWithLabel("Group with children that are visible dependent") // find the scrollable container - val lazyColumn = composeTestRule.onNode(hasScrollAction()) + val lazyColumn = composeTestRule.onNodeWithContentDescription("lazy column") // scroll until the group is visible lazyColumn.performScrollToNode(hasText(groupElementToTest.label)) // find the group and check if displayed @@ -115,8 +116,15 @@ class GroupElementTests { groupElement.assertTextContains(groupElementToTest.description) // assert only the header is visible and other field elements are not assert(groupElement.onParent().onChildren().fetchSemanticsNodes().count() == 1) - // find and click on the radio button option - composeTestRule.onNodeWithText("show invisible form element").performClick() + // find the radio button option that enables the group element's children visibility + val radioButtonLabel = "show invisible form element" + val radioButton = composeTestRule.onNodeWithText(radioButtonLabel) + // scroll to the radio button and click it + lazyColumn.performScrollToNode(hasText(radioButtonLabel)) + radioButton.performClick() + radioButton.assertIsSelected() + // scroll back to the group element + lazyColumn.performScrollToNode(hasText(groupElementToTest.label)) // assert the and other field elements are visible assert(groupElement.onParent().onChildren().fetchSemanticsNodes().count() > 1) } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt index 366dac1f4..6d090696e 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt @@ -135,8 +135,11 @@ class ThemingTests { field.performTextInput("test") val text = composeTestRule.onNodeWithText("test", useUnmergedTree = true) text.assertIsDisplayed() + // bring focus to the field + field.performClick() // test focused text color text.assertTextColor(Color.Blue) + // clear focus from the field field.performImeAction() // test unfocused text color text.assertTextColor(Color.Black) From 12180bc0a760d053e8b9a959f69fe6c7e05a0ea2 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 20 Jun 2024 13:48:57 -0700 Subject: [PATCH 40/53] bump sdk (#471) --- gradle.properties | 2 +- .../attachment/AttachmentElementState.kt | 18 ------------------ .../attachment/AttachmentFormElement.kt | 2 +- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/gradle.properties b/gradle.properties index 0a26e4262..64abbbbf1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4265 +sdkBuildNumber=4273 diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index ea766f370..adafe2817 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -45,9 +45,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import com.arcgismaps.LoadStatus import com.arcgismaps.Loadable -import com.arcgismaps.mapping.featureforms.AnyAttachmentsFormInput import com.arcgismaps.mapping.featureforms.AttachmentsFormElement -import com.arcgismaps.mapping.featureforms.AttachmentsFormInput import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.mapping.featureforms.FormAttachmentType @@ -102,11 +100,6 @@ internal class AttachmentElementState( */ val lazyListState = LazyListState() - /** - * The input type of the attachment form element. - */ - val input = formElement.input - init { scope.launch { formElement.fetchAttachments().onSuccess { @@ -487,17 +480,6 @@ internal sealed class CaptureOptions { Unknown -> emptyList() } } - - companion object { - - /** - * Creates a [CaptureOptions] from the given [AttachmentsFormInput]. - */ - fun create(value: AttachmentsFormInput): CaptureOptions = when (value) { - is AnyAttachmentsFormInput -> Any - else -> Unknown - } - } } @Composable diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 005806bee..b68b28dfa 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -86,7 +86,7 @@ internal fun AttachmentFormElement( label = state.label, description = state.description, editable = editable, - captureOptions = CaptureOptions.create(state.input), + captureOptions = CaptureOptions.Any, stateId = state.id, attachments = state.attachments, lazyListState = state.lazyListState, From bd53893c9d8f95af19bb3c10eb4c26fbc419c228 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 24 Jun 2024 10:56:05 -0700 Subject: [PATCH 41/53] added horizontal scrollbar (#473) --- .../attachment/AttachmentFormElement.kt | 97 ++++++++++++++++++- .../components/attachment/AttachmentTile.kt | 5 +- 2 files changed, 97 insertions(+), 5 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index b68b28dfa..52459b020 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -20,12 +20,14 @@ import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.animation.core.animateFloatAsState +import androidx.compose.animation.core.tween import androidx.compose.foundation.BorderStroke -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size @@ -58,11 +60,17 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.composed import androidx.compose.ui.draw.alpha +import androidx.compose.ui.draw.drawWithContent +import androidx.compose.ui.geometry.CornerRadius +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog @@ -140,13 +148,22 @@ internal fun AttachmentFormElement( @Composable private fun Carousel(state: LazyListState, attachments: List) { LazyRow( + modifier = Modifier + .fillMaxWidth() + .horizontalScrollbar( + state = state, + trackColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.1f), + color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.5f), + height = 4.dp, + offsetY = 5.dp, + autoHide = false + ), state = state, - horizontalArrangement = Arrangement.spacedBy(15.dp), ) { items(attachments, key = { it.formAttachment.hashCode() }) { attachment -> - AttachmentTile(attachment) + AttachmentTile(state = attachment, modifier = Modifier.padding(end = 15.dp)) } } } @@ -442,6 +459,80 @@ private sealed class PickerStyle { data class File(val allowedMimeTypes: List) : PickerStyle() } +/** + * Creates a horizontal scrollbar for a [LazyRow] with the given [state]. [offsetY] can be used to + * adjust the offset of the scrollbar in the Y axis. This also adds the required padding to the + * [LazyRow] to accommodate the scrollbar. [autoHide] can be used to auto-hide the scrollbar when + * not scrolling. If the content of the [LazyRow] is not scrollable, the scrollbar will not be shown + * regardless of the [autoHide] value. + * + * Limitations: + * - The items in the [LazyRow] should have the same width including the padding. + * - Padding should be applied to the items in the [LazyRow] and not to the [LazyRow] itself. + * + * @param state The [LazyListState] of the [LazyRow]. + * @param trackColor The color of the scrollbar track. + * @param color The color of the scrollbar. + * @param height The height of the scrollbar. + * @param offsetY The offset of the scrollbar in the Y axis, from the bottom of the [LazyRow]. + * @param autoHide Whether the scrollbar should auto-hide when not scrolling. + */ +internal fun Modifier.horizontalScrollbar( + state: LazyListState, + trackColor: Color, + color: Color, + height: Dp, + offsetY: Dp, + autoHide: Boolean = true +): Modifier = this + .padding(bottom = offsetY) + .then( + composed { + // fade in fast when scrolling, fade out slow when not scrolling + val duration = if (state.isScrollInProgress) 50 else 500 + // animate the scrollbar alpha based on the scroll state + val alpha by animateFloatAsState( + targetValue = if (!autoHide || state.isScrollInProgress) 1f else 0f, + animationSpec = tween(durationMillis = duration), + label = "" + ) + + drawWithContent { + drawContent() + + val firstVisibleElement = + state.layoutInfo.visibleItemsInfo.firstOrNull() ?: return@drawWithContent + val itemWidth = firstVisibleElement.size.toFloat() + val totalWidth = itemWidth * state.layoutInfo.totalItemsCount + val scrollbarWidth = minOf(size.width / totalWidth, 1f) * size.width + // Do not draw scrollbar if it is not needed + if (scrollbarWidth >= size.width) return@drawWithContent + // Calculate the x offset of the scrollbar + val scrollBarOffsetX = (size.width / totalWidth) * + (state.firstVisibleItemIndex * itemWidth + state.firstVisibleItemScrollOffset) + // Calculate the y offset of the scrollbar + val scrollBarOffsetY = size.height + height.toPx() + offsetY.toPx() + + // draw the scroll bar track + drawRoundRect( + color = trackColor, + topLeft = Offset(0f, scrollBarOffsetY), + size = androidx.compose.ui.geometry.Size(size.width, height.toPx()), + cornerRadius = CornerRadius(10f, 10f), + alpha = alpha + ) + // draw the scroll bar + drawRoundRect( + color = color, + topLeft = Offset(scrollBarOffsetX, scrollBarOffsetY), + size = androidx.compose.ui.geometry.Size(scrollbarWidth, height.toPx()), + cornerRadius = CornerRadius(10f, 10f), + alpha = alpha + ) + } + } + ) + @Preview @Composable private fun AttachmentFormElementPreview() { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index fd3605866..d25b755af 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -102,7 +102,8 @@ import java.io.File @Composable internal fun AttachmentTile( - state: FormAttachmentState + state: FormAttachmentState, + modifier: Modifier = Modifier ) { val loadStatus by state.loadStatus.collectAsState() val interactionSource = remember { MutableInteractionSource() } @@ -114,7 +115,7 @@ internal fun AttachmentTile( val context = LocalContext.current Surface( onClick = {}, - modifier = Modifier + modifier = modifier .width(92.dp) .height(75.dp) .clip(shape = RoundedCornerShape(8.dp)) From 861993d178b8cd1abc50f376dcc72bdbd02c081c Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 28 Jun 2024 11:51:53 -0700 Subject: [PATCH 42/53] `Forms` : Add attachment tests (#480) --- toolkit/featureforms/build.gradle.kts | 1 + .../toolkit/featureforms/AttachmentTests.kt | 80 ++++++++++++++ .../featureforms/FeatureFormTestRunner.kt | 100 ++++++++++++++++++ .../attachment/AttachmentFormElement.kt | 3 +- .../components/attachment/AttachmentTile.kt | 10 +- 5 files changed, 188 insertions(+), 6 deletions(-) create mode 100644 toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/AttachmentTests.kt create mode 100644 toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt diff --git a/toolkit/featureforms/build.gradle.kts b/toolkit/featureforms/build.gradle.kts index efb6e588e..dcf60b5b8 100644 --- a/toolkit/featureforms/build.gradle.kts +++ b/toolkit/featureforms/build.gradle.kts @@ -115,6 +115,7 @@ dependencies { implementation(libs.androidx.activity.compose) implementation(libs.androidx.material.icons) testImplementation(libs.bundles.unitTest) + androidTestImplementation(libs.truth) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.bundles.composeTest) debugImplementation(libs.bundles.debug) diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/AttachmentTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/AttachmentTests.kt new file mode 100644 index 000000000..e342500ac --- /dev/null +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/AttachmentTests.kt @@ -0,0 +1,80 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms + +import androidx.compose.ui.semantics.SemanticsProperties +import androidx.compose.ui.semantics.getOrNull +import androidx.compose.ui.test.assertContentDescriptionContains +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.assertTextContains +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.performClick +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class AttachmentTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=3e551c383fc949c7982ec73ba67d409b", + objectId = 1 +) { + @get:Rule + val composeTestRule = createComposeRule() + + /** + * Test case 8.1: + * Given a `FeatureForm` with a `defaultAttachmentsElement` that has an image attachment + * When the `FeatureForm` is displayed + * Then the image attachment is displayed with the correct size and download icon + * And the attachment is downloaded correctly + * https://devtopia.esri.com/runtime/common-toolkit/blob/main/designs/Forms/FormsTestDesign.md#test-case-81-test-image-attachment-data + */ + @Test + fun testImageAttachments() = runTest { + composeTestRule.setContent { + FeatureForm(featureForm = featureForm) + } + val attachmentsFormElement = featureForm.defaultAttachmentsElement + assertThat(attachmentsFormElement).isNotNull() + val formAttachment = attachmentsFormElement!!.attachments.first() + // get the attachments form element node + val attachmentsField = composeTestRule.onNodeWithText(attachmentsFormElement.label) + attachmentsField.assertIsDisplayed() + // get the form attachment node + val attachmentNode = attachmentsField.onChildWithText(formAttachment.name) + attachmentNode.assertIsDisplayed() + // check the attachment size is visible + attachmentNode.assertTextContains("154 kB") + // check the download icon is visible + attachmentNode.assertContentDescriptionContains("Download") + // download the attachment + attachmentNode.performClick() + // wait for the attachment to download + composeTestRule.waitUntil(timeoutMillis = 5_000) { + val contentDescription = + attachmentNode.fetchSemanticsNode().config.getOrNull(SemanticsProperties.ContentDescription) + // check the download icon is no longer visible which indicates the attachment + // has been downloaded + contentDescription?.none { item -> + item.equals("Download", true) + } ?: false + } + // check the thumbnail icon is visible + attachmentNode.assertContentDescriptionContains("Thumbnail") + } +} diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt new file mode 100644 index 000000000..b299be1fd --- /dev/null +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt @@ -0,0 +1,100 @@ +/* + * Copyright 2024 Esri + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.arcgismaps.toolkit.featureforms + +import com.arcgismaps.ArcGISEnvironment +import com.arcgismaps.LoadStatus +import com.arcgismaps.Loadable +import com.arcgismaps.data.ArcGISFeature +import com.arcgismaps.data.QueryParameters +import com.arcgismaps.mapping.ArcGISMap +import com.arcgismaps.mapping.featureforms.FeatureForm +import com.arcgismaps.mapping.layers.FeatureLayer +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.test.runTest +import org.junit.Before + +/** + * A test runner for feature form tests. This class is responsible for loading the map with the + * given [uri] and the feature with the given [objectId] and initializing the [FeatureForm] for + * the feature. + * + * If the [FeatureForm] is already initialized, the setup method will not run again. + * + * If the map fails to load or the feature is not found, the test will fail. + * + * @param uri The URI of the web map. + * @param objectId The ID of the feature. + */ +open class FeatureFormTestRunner( + private val uri: String, + private val objectId: Long +) { + @Before + fun setup(): Unit = runTest { + // If the feature form is already initialized, return + if (isInitialized) return@runTest + ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = + FeatureFormsTestChallengeHandler( + BuildConfig.webMapUser, BuildConfig.webMapPassword + ) + // Load the map + val map = ArcGISMap(uri = uri) + map.assertIsLoaded() + // Load the feature layer + val featureLayer = map.operationalLayers.first() as? FeatureLayer + assertThat(featureLayer).isNotNull() + featureLayer!!.assertIsLoaded() + // Get the feature form definition + val featureFormDefinition = featureLayer.featureFormDefinition + assertThat(featureFormDefinition).isNotNull() + // Query the feature + val parameters = QueryParameters().also { + it.objectIds.add(objectId) + it.maxFeatures = 1 + } + val featureQueryResult = featureLayer.featureTable?.queryFeatures(parameters)?.getOrNull() + assertThat(featureQueryResult).isNotNull() + val feature = featureQueryResult!!.find { + it is ArcGISFeature + } as? ArcGISFeature + assertThat(feature).isNotNull() + feature!!.assertIsLoaded() + // Initialize the feature form + featureForm = FeatureForm(feature, featureFormDefinition!!) + featureForm.evaluateExpressions() + } + + // The featureForm must be a singleton because the test runner creates a new instance of this + // class for each test method. This avoids reinitializing the feature form for each test method. + companion object { + /** + * The feature form for the feature with the given [objectId]. + */ + lateinit var featureForm: FeatureForm + private set + + private val isInitialized : Boolean + get() = ::featureForm.isInitialized + } +} + +suspend fun Loadable.assertIsLoaded() { + val result = load() + assertThat(loadStatus.value).isEqualTo(LoadStatus.Loaded) + assertThat(result.isSuccess).isTrue() +} diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 52459b020..713557474 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -68,6 +68,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp @@ -117,7 +118,7 @@ internal fun AttachmentFormElement( colors: AttachmentElementColors = AttachmentElementDefaults.colors() ) { Card( - modifier = modifier, + modifier = modifier.semantics(mergeDescendants = true) {}, shape = AttachmentElementDefaults.containerShape, border = BorderStroke(AttachmentElementDefaults.borderThickness, colors.borderColor) ) { diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index d25b755af..eb7ab0591 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -262,14 +262,14 @@ private fun LoadedView( if (thumbnailUri.isNotEmpty()) { AsyncImage( model = thumbnailUri, - contentDescription = null, + contentDescription = "Thumbnail", contentScale = ContentScale.Crop, modifier = Modifier.fillMaxSize() ) } else { Icon( imageVector = type.getIcon(), - contentDescription = null, + contentDescription = "Thumbnail", modifier = Modifier .padding(top = 10.dp, bottom = 25.dp) .fillMaxSize(0.8f) @@ -322,7 +322,7 @@ private fun DefaultView( Size(size = size) Icon( imageVector = Icons.Outlined.ArrowDownward, - contentDescription = null, + contentDescription = "Download", modifier = Modifier.size(11.dp) ) } @@ -334,14 +334,14 @@ private fun DefaultView( } else if (isError) { Image( imageVector = Icons.Outlined.ErrorOutline, - contentDescription = null, + contentDescription = "Error", modifier = Modifier.size(20.dp), colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.error) ) } else { Icon( imageVector = type.getIcon(), - contentDescription = null, + contentDescription = "Placeholder", modifier = Modifier.size(20.dp) ) } From 5f4848312e6d09ed805fd41fae6b8dec20a76fb0 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 1 Jul 2024 14:44:38 -0700 Subject: [PATCH 43/53] `Forms` : Refactor tests (#488) --- .../featureforms/CalculatedFieldTests.kt | 52 +---- .../featureforms/ComboBoxFieldTests.kt | 108 +++------- .../featureforms/DateTimeFieldTests.kt | 132 +++++------- .../featureforms/FeatureFormTestRunner.kt | 24 +-- .../featureforms/FormTextFieldNumericTests.kt | 94 +++----- .../FormTextFieldRangeNumericTests.kt | 78 ++----- .../featureforms/FormTextFieldTests.kt | 202 +++++++++--------- .../toolkit/featureforms/GroupElementTests.kt | 88 ++------ .../featureforms/RadioButtonFieldTests.kt | 54 +---- .../toolkit/featureforms/SwitchFieldTests.kt | 52 +---- .../toolkit/featureforms/ThemingTests.kt | 92 ++------ 11 files changed, 290 insertions(+), 686 deletions(-) diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt index 88f96f01e..db51e369c 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/CalculatedFieldTests.kt @@ -22,19 +22,14 @@ import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertTextContains import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase import kotlinx.coroutines.test.runTest -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class CalculatedFieldTests { +class CalculatedFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=5f71b243b37e43a5ace3190241db0ac9", + objectId = 1 +) { @get:Rule val composeTestRule = createComposeRule() @@ -74,43 +69,4 @@ class CalculatedFieldTests { field.assertTextContains("Value must be from 2 to 5") field.assertContentDescriptionContains(contentDescription) } - - companion object { - private lateinit var featureForm: FeatureForm - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - val map = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/apps/mapviewer/index.html?webmap=5f71b243b37e43a5ace3190241db0ac9") - map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = map.operationalLayers.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - val featureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(1L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> - val feature = featureQueryResult.find { - it is ArcGISFeature - } as? ArcGISFeature - if (feature == null) TestCase.fail("failed to fetch feature") - feature?.load()?.onFailure { - TestCase.fail("failed to load feature with ${it.message}") - } - featureForm = FeatureForm(feature!!, featureFormDefinition) - featureForm.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ComboBoxFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ComboBoxFieldTests.kt index b05cd0967..7de6d7544 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ComboBoxFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ComboBoxFieldTests.kt @@ -30,45 +30,25 @@ import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.platform.app.InstrumentationRegistry -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap import com.arcgismaps.mapping.featureforms.ComboBoxFormInput -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition -import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase.fail -import kotlinx.coroutines.test.runTest +import com.google.common.truth.Truth.assertThat import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class ComboBoxFieldTests { +class ComboBoxFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=ed930cf0eb724ea49c6bccd8fd3dd9af", + objectId = 2 +) { private val descriptionSemanticLabel = "supporting text" private val clearTextSemanticLabel = "Clear text button" private val optionsIconSemanticLabel = "field icon" private val comboBoxDialogListSemanticLabel = "ComboBoxDialogLazyColumn" private val comboBoxDialogDoneButtonSemanticLabel = "combo box done selection" private val noValueRowSemanticLabel = "no value row" + private var errorTextColor: Color? = null private lateinit var context: Context - private val featureForm by lazy { - sharedFeatureForm!! - } - - private var errorTextColor : Color? = null - - private fun getFormElementWithLabel(label: String): FieldFormElement { - return featureForm.elements - .filterIsInstance() - .first { - it.label == label - } - } - @Before fun setUp() { context = InstrumentationRegistry.getInstrumentation().context @@ -95,8 +75,9 @@ class ComboBoxFieldTests { */ @Test fun testClearValueNoValueLabel() { - val formElement = getFormElementWithLabel("Combo String") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Combo String") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(formElement.label) // assert it is displayed and not focused @@ -136,8 +117,9 @@ class ComboBoxFieldTests { */ @Test fun testNoValueAndNoValueLabel() { - val formElement = getFormElementWithLabel("Combo Integer") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Combo Integer") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(formElement.label) // assert it is displayed and not focused @@ -174,8 +156,9 @@ class ComboBoxFieldTests { */ @Test fun testEnteredValueWithComboBoxPicker() { - val formElement = getFormElementWithLabel("Combo String") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Combo String") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(formElement.label) // assert it is displayed and not focused @@ -220,8 +203,9 @@ class ComboBoxFieldTests { */ @Test fun testNoValueRow() { - val formElement = getFormElementWithLabel("Combo String") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Combo String") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(formElement.label) // assert it is displayed and not focused @@ -262,8 +246,9 @@ class ComboBoxFieldTests { */ @Test fun testRequiredValueWithComboBoxPicker() { - val formElement = getFormElementWithLabel("Required Combo Box") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Required Combo Box") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput val requiredLabel = "${formElement.label} *" // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(requiredLabel) @@ -279,11 +264,13 @@ class ComboBoxFieldTests { comboBoxField.performClick() // find and tap the done button val doneButton = - composeTestRule.onNodeWithContentDescription(comboBoxDialogDoneButtonSemanticLabel).performClick() + composeTestRule.onNodeWithContentDescription(comboBoxDialogDoneButtonSemanticLabel) + .performClick() // assert "Enter Value" placeholder is visible comboBoxField.assertTextEquals(requiredLabel, context.getString(R.string.enter_value)) // validate required text is visible and is in error color - comboBoxField.onChildWithText(context.getString(R.string.required)).assertTextColor(errorTextColor!!) + comboBoxField.onChildWithText(context.getString(R.string.required)) + .assertTextColor(errorTextColor!!) // open the picker again comboBoxField.performClick() // find the dialog @@ -315,8 +302,9 @@ class ComboBoxFieldTests { */ @Test fun testNoValueOptionHidden() { - val formElement = getFormElementWithLabel("Combo No Value False") - val input = formElement.input as ComboBoxFormInput + val formElement = featureForm.getFieldFormElementWithLabel("Combo No Value False") + assertThat(formElement).isNotNull() + val input = formElement!!.input as ComboBoxFormInput // find the field with the the label val comboBoxField = composeTestRule.onNodeWithText(formElement.label) // assert it is displayed and not focused @@ -350,44 +338,4 @@ class ComboBoxFieldTests { // validate the selection has changed comboBoxField.assertTextEquals(formElement.label, codedValueToSelect) } - - companion object { - private var sharedFeatureFormDefinition: FeatureFormDefinition? = null - private var sharedFeatureForm: FeatureForm? = null - private var sharedFeature: ArcGISFeature? = null - private var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=ed930cf0eb724ea49c6bccd8fd3dd9af") - sharedMap?.load()?.onFailure { fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(2L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().firstOrNull() - if (sharedFeature == null) fail("failed to fetch feature") - sharedFeature?.load() - ?.onFailure { fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - sharedFeatureForm!!.evaluateExpressions() - }?.onFailure { - fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/DateTimeFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/DateTimeFieldTests.kt index d5fa42cc4..f92d4a748 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/DateTimeFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/DateTimeFieldTests.kt @@ -28,45 +28,28 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollToIndex import androidx.compose.ui.test.performTextClearance import androidx.test.platform.app.InstrumentationRegistry -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition -import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase +import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.runTest import org.junit.After import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class DateTimeFieldTests { - +class DateTimeFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=ec09090060664cbda8d814e017337837", + objectId = 1 +) { private lateinit var context: Context - private val featureForm by lazy { - sharedFeatureForm!! - } - - private fun getFormElementWithLabel(label: String): FieldFormElement { - return featureForm.elements - .filterIsInstance() - .first { - it.label == label - } - } - + @get:Rule val composeTestRule = createComposeRule() - - + + @Before fun setUp() { context = InstrumentationRegistry.getInstrumentation().context } - + @Before fun setContent() { composeTestRule.setContent { @@ -75,13 +58,16 @@ class DateTimeFieldTests { ) } } - + @After fun closeDialog() { try { // this is needed for running successive tests that open the date time picker dialog. val dialogSurface = - composeTestRule.onNodeWithContentDescription("DateTimePickerDialogSurface", useUnmergedTree = true) + composeTestRule.onNodeWithContentDescription( + "DateTimePickerDialogSurface", + useUnmergedTree = true + ) dialogSurface.assertIsDisplayed() val cancel = dialogSurface.onChildWithContentDescription("cancel") cancel.performClick() @@ -89,7 +75,7 @@ class DateTimeFieldTests { // dialog wasn't open. } } - + /** * Given a required datetime field with a value * when it is not focused @@ -100,11 +86,12 @@ class DateTimeFieldTests { */ @Test fun testRequiredUnfocusedValue() { - val formElement = getFormElementWithLabel("Required Date") + val formElement = featureForm.getFieldFormElementWithLabel("Required Date") + assertThat(formElement).isNotNull() // find the field with the the label val col = composeTestRule.onNodeWithContentDescription("lazy column") col.performScrollToIndex(8) - val dateTimeField = composeTestRule.onNodeWithText("${formElement.label} *") + val dateTimeField = composeTestRule.onNodeWithText("${formElement!!.label} *") val textMatcher = hasText("No value") assert(textMatcher.matches(dateTimeField.fetchSemanticsNode())) { @@ -115,12 +102,12 @@ class DateTimeFieldTests { val helperMatcher = hasText("Date Entry is Required") assert(helperMatcher.matches(helper.fetchSemanticsNode())) { "expected helper text: Date Entry is Required" - + } val iconMatcher = hasContentDescription("date time picker button") assert(iconMatcher.matches(dateTimeField.fetchSemanticsNode())) } - + /** * Given a required datetime field with a value * when it is not focused @@ -131,25 +118,29 @@ class DateTimeFieldTests { */ @Test fun testRequiredFocusedValue() { - val formElement = getFormElementWithLabel("Required Date") + val formElement = featureForm.getFieldFormElementWithLabel("Required Date") + assertThat(formElement).isNotNull() // find the field with the the label val col = composeTestRule.onNodeWithContentDescription("lazy column") col.performScrollToIndex(8) - val dateTimeField = composeTestRule.onNodeWithText("${formElement.label} *") + val dateTimeField = composeTestRule.onNodeWithText("${formElement!!.label} *") val iconMatcher = hasContentDescription("date time picker button") assert(iconMatcher.matches(dateTimeField.fetchSemanticsNode())) dateTimeField.assertHasClickAction() dateTimeField.performClick() - + val dialogSurface = - composeTestRule.onNodeWithContentDescription("DateTimePickerDialogSurface", useUnmergedTree = true) + composeTestRule.onNodeWithContentDescription( + "DateTimePickerDialogSurface", + useUnmergedTree = true + ) dialogSurface.assertIsDisplayed() val today = dialogSurface.onChildWithContentDescription("current date or time button") today.assertIsDisplayed() val helperTextInDialog = dialogSurface.onChildWithText("Date Entry is Required", true) helperTextInDialog.assertIsDisplayed() } - + /** * Given a FieldFormElement with an editable datetime input * When the date value is displayed @@ -158,10 +149,11 @@ class DateTimeFieldTests { */ @Test fun testClearEditableDateTime() = runTest { - val formElement = getFormElementWithLabel("Launch Date and Time for Apollo 11") - val dateTimeField = composeTestRule.onNodeWithText(formElement.label) + val formElement = featureForm.getFieldFormElementWithLabel("Launch Date and Time for Apollo 11") + assertThat(formElement).isNotNull() + val dateTimeField = composeTestRule.onNodeWithText(formElement!!.label) dateTimeField.assertIsDisplayed() - + // assert the text is non empty before asserting the clear button. assert( try { @@ -174,11 +166,11 @@ class DateTimeFieldTests { val clearButton = dateTimeField.onChildWithContentDescription("Clear text button", true) clearButton.assertIsDisplayed() clearButton.performClick() - + // now assert the field has the placeholder text because it is empty. dateTimeField.assertEditableTextEquals("No value") } - + /** * Given a FieldFormElement with a date time input, and dateOnly set to true * When the date value is displayed @@ -187,12 +179,13 @@ class DateTimeFieldTests { */ @Test fun testDateOnly() = runTest { - val formElement = getFormElementWithLabel("Launch Date for Apollo 11") + val formElement = featureForm.getFieldFormElementWithLabel("Launch Date for Apollo 11") + assertThat(formElement).isNotNull() // find the field with the the label - val dateTimeField = composeTestRule.onNodeWithText(formElement.label) + val dateTimeField = composeTestRule.onNodeWithText(formElement!!.label) dateTimeField.assertIsDisplayed() dateTimeField.performTextClearance() - + val helper = dateTimeField.onChildWithContentDescription("supporting text") val helperMatcher = hasText("Enter the Date for the Apollo 11 launch") assert(helperMatcher.matches(helper.fetchSemanticsNode())) { @@ -200,17 +193,21 @@ class DateTimeFieldTests { } val clearButton = dateTimeField.onChildWithContentDescription("Clear text button", true) clearButton.assertIsDisplayed() - + dateTimeField.performClick() - + val dialogSurface = - composeTestRule.onNodeWithContentDescription("DateTimePickerDialogSurface", useUnmergedTree = true) + composeTestRule.onNodeWithContentDescription( + "DateTimePickerDialogSurface", + useUnmergedTree = true + ) dialogSurface.assertIsDisplayed() val today = dialogSurface.onChildWithContentDescription("current date or time button") today.assertIsDisplayed() - val helperTextInDialog = dialogSurface.onChildWithText("Enter the Date for the Apollo 11 launch", true) + val helperTextInDialog = + dialogSurface.onChildWithText("Enter the Date for the Apollo 11 launch", true) helperTextInDialog.assertIsDisplayed() - + assert( try { dialogSurface.onChildWithContentDescription("toggle date and time") @@ -220,37 +217,4 @@ class DateTimeFieldTests { } ) } - - - companion object { - var sharedFeatureFormDefinition: FeatureFormDefinition? = null - var sharedFeatureForm: FeatureForm? = null - var sharedFeature: ArcGISFeature? = null - var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=ec09090060664cbda8d814e017337837") - sharedMap?.load()?.onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.whereClause = "1=1" - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().first() - sharedFeature?.load()?.onFailure { TestCase.fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - sharedFeatureForm?.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt index b299be1fd..be49e88b6 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FeatureFormTestRunner.kt @@ -33,8 +33,6 @@ import org.junit.Before * given [uri] and the feature with the given [objectId] and initializing the [FeatureForm] for * the feature. * - * If the [FeatureForm] is already initialized, the setup method will not run again. - * * If the map fails to load or the feature is not found, the test will fail. * * @param uri The URI of the web map. @@ -44,10 +42,17 @@ open class FeatureFormTestRunner( private val uri: String, private val objectId: Long ) { + /** + * The feature form for the feature with the given [objectId]. + */ + lateinit var featureForm: FeatureForm + private set + @Before fun setup(): Unit = runTest { // If the feature form is already initialized, return - if (isInitialized) return@runTest + if (::featureForm.isInitialized) return@runTest + // Set the authentication challenge handler ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = FeatureFormsTestChallengeHandler( BuildConfig.webMapUser, BuildConfig.webMapPassword @@ -78,19 +83,6 @@ open class FeatureFormTestRunner( featureForm = FeatureForm(feature, featureFormDefinition!!) featureForm.evaluateExpressions() } - - // The featureForm must be a singleton because the test runner creates a new instance of this - // class for each test method. This avoids reinitializing the feature form for each test method. - companion object { - /** - * The feature form for the feature with the given [objectId]. - */ - lateinit var featureForm: FeatureForm - private set - - private val isInitialized : Boolean - get() = ::featureForm.isInitialized - } } suspend fun Loadable.assertIsLoaded() { diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldNumericTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldNumericTests.kt index 03b1020a2..dd4ba669f 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldNumericTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldNumericTests.kt @@ -22,33 +22,24 @@ import androidx.compose.ui.test.hasContentDescription import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.performTextInput -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.layers.FeatureLayer import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextField import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextFieldState import junit.framework.TestCase import kotlinx.coroutines.test.runTest -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test /** * Tests for FormTextFields whose backing FormFeatureElement is associated with a numeric field and attribute type. */ -class FormTextFieldNumericTests { +class FormTextFieldNumericTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=355f37b49dca42c38ed1e156c1a23d26", + objectId = 1 +) { private val supportingTextSemanticLabel = "supporting text" private val outlinedTextFieldSemanticLabel = "outlined text field" - - private val featureForm by lazy { - sharedFeatureForm!! - } - + private val integerField by lazy { featureForm.elements .filterIsInstance() @@ -56,7 +47,7 @@ class FormTextFieldNumericTests { it.label == "Number Integer" } } - + private val floatingPointField by lazy { featureForm.elements .filterIsInstance() @@ -64,10 +55,10 @@ class FormTextFieldNumericTests { it.label == "Number Double" } } - + @get:Rule val composeTestRule = createComposeRule() - + /** * Given a FormTextField with a FormFeatureElement whose backing fieldType is an integer type. * When a non numeric value is entered @@ -78,17 +69,25 @@ class FormTextFieldNumericTests { fun testEnterNonNumericValueIntegerField() = runTest { composeTestRule.setContent { val scope = rememberCoroutineScope() - val state = rememberFieldState(element = integerField, form = featureForm, scope = scope) as FormTextFieldState + val state = rememberFieldState( + element = integerField, + form = featureForm, + scope = scope + ) as FormTextFieldState FormTextField(state = state) } - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val text = "lorem ipsum" outlinedTextField.performTextInput(text) - val supportingText = composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true) + val supportingText = composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ) supportingText.assertIsDisplayed() TestCase.assertEquals("Value must be a whole number", supportingText.getTextString()) } - + /** * Given a FormTextField with a FormFeatureElement whose backing fieldType is a floating point type. * When a non numeric value is entered @@ -99,53 +98,22 @@ class FormTextFieldNumericTests { fun testEnterNonNumericValueFloatingPointField() = runTest { composeTestRule.setContent { val scope = rememberCoroutineScope() - val state = rememberFieldState(element = floatingPointField, form = featureForm, scope = scope) as FormTextFieldState + val state = rememberFieldState( + element = floatingPointField, + form = featureForm, + scope = scope + ) as FormTextFieldState FormTextField(state = state) } - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val text = "lorem ipsum" outlinedTextField.performTextInput(text) - val supportingText = composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true) + val supportingText = composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ) supportingText.assertIsDisplayed() TestCase.assertEquals("Value must be a number", supportingText.getTextString()) } - - companion object { - var sharedFeatureFormDefinition: FeatureFormDefinition? = null - var sharedFeatureForm: FeatureForm? = null - var sharedFeature: ArcGISFeature? = null - var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=355f37b49dca42c38ed1e156c1a23d26") - sharedMap?.load()?.onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.whereClause = "1=1" - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().first() - sharedFeature?.load()?.onFailure { TestCase.fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - sharedFeatureForm?.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } - } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldRangeNumericTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldRangeNumericTests.kt index 77fbd1e7d..6966e89e2 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldRangeNumericTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldRangeNumericTests.kt @@ -22,33 +22,24 @@ import androidx.compose.ui.test.hasContentDescription import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.performTextInput -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.layers.FeatureLayer import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextField import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextFieldState import junit.framework.TestCase import kotlinx.coroutines.test.runTest -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test /** * Tests for FormTextFields whose backing FormFeatureElement is associated with a numeric field and attribute type. */ -class FormTextFieldRangeNumericTests { +class FormTextFieldRangeNumericTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=225ffaf1091d48fcbe31be0146808b2b", + objectId = 1 +) { private val supportingTextSemanticLabel = "supporting text" private val outlinedTextFieldSemanticLabel = "outlined text field" - - private val featureForm by lazy { - sharedFeatureForm!! - } - + private val integerField by lazy { featureForm.elements .filterIsInstance() @@ -56,11 +47,11 @@ class FormTextFieldRangeNumericTests { it.label == "ForRange" } } - - + + @get:Rule val composeTestRule = createComposeRule() - + /** * Given a FormTextField with a FormFeatureElement whose backing fieldType is a floating point type. * When a non numeric value is entered @@ -71,53 +62,22 @@ class FormTextFieldRangeNumericTests { fun testEnterNumericValueOutOfRange() = runTest { composeTestRule.setContent { val scope = rememberCoroutineScope() - val state = rememberFieldState(element = integerField, form = featureForm, scope = scope) as FormTextFieldState + val state = rememberFieldState( + element = integerField, + form = featureForm, + scope = scope + ) as FormTextFieldState FormTextField(state = state) } - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val text = "9" outlinedTextField.performTextInput(text) - val supportingText = composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true) + val supportingText = composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ) supportingText.assertIsDisplayed() TestCase.assertEquals("Enter value from 1 to 7", supportingText.getTextString()) } - - companion object { - var sharedFeatureFormDefinition: FeatureFormDefinition? = null - var sharedFeatureForm: FeatureForm? = null - var sharedFeature: ArcGISFeature? = null - var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=225ffaf1091d48fcbe31be0146808b2b") - sharedMap?.load()?.onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.whereClause = "1=1" - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().first() - sharedFeature?.load()?.onFailure { TestCase.fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - sharedFeatureForm?.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } - } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldTests.kt index e85432942..477f65fd0 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/FormTextFieldTests.kt @@ -30,36 +30,26 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performImeAction import androidx.compose.ui.test.performTextClearance import androidx.compose.ui.test.performTextInput -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition import com.arcgismaps.mapping.featureforms.FieldFormElement import com.arcgismaps.mapping.featureforms.TextBoxFormInput -import com.arcgismaps.mapping.layers.FeatureLayer import com.arcgismaps.toolkit.featureforms.internal.components.text.FormTextField import com.arcgismaps.toolkit.featureforms.internal.components.text.rememberFormTextFieldState import junit.framework.TestCase.assertEquals -import junit.framework.TestCase.fail import kotlinx.coroutines.test.runTest import org.junit.After import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class FormTextFieldTests { +class FormTextFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=5d69e2301ad14ec8a73b568dfc29450a", + objectId = 1 +) { private val labelSemanticLabel = "label" private val supportingTextSemanticLabel = "supporting text" private val outlinedTextFieldSemanticLabel = "outlined text field" private val charCountSemanticLabel = "char count" private val clearTextSemanticLabel = "Clear text button" - - private val featureForm by lazy { - sharedFeatureForm!! - } private val field by lazy { featureForm.elements @@ -68,18 +58,18 @@ class FormTextFieldTests { it.label == "Single Line No Value, Placeholder or Description" } } - + private val errorTextColor = Color( red = 0.7019608f, green = 0.14901961f, blue = 0.11764706f ) - + @get:Rule val composeTestRule = createComposeRule() - + @Before - fun setContent() = runTest { + fun setContent() = runTest { composeTestRule.setContent { val scope = rememberCoroutineScope() val state = rememberFormTextFieldState( @@ -95,14 +85,15 @@ class FormTextFieldTests { } featureForm.evaluateExpressions() } - + @After fun clearText() { - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) // clear out any text added to this empty field during tests outlinedTextField.performTextClearance() } - + /** * Test case 1.1: * Given a FormTextField with no value, placeholder, or description @@ -114,10 +105,13 @@ class FormTextFieldTests { fun testNoValueUnfocusedState() = runTest { val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true).assertDoesNotExist() + + composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ).assertDoesNotExist() } - + /** * Test case 1.1: * Given a FormTextField with no value, placeholder, description, but with a max length. @@ -127,15 +121,19 @@ class FormTextFieldTests { */ @Test fun testNoValueFocusedState() = runTest { - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) outlinedTextField.performClick() outlinedTextField.assertIsFocused() val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true).assertDoesNotExist() + + composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ).assertDoesNotExist() } - + /** * Test case 1.2: * Given a FormTextField with no value, placeholder, or description @@ -145,25 +143,35 @@ class FormTextFieldTests { */ @Test fun testEnteredValueFocusedState() = runTest { - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val text = "lorem ipsum" outlinedTextField.performTextInput(text) outlinedTextField.assertIsFocused() val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true).assertDoesNotExist() - + + composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ).assertDoesNotExist() + val charCountNode = - composeTestRule.onNode(hasContentDescription(charCountSemanticLabel), useUnmergedTree = true) + composeTestRule.onNode( + hasContentDescription(charCountSemanticLabel), + useUnmergedTree = true + ) val charCountText = charCountNode.getTextString() charCountNode.assertIsDisplayed() assertEquals(text.length.toString(), charCountText) - - val clearButton = composeTestRule.onNode(hasContentDescription(clearTextSemanticLabel), useUnmergedTree = true) + + val clearButton = composeTestRule.onNode( + hasContentDescription(clearTextSemanticLabel), + useUnmergedTree = true + ) clearButton.assertExists() } - + /** * Test case 1.2: * Given a FormTextField with no value, placeholder, or description @@ -173,26 +181,38 @@ class FormTextFieldTests { */ @Test fun testEnteredValueUnfocusedState() { - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel, useUnmergedTree = true) + val outlinedTextField = composeTestRule.onNodeWithContentDescription( + outlinedTextFieldSemanticLabel, + useUnmergedTree = true + ) val text = "lorem ipsum" outlinedTextField.performTextInput(text) outlinedTextField.assertIsFocused() val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true).assertDoesNotExist() - + + composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ).assertDoesNotExist() + outlinedTextField.performImeAction() outlinedTextField.assertIsNotFocused() - + val charCountNode = - composeTestRule.onNode(hasContentDescription(charCountSemanticLabel), useUnmergedTree = true) + composeTestRule.onNode( + hasContentDescription(charCountSemanticLabel), + useUnmergedTree = true + ) charCountNode.assertDoesNotExist() - - val clearButton = composeTestRule.onNode(hasContentDescription(clearTextSemanticLabel), useUnmergedTree = true) + + val clearButton = composeTestRule.onNode( + hasContentDescription(clearTextSemanticLabel), + useUnmergedTree = true + ) clearButton.assertExists() } - + /** * Test case 1.3: * Given a FormTextField with no value, placeholder, or description @@ -203,7 +223,8 @@ class FormTextFieldTests { @Test fun testErrorValueFocusedState() = runTest { val maxLength = (field.input as TextBoxFormInput).maxLength.toInt() - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val text = buildString { repeat(maxLength + 1) { append("x") @@ -213,24 +234,33 @@ class FormTextFieldTests { outlinedTextField.assertIsFocused() val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - val supportingText = composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true) + + val supportingText = composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ) supportingText.assertIsDisplayed() - + assertEquals("Maximum $maxLength characters", supportingText.getTextString()) supportingText.assertTextColor(errorTextColor) - + val charCountNode = - composeTestRule.onNode(hasContentDescription(charCountSemanticLabel), useUnmergedTree = true) + composeTestRule.onNode( + hasContentDescription(charCountSemanticLabel), + useUnmergedTree = true + ) val charCountText = charCountNode.getTextString() charCountNode.assertIsDisplayed() assertEquals(text.length.toString(), charCountText) charCountNode.assertTextColor(errorTextColor) - - val clearButton = composeTestRule.onNode(hasContentDescription(clearTextSemanticLabel), useUnmergedTree = true) + + val clearButton = composeTestRule.onNode( + hasContentDescription(clearTextSemanticLabel), + useUnmergedTree = true + ) clearButton.assertExists() } - + /** * Test case 1.3: * Given a FormTextField with no value, placeholder, or description @@ -240,7 +270,8 @@ class FormTextFieldTests { */ @Test fun testErrorValueUnfocusedState() = runTest { - val outlinedTextField = composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) + val outlinedTextField = + composeTestRule.onNodeWithContentDescription(outlinedTextFieldSemanticLabel) val maxLength = (field.input as TextBoxFormInput).maxLength.toInt() val text = buildString { repeat(maxLength + 1) { @@ -251,58 +282,29 @@ class FormTextFieldTests { outlinedTextField.assertIsFocused() val label = composeTestRule.onNodeWithContentDescription(labelSemanticLabel) label.assertIsDisplayed() - - val supportingText = composeTestRule.onNode(hasContentDescription(supportingTextSemanticLabel), useUnmergedTree = true) + + val supportingText = composeTestRule.onNode( + hasContentDescription(supportingTextSemanticLabel), + useUnmergedTree = true + ) supportingText.assertIsDisplayed() assertEquals("Maximum $maxLength characters", supportingText.getTextString()) - + outlinedTextField.performImeAction() outlinedTextField.assertIsNotFocused() supportingText.assertTextColor(errorTextColor) - + val charCountNode = - composeTestRule.onNode(hasContentDescription(charCountSemanticLabel), useUnmergedTree = true) + composeTestRule.onNode( + hasContentDescription(charCountSemanticLabel), + useUnmergedTree = true + ) charCountNode.assertDoesNotExist() - - val clearButton = composeTestRule.onNode(hasContentDescription(clearTextSemanticLabel), useUnmergedTree = true) + + val clearButton = composeTestRule.onNode( + hasContentDescription(clearTextSemanticLabel), + useUnmergedTree = true + ) clearButton.assertExists() } - - companion object { - var sharedFeatureFormDefinition: FeatureFormDefinition? = null - var sharedFeatureForm: FeatureForm? = null - var sharedFeature: ArcGISFeature? = null - var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=5d69e2301ad14ec8a73b568dfc29450a") - sharedMap?.load()?.onFailure { fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.whereClause = "1=1" - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().first() - sharedFeature?.load()?.onFailure { fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - }?.onFailure { - fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } - } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt index 637b500ad..6859111bc 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/GroupElementTests.kt @@ -30,38 +30,20 @@ import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.onParent import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollToNode -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FeatureFormDefinition import com.arcgismaps.mapping.featureforms.GroupFormElement -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase -import kotlinx.coroutines.test.runTest +import com.google.common.truth.Truth.assertThat import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class GroupElementTests { - - private val featureForm by lazy { - sharedFeatureForm!! - } - +class GroupElementTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=97495f67bd2e442dbbac485232375b07", + objectId = 1 +) { @get:Rule val composeTestRule = createComposeRule() - private fun getGroupElementWithLabel(label: String): GroupFormElement { - return featureForm.elements - .filterIsInstance() - .first { - it.label == label - } - } - @Before fun setContent() { composeTestRule.setContent { @@ -77,8 +59,10 @@ class GroupElementTests { */ @Test fun testInitialState() { - val groupFormElement1 = getGroupElementWithLabel("Group with Multiple Form Elements") - val groupElement1 = composeTestRule.onNodeWithText(groupFormElement1.label) + val groupFormElement1 = + featureForm.getGroupFormElementWithLabel("Group with Multiple Form Elements") + assertThat(groupFormElement1).isNotNull() + val groupElement1 = composeTestRule.onNodeWithText(groupFormElement1!!.label) groupElement1.assertIsDisplayed() // assert description is displayed groupElement1.assertTextContains(groupFormElement1.description) @@ -104,11 +88,12 @@ class GroupElementTests { @Test fun testVisibility() { val groupElementToTest = - getGroupElementWithLabel("Group with children that are visible dependent") + featureForm.getGroupFormElementWithLabel("Group with children that are visible dependent") + assertThat(groupElementToTest).isNotNull() // find the scrollable container val lazyColumn = composeTestRule.onNodeWithContentDescription("lazy column") // scroll until the group is visible - lazyColumn.performScrollToNode(hasText(groupElementToTest.label)) + lazyColumn.performScrollToNode(hasText(groupElementToTest!!.label)) // find the group and check if displayed val groupElement = composeTestRule.onNodeWithText(groupElementToTest.label) groupElement.assertIsDisplayed() @@ -128,47 +113,6 @@ class GroupElementTests { // assert the and other field elements are visible assert(groupElement.onParent().onChildren().fetchSemanticsNodes().count() > 1) } - - companion object { - private var sharedFeatureFormDefinition: FeatureFormDefinition? = null - private var sharedFeatureForm: FeatureForm? = null - private var sharedFeature: ArcGISFeature? = null - private var sharedMap: ArcGISMap? = null - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - - sharedMap = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/apps/mapviewer/index.html?webmap=97495f67bd2e442dbbac485232375b07") - sharedMap?.load() - ?.onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = sharedMap?.operationalLayers?.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - sharedFeatureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(1L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { - sharedFeature = it.filterIsInstance().firstOrNull() - if (sharedFeature == null) TestCase.fail("failed to fetch feature") - sharedFeature?.load() - ?.onFailure { TestCase.fail("failed to load feature with ${it.message}") } - sharedFeatureForm = FeatureForm(sharedFeature!!, sharedFeatureFormDefinition!!) - sharedFeatureForm!!.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } /** @@ -178,3 +122,11 @@ internal fun SemanticsNodeInteraction.isToggled(): Boolean { val semantics = fetchSemanticsNode() return semantics.config[SemanticsProperties.ToggleableState] == ToggleableState.On } + +/** + * Returns a [GroupFormElement] with the given [label] if it exists. Else a null is returned. + */ +internal fun FeatureForm.getGroupFormElementWithLabel(label: String): GroupFormElement? = + elements.find { + it is GroupFormElement && it.label == label + } as? GroupFormElement diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt index ab02e3557..d7b2ea3d1 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/RadioButtonFieldTests.kt @@ -29,24 +29,17 @@ import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollToIndex -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.RadioButtonsFormInput -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase -import kotlinx.coroutines.test.runTest import org.junit.Assert.assertThrows import org.junit.Assert.fail import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class RadioButtonFieldTests { - +class RadioButtonFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=476e9b4180234961809485c8eff83d5d", + objectId = 1 +) { @get:Rule val composeTestRule = createComposeRule() @@ -165,43 +158,4 @@ class RadioButtonFieldTests { radioField.onChildWithText(input.noValueLabel) } } - - companion object { - private lateinit var featureForm: FeatureForm - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - val map = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=476e9b4180234961809485c8eff83d5d") - map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = map.operationalLayers.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - val featureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(1L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> - val feature = featureQueryResult.find { - it is ArcGISFeature - } as? ArcGISFeature - if (feature == null) TestCase.fail("failed to fetch feature") - feature?.load()?.onFailure { - TestCase.fail("failed to load feature with ${it.message}") - } - featureForm = FeatureForm(feature!!, featureFormDefinition) - featureForm.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SwitchFieldTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SwitchFieldTests.kt index 2a00b24bc..d1aba35a5 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SwitchFieldTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/SwitchFieldTests.kt @@ -30,22 +30,17 @@ import androidx.compose.ui.test.hasContentDescription import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.layers.FeatureLayer -import junit.framework.TestCase -import kotlinx.coroutines.test.runTest import org.junit.Assert.fail import org.junit.Before -import org.junit.BeforeClass import org.junit.Rule import org.junit.Test -class SwitchFieldTests { +class SwitchFieldTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=ff98f13b32b349adb55da5528d9174dc", + objectId = 1 +) { @get:Rule val composeTestRule = createComposeRule() @@ -152,45 +147,6 @@ class SwitchFieldTests { // since combo box fields have an icon and switch fields do not comboBoxField.assertContentDescriptionContains("field icon").assertIsDisplayed() } - - companion object { - private lateinit var featureForm: FeatureForm - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - val map = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=ff98f13b32b349adb55da5528d9174dc") - map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = map.operationalLayers.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - val featureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(1L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> - val feature = featureQueryResult.find { - it is ArcGISFeature - } as? ArcGISFeature - if (feature == null) TestCase.fail("failed to fetch feature") - feature?.load()?.onFailure { - TestCase.fail("failed to load feature with ${it.message}") - } - featureForm = FeatureForm(feature!!, featureFormDefinition) - featureForm.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } /** diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt index 6d090696e..681f7c721 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt @@ -25,35 +25,20 @@ import androidx.compose.ui.test.performImeAction import androidx.compose.ui.test.performTextInput import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight -import com.arcgismaps.ArcGISEnvironment -import com.arcgismaps.data.ArcGISFeature -import com.arcgismaps.data.QueryParameters -import com.arcgismaps.mapping.ArcGISMap -import com.arcgismaps.mapping.featureforms.FeatureForm -import com.arcgismaps.mapping.featureforms.FieldFormElement -import com.arcgismaps.mapping.featureforms.FormElement -import com.arcgismaps.mapping.featureforms.GroupFormElement -import com.arcgismaps.mapping.layers.FeatureLayer import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme import com.arcgismaps.toolkit.featureforms.theme.FeatureFormDefaults import com.arcgismaps.toolkit.featureforms.theme.FeatureFormTypography -import junit.framework.TestCase -import kotlinx.coroutines.test.runTest -import org.junit.BeforeClass +import com.google.common.truth.Truth.assertThat import org.junit.Rule import org.junit.Test -class ThemingTests { - +class ThemingTests : FeatureFormTestRunner( + uri = "https://www.arcgis.com/home/item.html?id=615e8fe546ef4d139fb9298515c2f40a", + objectId = 1 +) { @get:Rule val composeTestRule = createComposeRule() - private fun getFormElementWithLabel(label: String): FormElement { - return featureForm.elements.first { - it.label == label - } - } - /** * Given a FeatureForm with a custom color scheme and typography for editable fields * When the FeatureForm is displayed @@ -84,8 +69,9 @@ class ThemingTests { typography = typography ) } - val formElement = getFormElementWithLabel("Text Box") as FieldFormElement - val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + val formElement = featureForm.getFieldFormElementWithLabel("Text Box") + assertThat(formElement).isNotNull() + val label = composeTestRule.onNodeWithText(formElement!!.label, useUnmergedTree = true) label.assertIsDisplayed() label.assertTextStyle( TextStyle( @@ -123,8 +109,9 @@ class ThemingTests { colorScheme = colorScheme ) } - val formElement = getFormElementWithLabel("An empty field") as FieldFormElement - val field = composeTestRule.onNodeWithText(formElement.label) + val formElement = featureForm.getFieldFormElementWithLabel("An empty field") + assertThat(formElement).isNotNull() + val field = composeTestRule.onNodeWithText(formElement!!.label) val placeholder = composeTestRule.onNodeWithText(formElement.hint, useUnmergedTree = true) placeholder.assertIsDisplayed() // test unfocused placeholder color @@ -174,8 +161,9 @@ class ThemingTests { typography = typography ) } - val formElement = getFormElementWithLabel("Name") as FieldFormElement - val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + val formElement = featureForm.getFieldFormElementWithLabel("Name") + assertThat(formElement).isNotNull() + val label = composeTestRule.onNodeWithText(formElement!!.label, useUnmergedTree = true) label.assertIsDisplayed() label.assertTextStyle( TextStyle( @@ -218,8 +206,9 @@ class ThemingTests { typography = typography ) } - val formElement = getFormElementWithLabel("Radio Button") as FieldFormElement - val label = composeTestRule.onNodeWithText(formElement.label, useUnmergedTree = true) + val formElement = featureForm.getFieldFormElementWithLabel("Radio Button") + assertThat(formElement).isNotNull() + val label = composeTestRule.onNodeWithText(formElement!!.label, useUnmergedTree = true) label.assertIsDisplayed() label.assertTextStyle( TextStyle( @@ -262,8 +251,9 @@ class ThemingTests { typography = typography ) } - val groupElement = getFormElementWithLabel("Group One") as GroupFormElement - val label = composeTestRule.onNodeWithText(groupElement.label, useUnmergedTree = true) + val groupElement = featureForm.getGroupFormElementWithLabel("Group One") + assertThat(groupElement).isNotNull() + val label = composeTestRule.onNodeWithText(groupElement!!.label, useUnmergedTree = true) label.assertIsDisplayed() label.assertTextStyle( TextStyle( @@ -271,47 +261,9 @@ class ThemingTests { color = Color.Blue ) ) - val supportingText = composeTestRule.onNodeWithText(groupElement.description, useUnmergedTree = true) + val supportingText = + composeTestRule.onNodeWithText(groupElement.description, useUnmergedTree = true) supportingText.assertIsDisplayed() supportingText.assertTextColor(Color.Green) } - - companion object { - private lateinit var featureForm: FeatureForm - - @BeforeClass - @JvmStatic - fun setupClass() = runTest { - ArcGISEnvironment.authenticationManager.arcGISAuthenticationChallengeHandler = - FeatureFormsTestChallengeHandler( - BuildConfig.webMapUser, - BuildConfig.webMapPassword - ) - val map = - ArcGISMap("https://runtimecoretest.maps.arcgis.com/home/item.html?id=615e8fe546ef4d139fb9298515c2f40a") - map.load().onFailure { TestCase.fail("failed to load webmap with ${it.message}") } - val featureLayer = map.operationalLayers.first() as? FeatureLayer - featureLayer?.let { layer -> - layer.load().onFailure { TestCase.fail("failed to load layer with ${it.message}") } - val featureFormDefinition = layer.featureFormDefinition!! - val parameters = QueryParameters().also { - it.objectIds.add(1L) - it.maxFeatures = 1 - } - layer.featureTable?.queryFeatures(parameters)?.onSuccess { featureQueryResult -> - val feature = featureQueryResult.find { - it is ArcGISFeature - } as? ArcGISFeature - if (feature == null) TestCase.fail("failed to fetch feature") - feature?.load()?.onFailure { - TestCase.fail("failed to load feature with ${it.message}") - } - featureForm = FeatureForm(feature!!, featureFormDefinition) - featureForm.evaluateExpressions() - }?.onFailure { - TestCase.fail("failed to query features on layer's featuretable with ${it.message}") - } - } - } - } } From f4ede0b4844f0f749f5f0e07cb5e9b71f44de51b Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Fri, 5 Jul 2024 09:52:08 -0700 Subject: [PATCH 44/53] Update CorePrototypes.kt (#494) --- .../toolkit/featureforms/internal/utils/CorePrototypes.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/CorePrototypes.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/CorePrototypes.kt index 4409c3c2d..b91da3954 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/CorePrototypes.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/CorePrototypes.kt @@ -67,7 +67,7 @@ internal val RangeDomain.asDoubleTuple: MinMax get() { return when (fieldType) { FieldType.Int16 -> { - MinMax((minValue as? Int)?.toDouble(), (maxValue as? Int)?.toDouble()) + MinMax((minValue as? Short)?.toDouble(), (maxValue as? Short)?.toDouble()) } FieldType.Int32 -> { @@ -98,7 +98,7 @@ internal val RangeDomain.asLongTuple: MinMax get() { return when (fieldType) { FieldType.Int16 -> { - MinMax((minValue as? Int)?.toLong(), (maxValue as? Int)?.toLong()) + MinMax((minValue as? Short)?.toLong(), (maxValue as? Short)?.toLong()) } FieldType.Int32 -> { From a17607201a9c97fa88208b93475c8f10afdec7c9 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 8 Jul 2024 15:07:45 -0700 Subject: [PATCH 45/53] `Forms` : handle empty attachments (#498) * restrict download and viewing attachments of 0 size * show error along with load --- .../internal/components/attachment/AttachmentTile.kt | 5 +++++ .../toolkit/featureforms/internal/utils/Dialog.kt | 6 ++++-- toolkit/featureforms/src/main/res/values/strings.xml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index eb7ab0591..c1b86b976 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -221,6 +221,11 @@ internal fun AttachmentTile( if (loadStatus is LoadStatus.NotLoaded || loadStatus is LoadStatus.FailedToLoad) { // load attachment state.loadWithParentScope() + if (state.size == 0L) { + // show an error toast if the attachment is empty since the load + // will likely fail + Toast.makeText(context, context.getString(R.string.download_empty_file), Toast.LENGTH_SHORT).show() + } } else if (loadStatus is LoadStatus.Loaded) { // open attachment val intent = Intent() diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index 75d56dc34..a95514b8a 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -361,7 +361,7 @@ internal fun computeWindowSizeClasses(context: Context): WindowSizeClass { } internal fun showError(context: Context, message: String) { - Toast.makeText(context, message, Toast.LENGTH_SHORT).show() + Toast.makeText(context, message, Toast.LENGTH_LONG).show() } /** @@ -408,7 +408,9 @@ private suspend fun AttachmentElementState.addAttachmentFromUri( } } // check if the size is within the limit of 50 MB - return@withContext if (size > 50_000_000) { + return@withContext if (size == 0L) { + Result.failure(Exception(context.getString(R.string.attachment_is_empty))) + } else if (size > 50_000_000) { Result.failure(Exception(context.getString(R.string.attachment_too_large))) } else { var result = Result.success(Unit) diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index fd6888c84..c0a44cb7b 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -109,4 +109,6 @@ Error Adding Attachment No application found to open this file type. The File is too large. Please add a file less than 50 MB. + Empty files are not supported + Empty files cannot be downloaded From a99051533bf429da544e0139107a2a7d9d490e93 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Mon, 8 Jul 2024 15:07:59 -0700 Subject: [PATCH 46/53] ignore non-default formattachmentelement (#499) --- .../com/arcgismaps/toolkit/featureforms/FeatureForm.kt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt index df6a5b63c..cff8d3048 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/FeatureForm.kt @@ -352,14 +352,12 @@ internal fun rememberStates( states.add(element, groupState) } - is AttachmentsFormElement -> { - val state = rememberAttachmentElementState(form, element) - states.add(element, state) - } - else -> {} } } + // The Toolkit currently only supports AttachmentsFormElements via the + // default attachments element. Once AttachmentsFormElements can be authored + // the switch case above should have a case added for AttachmentsFormElement. if (form.defaultAttachmentsElement != null) { val state = rememberAttachmentElementState(form, form.defaultAttachmentsElement!!) states.add(form.defaultAttachmentsElement!!, state) From c3d63f5589fcf60688e9f2d2aac3614bab9d99a8 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 9 Jul 2024 09:20:59 -0700 Subject: [PATCH 47/53] `Forms` : Fix strings (#500) --- .../featureforms/internal/components/base/FieldValidation.kt | 3 ++- toolkit/featureforms/src/main/res/values-ar/strings.xml | 1 - toolkit/featureforms/src/main/res/values-bg/strings.xml | 1 - toolkit/featureforms/src/main/res/values-bs/strings.xml | 1 - toolkit/featureforms/src/main/res/values-ca/strings.xml | 1 - toolkit/featureforms/src/main/res/values-cs/strings.xml | 1 - toolkit/featureforms/src/main/res/values-da/strings.xml | 1 - toolkit/featureforms/src/main/res/values-de/strings.xml | 1 - toolkit/featureforms/src/main/res/values-el/strings.xml | 1 - toolkit/featureforms/src/main/res/values-es/strings.xml | 1 - toolkit/featureforms/src/main/res/values-et/strings.xml | 1 - toolkit/featureforms/src/main/res/values-fi/strings.xml | 1 - toolkit/featureforms/src/main/res/values-fr/strings.xml | 1 - toolkit/featureforms/src/main/res/values-he/strings.xml | 1 - toolkit/featureforms/src/main/res/values-hr/strings.xml | 1 - toolkit/featureforms/src/main/res/values-hu/strings.xml | 1 - toolkit/featureforms/src/main/res/values-id/strings.xml | 1 - toolkit/featureforms/src/main/res/values-in/strings.xml | 1 - toolkit/featureforms/src/main/res/values-it/strings.xml | 1 - toolkit/featureforms/src/main/res/values-iw/strings.xml | 1 - toolkit/featureforms/src/main/res/values-ja/strings.xml | 1 - toolkit/featureforms/src/main/res/values-ko/strings.xml | 1 - toolkit/featureforms/src/main/res/values-lt/strings.xml | 1 - toolkit/featureforms/src/main/res/values-lv/strings.xml | 1 - toolkit/featureforms/src/main/res/values-nl/strings.xml | 1 - toolkit/featureforms/src/main/res/values-no/strings.xml | 1 - toolkit/featureforms/src/main/res/values-pl/strings.xml | 1 - toolkit/featureforms/src/main/res/values-pt-rBR/strings.xml | 1 - toolkit/featureforms/src/main/res/values-pt-rPT/strings.xml | 1 - toolkit/featureforms/src/main/res/values-ro/strings.xml | 1 - toolkit/featureforms/src/main/res/values-ru/strings.xml | 1 - toolkit/featureforms/src/main/res/values-sk/strings.xml | 1 - toolkit/featureforms/src/main/res/values-sl/strings.xml | 1 - toolkit/featureforms/src/main/res/values-sr/strings.xml | 1 - toolkit/featureforms/src/main/res/values-sv/strings.xml | 1 - toolkit/featureforms/src/main/res/values-th/strings.xml | 1 - toolkit/featureforms/src/main/res/values-tr/strings.xml | 1 - toolkit/featureforms/src/main/res/values-uk/strings.xml | 1 - toolkit/featureforms/src/main/res/values-vi/strings.xml | 1 - toolkit/featureforms/src/main/res/values-zh-rHK/strings.xml | 1 - toolkit/featureforms/src/main/res/values-zh-rTW/strings.xml | 1 - toolkit/featureforms/src/main/res/values-zh/strings.xml | 1 - toolkit/featureforms/src/main/res/values/strings.xml | 4 ++++ 43 files changed, 6 insertions(+), 42 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt index a5ebccd11..026421612 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/base/FieldValidation.kt @@ -74,7 +74,8 @@ internal sealed class ValidationErrorState( } is MaxCharConstraint -> { - stringResource(id = R.string.maximum_n_chars, *formatArgs) + val count = formatArgs.first() as Int + pluralStringResource(id = R.plurals.maximum_n_chars, count, count) } is MinNumericConstraint -> { diff --git a/toolkit/featureforms/src/main/res/values-ar/strings.xml b/toolkit/featureforms/src/main/res/values-ar/strings.xml index 0ee2751de..8624055f5 100644 --- a/toolkit/featureforms/src/main/res/values-ar/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ar/strings.xml @@ -88,7 +88,6 @@ تحديد صباحًا أو مساءً مساءً التقاط صورة - إضافة صورة إعادة تسمية حذف إعادة تسمية المرفق diff --git a/toolkit/featureforms/src/main/res/values-bg/strings.xml b/toolkit/featureforms/src/main/res/values-bg/strings.xml index cc560dca4..732b18308 100644 --- a/toolkit/featureforms/src/main/res/values-bg/strings.xml +++ b/toolkit/featureforms/src/main/res/values-bg/strings.xml @@ -88,7 +88,6 @@ Изберете AM (преди обяд) или PM (следобед) След обяд Направете снимка - Добавяне на снимка Преименуване Изтриване Преименуване на прикачен файл diff --git a/toolkit/featureforms/src/main/res/values-bs/strings.xml b/toolkit/featureforms/src/main/res/values-bs/strings.xml index 3fc7f5ae6..33434f40b 100644 --- a/toolkit/featureforms/src/main/res/values-bs/strings.xml +++ b/toolkit/featureforms/src/main/res/values-bs/strings.xml @@ -88,7 +88,6 @@ Odaberi AM ili PM Popodne Snimi fotografiju - Dodaj fotografiju Preimenuj Izbriši Preimenuj privitak diff --git a/toolkit/featureforms/src/main/res/values-ca/strings.xml b/toolkit/featureforms/src/main/res/values-ca/strings.xml index db6e9c3e7..b54fe6c0c 100644 --- a/toolkit/featureforms/src/main/res/values-ca/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ca/strings.xml @@ -88,7 +88,6 @@ Seleccioneu am o pm PM Feu una foto - Afegeix una foto Canvia el nom Suprimeix Canvia el nom del fitxer adjunt diff --git a/toolkit/featureforms/src/main/res/values-cs/strings.xml b/toolkit/featureforms/src/main/res/values-cs/strings.xml index a2a25ece6..21cae3ba6 100644 --- a/toolkit/featureforms/src/main/res/values-cs/strings.xml +++ b/toolkit/featureforms/src/main/res/values-cs/strings.xml @@ -88,7 +88,6 @@ Zvolte dopoledne/odpoledne odpoledne Vyfotografovat - Přidat fotografii Přejmenovat Odstranit Přejmenovat přílohu diff --git a/toolkit/featureforms/src/main/res/values-da/strings.xml b/toolkit/featureforms/src/main/res/values-da/strings.xml index 1d7a99ac9..8ee5ecc88 100644 --- a/toolkit/featureforms/src/main/res/values-da/strings.xml +++ b/toolkit/featureforms/src/main/res/values-da/strings.xml @@ -88,7 +88,6 @@ Vælg AM eller PM PM Tag foto - Tilføj foto Omdøb Slet Omdøb vedhæftning diff --git a/toolkit/featureforms/src/main/res/values-de/strings.xml b/toolkit/featureforms/src/main/res/values-de/strings.xml index e5c8df7f9..ec641cd40 100644 --- a/toolkit/featureforms/src/main/res/values-de/strings.xml +++ b/toolkit/featureforms/src/main/res/values-de/strings.xml @@ -88,7 +88,6 @@ AM oder PM auswählen PM Foto aufnehmen - Foto hinzufügen Umbenennen Löschen Anlage umbenennen diff --git a/toolkit/featureforms/src/main/res/values-el/strings.xml b/toolkit/featureforms/src/main/res/values-el/strings.xml index a43c816ce..0b7d087c9 100644 --- a/toolkit/featureforms/src/main/res/values-el/strings.xml +++ b/toolkit/featureforms/src/main/res/values-el/strings.xml @@ -88,7 +88,6 @@ Επιλογή π.μ. ή μ.μ. μ.μ. Λήψη φωτογραφίας - Προσθήκη φωτογραφίας Μετονομασία Διαγραφή Μετονομασία συνημμένου diff --git a/toolkit/featureforms/src/main/res/values-es/strings.xml b/toolkit/featureforms/src/main/res/values-es/strings.xml index fb6e8846d..bb43bd95e 100644 --- a/toolkit/featureforms/src/main/res/values-es/strings.xml +++ b/toolkit/featureforms/src/main/res/values-es/strings.xml @@ -88,7 +88,6 @@ Seleccionar a.m. o p.m. p.m. Tomar foto - Agregar foto Cambiar el nombre Eliminar Cambiar nombre de adjunto diff --git a/toolkit/featureforms/src/main/res/values-et/strings.xml b/toolkit/featureforms/src/main/res/values-et/strings.xml index cc5280df2..7cf97d79c 100644 --- a/toolkit/featureforms/src/main/res/values-et/strings.xml +++ b/toolkit/featureforms/src/main/res/values-et/strings.xml @@ -88,7 +88,6 @@ Valige AM või PM p.l. Pildista - Lisa foto Nimeta ümber Kustuta Nimeta manus ümber diff --git a/toolkit/featureforms/src/main/res/values-fi/strings.xml b/toolkit/featureforms/src/main/res/values-fi/strings.xml index 20d3aaaef..753d6b6f9 100644 --- a/toolkit/featureforms/src/main/res/values-fi/strings.xml +++ b/toolkit/featureforms/src/main/res/values-fi/strings.xml @@ -88,7 +88,6 @@ Valitse AP tai IP IP Ota valokuva - Lisää valokuva Nimeä uudelleen Poista Nimeä liite uudelleen diff --git a/toolkit/featureforms/src/main/res/values-fr/strings.xml b/toolkit/featureforms/src/main/res/values-fr/strings.xml index d22b3f752..a943305bb 100644 --- a/toolkit/featureforms/src/main/res/values-fr/strings.xml +++ b/toolkit/featureforms/src/main/res/values-fr/strings.xml @@ -88,7 +88,6 @@ Sélectionner AM ou PM PM Prendre une photo - Ajouter une photo Renommer Supprimer Renommer la pièce jointe diff --git a/toolkit/featureforms/src/main/res/values-he/strings.xml b/toolkit/featureforms/src/main/res/values-he/strings.xml index edc588cbd..47f941699 100644 --- a/toolkit/featureforms/src/main/res/values-he/strings.xml +++ b/toolkit/featureforms/src/main/res/values-he/strings.xml @@ -88,7 +88,6 @@ בחר AM או PM PM צלם תמונה - הוסף תמונה שנה שם מחק שנה שם קובץ מצורף diff --git a/toolkit/featureforms/src/main/res/values-hr/strings.xml b/toolkit/featureforms/src/main/res/values-hr/strings.xml index 3fc7f5ae6..33434f40b 100644 --- a/toolkit/featureforms/src/main/res/values-hr/strings.xml +++ b/toolkit/featureforms/src/main/res/values-hr/strings.xml @@ -88,7 +88,6 @@ Odaberi AM ili PM Popodne Snimi fotografiju - Dodaj fotografiju Preimenuj Izbriši Preimenuj privitak diff --git a/toolkit/featureforms/src/main/res/values-hu/strings.xml b/toolkit/featureforms/src/main/res/values-hu/strings.xml index 963f6c208..ec34aaab2 100644 --- a/toolkit/featureforms/src/main/res/values-hu/strings.xml +++ b/toolkit/featureforms/src/main/res/values-hu/strings.xml @@ -88,7 +88,6 @@ DE/DU kiválasztása DU Fénykép készítése - Fénykép hozzáadása Átnevezés Törlés Csatolmány átnevezése diff --git a/toolkit/featureforms/src/main/res/values-id/strings.xml b/toolkit/featureforms/src/main/res/values-id/strings.xml index a79d5b733..4c5e2a3d9 100644 --- a/toolkit/featureforms/src/main/res/values-id/strings.xml +++ b/toolkit/featureforms/src/main/res/values-id/strings.xml @@ -88,7 +88,6 @@ Pilih AM atau PM PM Ambil Foto - Tambahkan Foto Ubah Nama Hapus Ganti Nama Lampiran diff --git a/toolkit/featureforms/src/main/res/values-in/strings.xml b/toolkit/featureforms/src/main/res/values-in/strings.xml index a79d5b733..4c5e2a3d9 100644 --- a/toolkit/featureforms/src/main/res/values-in/strings.xml +++ b/toolkit/featureforms/src/main/res/values-in/strings.xml @@ -88,7 +88,6 @@ Pilih AM atau PM PM Ambil Foto - Tambahkan Foto Ubah Nama Hapus Ganti Nama Lampiran diff --git a/toolkit/featureforms/src/main/res/values-it/strings.xml b/toolkit/featureforms/src/main/res/values-it/strings.xml index 86587b874..ee0ebd11e 100644 --- a/toolkit/featureforms/src/main/res/values-it/strings.xml +++ b/toolkit/featureforms/src/main/res/values-it/strings.xml @@ -88,7 +88,6 @@ Selezionare AM o PM PM Scatta una foto - Aggiungi foto Rinomina Elimina Rinomina allegato diff --git a/toolkit/featureforms/src/main/res/values-iw/strings.xml b/toolkit/featureforms/src/main/res/values-iw/strings.xml index edc588cbd..47f941699 100644 --- a/toolkit/featureforms/src/main/res/values-iw/strings.xml +++ b/toolkit/featureforms/src/main/res/values-iw/strings.xml @@ -88,7 +88,6 @@ בחר AM או PM PM צלם תמונה - הוסף תמונה שנה שם מחק שנה שם קובץ מצורף diff --git a/toolkit/featureforms/src/main/res/values-ja/strings.xml b/toolkit/featureforms/src/main/res/values-ja/strings.xml index 04ceb50ce..be64824ca 100644 --- a/toolkit/featureforms/src/main/res/values-ja/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ja/strings.xml @@ -88,7 +88,6 @@ AM/PM の選択 PM 写真の撮影 - 写真の追加 名前の変更 削除 添付ファイル名の変更 diff --git a/toolkit/featureforms/src/main/res/values-ko/strings.xml b/toolkit/featureforms/src/main/res/values-ko/strings.xml index 368b5e5c0..52b468a5f 100644 --- a/toolkit/featureforms/src/main/res/values-ko/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ko/strings.xml @@ -88,7 +88,6 @@ 오전 또는 오후 선택 오후 사진 촬영 - 사진 추가 이름 바꾸기 삭제 첨부 파일 이름 바꾸기 diff --git a/toolkit/featureforms/src/main/res/values-lt/strings.xml b/toolkit/featureforms/src/main/res/values-lt/strings.xml index a31c44fcc..1141e4a1b 100644 --- a/toolkit/featureforms/src/main/res/values-lt/strings.xml +++ b/toolkit/featureforms/src/main/res/values-lt/strings.xml @@ -88,7 +88,6 @@ Pasirinkti priešpiet ar popiet popiet Fotografuoti - Pridėti nuotrauką Pervardinti Ištrinti Pervardinti priedą diff --git a/toolkit/featureforms/src/main/res/values-lv/strings.xml b/toolkit/featureforms/src/main/res/values-lv/strings.xml index 2207a782e..4ed087304 100644 --- a/toolkit/featureforms/src/main/res/values-lv/strings.xml +++ b/toolkit/featureforms/src/main/res/values-lv/strings.xml @@ -88,7 +88,6 @@ Atlasīt AM vai PM PM Uzņemt fotoattēlu - Pievienot fotoattēlu Pārdēvēt Dzēst Pārdēvēt pielikumu diff --git a/toolkit/featureforms/src/main/res/values-nl/strings.xml b/toolkit/featureforms/src/main/res/values-nl/strings.xml index 365023220..2f5f88040 100644 --- a/toolkit/featureforms/src/main/res/values-nl/strings.xml +++ b/toolkit/featureforms/src/main/res/values-nl/strings.xml @@ -88,7 +88,6 @@ Selecteer AM of PM PM Foto maken - Foto toevoegen Naam wijzigen Verwijderen Naam bijlage wijzigen diff --git a/toolkit/featureforms/src/main/res/values-no/strings.xml b/toolkit/featureforms/src/main/res/values-no/strings.xml index dbcf2203f..7ecc393a8 100644 --- a/toolkit/featureforms/src/main/res/values-no/strings.xml +++ b/toolkit/featureforms/src/main/res/values-no/strings.xml @@ -88,7 +88,6 @@ Velg AM eller PM PM Ta bilde - Legg til bilde Gi nytt navn Slett Endre navn på vedlegg diff --git a/toolkit/featureforms/src/main/res/values-pl/strings.xml b/toolkit/featureforms/src/main/res/values-pl/strings.xml index 854ac5692..6de6fd800 100644 --- a/toolkit/featureforms/src/main/res/values-pl/strings.xml +++ b/toolkit/featureforms/src/main/res/values-pl/strings.xml @@ -88,7 +88,6 @@ Wybierz Rano lub Po południu po południu Zrób zdjęcie - Dodaj zdjęcie Zmień nazwę Usuń Zmień nazwę załącznika diff --git a/toolkit/featureforms/src/main/res/values-pt-rBR/strings.xml b/toolkit/featureforms/src/main/res/values-pt-rBR/strings.xml index 42664382c..a1e3c52cf 100644 --- a/toolkit/featureforms/src/main/res/values-pt-rBR/strings.xml +++ b/toolkit/featureforms/src/main/res/values-pt-rBR/strings.xml @@ -88,7 +88,6 @@ Selecionar AM ou PM PM Tirar Foto - Adicionar foto Renomear Excluir Renomear Anexo diff --git a/toolkit/featureforms/src/main/res/values-pt-rPT/strings.xml b/toolkit/featureforms/src/main/res/values-pt-rPT/strings.xml index acd01358d..a0fbe3eb4 100644 --- a/toolkit/featureforms/src/main/res/values-pt-rPT/strings.xml +++ b/toolkit/featureforms/src/main/res/values-pt-rPT/strings.xml @@ -88,7 +88,6 @@ Selecionar AM ou PM PM Tirar fotografia - Adicionar fotografia Mudar o nome Eliminar Mudar o nome do anexo diff --git a/toolkit/featureforms/src/main/res/values-ro/strings.xml b/toolkit/featureforms/src/main/res/values-ro/strings.xml index 4646858c3..21230eb87 100644 --- a/toolkit/featureforms/src/main/res/values-ro/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ro/strings.xml @@ -88,7 +88,6 @@ Selectați AM șu PM PM Realizare fotografie - Adăugare fotografie Redenumire Ștergere Redenumire atașament diff --git a/toolkit/featureforms/src/main/res/values-ru/strings.xml b/toolkit/featureforms/src/main/res/values-ru/strings.xml index 95ea9cfd6..98b276b32 100644 --- a/toolkit/featureforms/src/main/res/values-ru/strings.xml +++ b/toolkit/featureforms/src/main/res/values-ru/strings.xml @@ -88,7 +88,6 @@ Выбрать AM или PM PM Сделать фотографию - Добавить фотографию Переименовать Удалить Переименовать вложение diff --git a/toolkit/featureforms/src/main/res/values-sk/strings.xml b/toolkit/featureforms/src/main/res/values-sk/strings.xml index 236fddd8f..6ea3a1202 100644 --- a/toolkit/featureforms/src/main/res/values-sk/strings.xml +++ b/toolkit/featureforms/src/main/res/values-sk/strings.xml @@ -88,7 +88,6 @@ Vybrať dopoludnie alebo popoludnie Popoludní Odfotiť - Pridať fotografiu Premenovať Zmazať Premenovať prílohu diff --git a/toolkit/featureforms/src/main/res/values-sl/strings.xml b/toolkit/featureforms/src/main/res/values-sl/strings.xml index 2217e65cb..9c8e8735f 100644 --- a/toolkit/featureforms/src/main/res/values-sl/strings.xml +++ b/toolkit/featureforms/src/main/res/values-sl/strings.xml @@ -88,7 +88,6 @@ Izberi AM ali PM popoldne Fotografirajte - Dodaj fotografijo Preimenuj Izbriši Preimenuj prilogo diff --git a/toolkit/featureforms/src/main/res/values-sr/strings.xml b/toolkit/featureforms/src/main/res/values-sr/strings.xml index 831b62072..1d7c07486 100644 --- a/toolkit/featureforms/src/main/res/values-sr/strings.xml +++ b/toolkit/featureforms/src/main/res/values-sr/strings.xml @@ -88,7 +88,6 @@ Izaberite prepodne ili popodne Popodne Fotografišite - Dodaj fotografiju Preimenuj Izbriši Preimenuj prilog diff --git a/toolkit/featureforms/src/main/res/values-sv/strings.xml b/toolkit/featureforms/src/main/res/values-sv/strings.xml index a400f3581..ecf159f6b 100644 --- a/toolkit/featureforms/src/main/res/values-sv/strings.xml +++ b/toolkit/featureforms/src/main/res/values-sv/strings.xml @@ -88,7 +88,6 @@ Välj FM eller EM PM Ta ett foto - Lägg till foto Byt namn Ta bort Byt namn på bilaga diff --git a/toolkit/featureforms/src/main/res/values-th/strings.xml b/toolkit/featureforms/src/main/res/values-th/strings.xml index 149250be1..68de08988 100644 --- a/toolkit/featureforms/src/main/res/values-th/strings.xml +++ b/toolkit/featureforms/src/main/res/values-th/strings.xml @@ -88,7 +88,6 @@ เลือก AM หรือ PM PM ถ่ายภาพ - เพิ่มรูปถ่าย เปลี่ยนชื่อ ลบ เปลี่ยนชื่อไฟล์แนบ diff --git a/toolkit/featureforms/src/main/res/values-tr/strings.xml b/toolkit/featureforms/src/main/res/values-tr/strings.xml index 55028d086..c8c1748a4 100644 --- a/toolkit/featureforms/src/main/res/values-tr/strings.xml +++ b/toolkit/featureforms/src/main/res/values-tr/strings.xml @@ -88,7 +88,6 @@ AM veya PM olarak seç PM Fotoğraf Çek - Fotoğraf Ekle Yeniden Adlandır Sil Eki Yeniden Adlandır diff --git a/toolkit/featureforms/src/main/res/values-uk/strings.xml b/toolkit/featureforms/src/main/res/values-uk/strings.xml index d606756c1..30134ff58 100644 --- a/toolkit/featureforms/src/main/res/values-uk/strings.xml +++ b/toolkit/featureforms/src/main/res/values-uk/strings.xml @@ -88,7 +88,6 @@ Виберіть ранок або вечір PM Зробити фото - Додати фото Змінити назву Видалити Перейменувати прикріплення diff --git a/toolkit/featureforms/src/main/res/values-vi/strings.xml b/toolkit/featureforms/src/main/res/values-vi/strings.xml index a6e5cff42..2469e6a74 100644 --- a/toolkit/featureforms/src/main/res/values-vi/strings.xml +++ b/toolkit/featureforms/src/main/res/values-vi/strings.xml @@ -88,7 +88,6 @@ Chọn SA hoặc CH CH Chụp Ảnh - Thêm Ảnh Đổi tên Xóa Đổi tên Tệp đính kèm diff --git a/toolkit/featureforms/src/main/res/values-zh-rHK/strings.xml b/toolkit/featureforms/src/main/res/values-zh-rHK/strings.xml index 85ff39865..42d18eb0e 100644 --- a/toolkit/featureforms/src/main/res/values-zh-rHK/strings.xml +++ b/toolkit/featureforms/src/main/res/values-zh-rHK/strings.xml @@ -88,7 +88,6 @@ 選擇 AM 或 PM 下午 拍照 - 新增相片 重新命名 刪除 重新命名附件 diff --git a/toolkit/featureforms/src/main/res/values-zh-rTW/strings.xml b/toolkit/featureforms/src/main/res/values-zh-rTW/strings.xml index 85ff39865..42d18eb0e 100644 --- a/toolkit/featureforms/src/main/res/values-zh-rTW/strings.xml +++ b/toolkit/featureforms/src/main/res/values-zh-rTW/strings.xml @@ -88,7 +88,6 @@ 選擇 AM 或 PM 下午 拍照 - 新增相片 重新命名 刪除 重新命名附件 diff --git a/toolkit/featureforms/src/main/res/values-zh/strings.xml b/toolkit/featureforms/src/main/res/values-zh/strings.xml index e69c45b82..95e0f36fc 100644 --- a/toolkit/featureforms/src/main/res/values-zh/strings.xml +++ b/toolkit/featureforms/src/main/res/values-zh/strings.xml @@ -88,7 +88,6 @@ 选择上午或下午 PM 拍照 - 添加照片 重命名 删除 重命名附件 diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index c0a44cb7b..c701d1765 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -27,6 +27,10 @@ Enter %1$d to %2$d characters Value must be %1$d to %2$d characters + + Maximum %1$d character + Maximum %1$d characters + Maximum %1$d characters No value Enter Value From 0fc34a3233b102450bb5071c450e0654301106b5 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Wed, 10 Jul 2024 16:06:40 -0700 Subject: [PATCH 48/53] `Forms` : Micro-app update oauth credentials (#507) --- microapps/FeatureFormsApp/README.md | 9 +++------ .../featureformsapp/screens/login/LoginViewModel.kt | 5 +++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/microapps/FeatureFormsApp/README.md b/microapps/FeatureFormsApp/README.md index 5640ad09d..8d9ed8bef 100644 --- a/microapps/FeatureFormsApp/README.md +++ b/microapps/FeatureFormsApp/README.md @@ -10,12 +10,9 @@ for editing Feature attributes. The application provides a web map gallery and a map viewer which invokes the form when Features are tapped. Authentication is optional but limited to specific public web maps. +To login to your ArcGIS Online account, click the `Sign in with ArcGIS Online` button in the app. This will open the OAuth page in a new browser window where you can enter the account credentials. +Once you have signed in, you can access the web maps that are shared with your account. -To authenticate using OAuth, provide the Client ID value in `local.properties`. If an OAuth client id -is not provided, the app will prompt a username and password dialog. - -``` -clientId=YOUR_CLIENT_ID -``` +If you'd rather use an ArcGIS Enterprise account, click the `Sign in with ArcGIS Enterprise` button in the app. This will open a dialog prompting for an Enterprise URL followed by another dialog to enter your credentials. For more information on the `FeatureForm` component and how it works, see it's [Readme](../../toolkit/featureforms/README.md). diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt index 866392ef1..ac4c7a521 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/login/LoginViewModel.kt @@ -57,6 +57,7 @@ class LoginViewModel @Inject constructor( val loginState = _loginState.asStateFlow() private val oAuthRedirectUri = "featureformsapp://auth" + private val clientId = "iFmvhJGQEKGK1Ahf" /** * Save this url to the search history. @@ -76,10 +77,10 @@ class LoginViewModel @Inject constructor( _loginState.value = LoginState.Loading viewModelScope.launch(Dispatchers.IO) { authenticatorState.oAuthUserConfiguration = - if (useOAuth && BuildConfig.clientId.isNotBlank()) + if (useOAuth) OAuthUserConfiguration( portalUrl = url, - clientId = BuildConfig.clientId, + clientId = clientId, redirectUrl = oAuthRedirectUri, ) else null From 8878cf7de2714ccfe42bbef5fcdf1bb1d0b3a882 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 11 Jul 2024 09:18:24 -0700 Subject: [PATCH 49/53] refactor generating new attachment names (#505) --- .../attachment/AttachmentElementState.kt | 25 +++++++++++-------- .../featureforms/internal/utils/Dialog.kt | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index adafe2817..6666fca66 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -272,7 +272,7 @@ internal class FormAttachmentState( * The name of the attachment. Setting the name will update the [FormAttachment.name] property. * This is backed by a [MutableState] and can be observed by the composition. */ - var name : String + var name: String get() = _name.value set(value) { formAttachment?.name = value @@ -523,15 +523,18 @@ internal fun FormAttachmentType.getIcon(): ImageVector = when (this) { /** * Returns a new attachment name based on the content type. */ -internal fun List.getNewAttachmentNameForContentType(contentType: String): String { - val prefix = when { - contentType.startsWith("image/") -> "Image" - contentType.startsWith("video/") -> "Video" - else -> "Attachment" - } - val count = this.count { entry -> - entry.contentType.split("/").firstOrNull() - .equals(contentType.split("/").firstOrNull(), ignoreCase = true) +internal fun AttachmentElementState.getNewAttachmentNameForContentType(contentType: String): String { + // use the content type prefix to generate a new attachment name + val prefix = contentType.split("/").firstOrNull()?.replaceFirstChar(Char::titlecase) + ?: "Attachment" + var count = attachments.count { entry -> + // count the number of attachments with the same content type + entry.contentType == contentType } + 1 - return "$prefix $count" + // create a set of attachment names to check for duplicates + val names = attachments.mapTo(hashSetOf()) { it.name } + while (names.contains("${prefix}$count")) { + count++ + } + return "${prefix}$count" } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index a95514b8a..e66eb1a94 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -387,7 +387,7 @@ private suspend fun AttachmentElementState.addAttachmentFromUri( return@withContext Result.failure(Exception(context.getString(R.string.attachment_error))) } // generate a name for the attachment - var name = "${attachments.getNewAttachmentNameForContentType(contentType)}.$extension" + var name = "${getNewAttachmentNameForContentType(contentType)}.$extension" // size of the attachment var size = 0L // get the name and size of the attachment From 52bc763cd3524113c7aac5bd5d52e63094a94d02 Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 11 Jul 2024 09:18:52 -0700 Subject: [PATCH 50/53] `Form` : Attachment theming (#490) --- toolkit/featureforms/api/featureforms.api | 51 +++++++- .../toolkit/featureforms/ThemingTests.kt | 62 ++++++++++ .../attachment/AttachmentElementDefaults.kt | 46 ------- .../attachment/AttachmentFormElement.kt | 45 +++++-- .../components/attachment/AttachmentTile.kt | 35 +++--- .../featureforms/theme/DefaultThemeTokens.kt | 14 +++ .../featureforms/theme/FeatureFormDefaults.kt | 115 +++++++++++++----- .../featureforms/theme/FeatureFormTheme.kt | 53 +++++++- 8 files changed, 311 insertions(+), 110 deletions(-) delete mode 100644 toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt diff --git a/toolkit/featureforms/api/featureforms.api b/toolkit/featureforms/api/featureforms.api index 25ba5c19a..1101cfb56 100644 --- a/toolkit/featureforms/api/featureforms.api +++ b/toolkit/featureforms/api/featureforms.api @@ -16,6 +16,44 @@ public final class com/arcgismaps/toolkit/featureforms/ValidationErrorVisibility public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/ValidationErrorVisibility$Visible; } +public final class com/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors { + public static final field $stable I + public final fun component1-0d7_KjU ()J + public final fun component2-0d7_KjU ()J + public final fun component3-0d7_KjU ()J + public final fun component4-0d7_KjU ()J + public final fun component5-0d7_KjU ()J + public final fun component6-0d7_KjU ()J + public final fun component7-0d7_KjU ()J + public final fun copy-4JmcsL4 (JJJJJJJ)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors; + public static synthetic fun copy-4JmcsL4$default (Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;JJJJJJJILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors; + public fun equals (Ljava/lang/Object;)Z + public final fun getContainerColor-0d7_KjU ()J + public final fun getLabelColor-0d7_KjU ()J + public final fun getOutlineColor-0d7_KjU ()J + public final fun getScrollBarColor-0d7_KjU ()J + public final fun getSupportingTextColor-0d7_KjU ()J + public final fun getTileBorderColor-0d7_KjU ()J + public final fun getTileTextColor-0d7_KjU ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography { + public static final field $stable I + public final fun component1 ()Landroidx/compose/ui/text/TextStyle; + public final fun component2 ()Landroidx/compose/ui/text/TextStyle; + public final fun component3 ()Landroidx/compose/ui/text/TextStyle; + public final fun copy (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabelStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getSupportingTextStyle ()Landroidx/compose/ui/text/TextStyle; + public final fun getTileTextStyle ()Landroidx/compose/ui/text/TextStyle; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + public final class com/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors { public static final field $stable I public final fun component1-0d7_KjU ()J @@ -112,9 +150,11 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormColorSch public final fun component2 ()Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; public final fun component3 ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; public final fun component4 ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; - public final fun copy (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; - public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public final fun component5 ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors; + public final fun copy (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme;Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; public fun equals (Ljava/lang/Object;)Z + public final fun getAttachmentsElementColors ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors; public final fun getEditableTextFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; public final fun getGroupElementColors ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; public final fun getRadioButtonFieldColors ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors; @@ -126,7 +166,9 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormColorSch public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults { public static final field $stable I public static final field INSTANCE Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults; - public final fun colorScheme (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; + public final fun attachmentsElementColors-69fazGs (JJJJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors; + public final fun attachmentsElementTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography; + public final fun colorScheme (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldColors;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementColors;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormColorScheme; public final fun editableTextFieldColors-s9joTbY (JJJJJJJJLandroidx/compose/foundation/text/selection/TextSelectionColors;JJJJJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIIIII)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldColors; public final fun editableTextFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; public final fun groupElementColors-zjMxDiM (JJJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementColors; @@ -135,11 +177,12 @@ public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormDefaults public final fun radioButtonFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; public final fun readOnlyFieldColors-ro_MJ88 (JJJJLandroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldColors; public final fun readOnlyFieldTypography (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography; - public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography; + public final fun typography (Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/ReadOnlyFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography;Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography;Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography;Landroidx/compose/runtime/Composer;II)Lcom/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography; } public final class com/arcgismaps/toolkit/featureforms/theme/FeatureFormTypography { public static final field $stable I + public final fun getAttachmentsElementTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/AttachmentsElementTypography; public final fun getEditableTextFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/EditableTextFieldTypography; public final fun getGroupElementTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/GroupElementTypography; public final fun getRadioButtonFieldTypography ()Lcom/arcgismaps/toolkit/featureforms/theme/RadioButtonFieldTypography; diff --git a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt index 681f7c721..ba485b14a 100644 --- a/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt +++ b/toolkit/featureforms/src/androidTest/java/com/arcgismaps/toolkit/featureforms/ThemingTests.kt @@ -18,11 +18,15 @@ package com.arcgismaps.toolkit.featureforms import androidx.compose.ui.graphics.Color import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.hasText import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performImeAction +import androidx.compose.ui.test.performScrollToNode import androidx.compose.ui.test.performTextInput +import androidx.compose.ui.test.printToLog import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import com.arcgismaps.toolkit.featureforms.theme.FeatureFormColorScheme @@ -266,4 +270,62 @@ class ThemingTests : FeatureFormTestRunner( supportingText.assertIsDisplayed() supportingText.assertTextColor(Color.Green) } + + /** + * Given a FeatureForm with a custom color scheme and typography for attachments elements + * When the FeatureForm is displayed + * Then the custom color scheme and typography are applied to the attachments form elements + */ + @Test + fun testAttachmentsElementTheming() { + var colorScheme: FeatureFormColorScheme + var typography: FeatureFormTypography + composeTestRule.setContent { + colorScheme = FeatureFormDefaults.colorScheme( + attachmentsElementColors = FeatureFormDefaults.attachmentsElementColors( + labelColor = Color.Red, + tileTextColor = Color.Green + ) + ) + typography = FeatureFormDefaults.typography( + attachmentsElementTypography = FeatureFormDefaults.attachmentsElementTypography( + labelStyle = TextStyle( + fontWeight = FontWeight.ExtraBold + ), + tileTextStyle = TextStyle( + fontWeight = FontWeight.ExtraBold, + ), + ) + ) + FeatureForm( + featureForm = featureForm, + colorScheme = colorScheme, + typography = typography + ) + } + val attachmentsElement = featureForm.defaultAttachmentsElement + assertThat(attachmentsElement).isNotNull() + // find the scrollable container + val lazyColumn = composeTestRule.onNodeWithContentDescription("lazy column") + lazyColumn.performScrollToNode(hasText(attachmentsElement!!.label)) + // scroll until the attachments element is visible + val attachmentsField = composeTestRule.onNodeWithText(attachmentsElement.label) + attachmentsField.printToLog("label") + attachmentsField.assertIsDisplayed() + attachmentsField.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Red + ) + ) + // get the first attachment tile + val tile = attachmentsField.onChildWithText(attachmentsElement.attachments.first().name) + tile.assertIsDisplayed() + tile.assertTextStyle( + TextStyle( + fontWeight = FontWeight.ExtraBold, + color = Color.Green + ) + ) + } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt deleted file mode 100644 index 3e80305db..000000000 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementDefaults.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2024 Esri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.arcgismaps.toolkit.featureforms.internal.components.attachment - -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.MaterialTheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.dp - -internal object AttachmentElementDefaults { - - val buttonBorderThickness = 2.dp - val borderThickness = 1.dp - val containerShape = RoundedCornerShape(5.dp) - val attachmentDetailShape = RoundedCornerShape(10.dp) - val attachmentShape = RoundedCornerShape(10.dp) - - @Composable - fun colors() : AttachmentElementColors = AttachmentElementColors( - containerColor = MaterialTheme.colorScheme.background, - carouselContainerColor = MaterialTheme.colorScheme.onBackground, - borderColor = MaterialTheme.colorScheme.outline.copy(alpha = 0.6f) - ) -} - -internal data class AttachmentElementColors( - val containerColor : Color, - val carouselContainerColor: Color, - val borderColor : Color, -) - diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt index 713557474..f5e0d5871 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentFormElement.kt @@ -35,12 +35,14 @@ import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Add import androidx.compose.material.icons.rounded.Folder import androidx.compose.material.icons.rounded.Photo import androidx.compose.material.icons.rounded.PhotoCamera import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -68,6 +70,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -80,6 +83,10 @@ import com.arcgismaps.toolkit.featureforms.R import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import com.arcgismaps.toolkit.featureforms.internal.utils.DialogType import com.arcgismaps.toolkit.featureforms.internal.utils.LocalDialogRequester +import com.arcgismaps.toolkit.featureforms.theme.AttachmentsElementColors +import com.arcgismaps.toolkit.featureforms.theme.AttachmentsElementTypography +import com.arcgismaps.toolkit.featureforms.theme.LocalColorScheme +import com.arcgismaps.toolkit.featureforms.theme.LocalTypography import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.launch import java.time.Instant @@ -115,12 +122,16 @@ internal fun AttachmentFormElement( lazyListState: LazyListState, hasCameraPermission: Boolean, modifier: Modifier = Modifier, - colors: AttachmentElementColors = AttachmentElementDefaults.colors() + colors: AttachmentsElementColors = LocalColorScheme.current.attachmentsElementColors, + typography: AttachmentsElementTypography = LocalTypography.current.attachmentsElementTypography ) { Card( modifier = modifier.semantics(mergeDescendants = true) {}, - shape = AttachmentElementDefaults.containerShape, - border = BorderStroke(AttachmentElementDefaults.borderThickness, colors.borderColor) + shape = RoundedCornerShape(5.dp), + border = BorderStroke(1.dp, colors.outlineColor), + colors = CardDefaults.cardColors( + containerColor = colors.containerColor + ) ) { Column( modifier = Modifier.padding(15.dp) @@ -128,7 +139,11 @@ internal fun AttachmentFormElement( Row { Header( title = label, - description = description + description = description, + titleColor = colors.labelColor, + titleTextStyle = typography.labelStyle, + descriptionColor = colors.supportingTextColor, + descriptionTextStyle = typography.supportingTextStyle ) Spacer(modifier = Modifier.weight(1f)) if (editable) { @@ -141,20 +156,24 @@ internal fun AttachmentFormElement( } } Spacer(modifier = Modifier.height(20.dp)) - Carousel(lazyListState, attachments) + Carousel(lazyListState, attachments, colors.scrollBarColor) } } } @Composable -private fun Carousel(state: LazyListState, attachments: List) { +private fun Carousel( + state: LazyListState, + attachments: List, + scrollBarColor: Color, +) { LazyRow( modifier = Modifier .fillMaxWidth() .horizontalScrollbar( state = state, - trackColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.1f), - color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.5f), + trackColor = scrollBarColor.copy(alpha = 0.1f), + color = scrollBarColor, height = 4.dp, offsetY = 5.dp, autoHide = false @@ -173,6 +192,10 @@ private fun Carousel(state: LazyListState, attachments: List Date: Fri, 12 Jul 2024 16:05:23 -0700 Subject: [PATCH 51/53] `Forms` : Consume latest api (#506) --- gradle.properties | 2 +- .../screens/map/MapViewModel.kt | 22 ++++++++----- .../attachment/AttachmentElementState.kt | 32 +++++++++++-------- .../components/attachment/AttachmentTile.kt | 1 + .../featureforms/internal/utils/Dialog.kt | 4 +-- .../src/main/res/values/strings.xml | 1 + 6 files changed, 38 insertions(+), 24 deletions(-) diff --git a/gradle.properties b/gradle.properties index 64abbbbf1..343770985 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,4 +54,4 @@ ignoreBuildNumber=false # these versions define the dependency of the ArcGIS Maps SDK for Kotlin dependency # and are generally not overridden at the command line unless a special build is requested. sdkVersionNumber=200.5.0 -sdkBuildNumber=4273 +sdkBuildNumber=4297 diff --git a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt index cb413fc74..e322f42f7 100644 --- a/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt +++ b/microapps/FeatureFormsApp/app/src/main/java/com/arcgismaps/toolkit/featureformsapp/screens/map/MapViewModel.kt @@ -185,22 +185,28 @@ class MapViewModel @Inject constructor( ) // if there are no errors then update the feature return if (errors.isEmpty()) { - val feature = featureForm.feature val serviceFeatureTable = - feature.featureTable as? ServiceFeatureTable ?: return Result.failure( + featureForm.feature.featureTable as? ServiceFeatureTable ?: return Result.failure( IllegalStateException("cannot save feature edit without a ServiceFeatureTable") ) - val result = featureForm.finishEditing().map { + var result = Result.success(Unit) + featureForm.finishEditing().onSuccess { serviceFeatureTable.serviceGeodatabase?.let { database -> - return@let if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) { - database.applyEdits() + if (database.serviceInfo?.canUseServiceGeodatabaseApplyEdits == true) { + database.applyEdits().onFailure { + result = Result.failure(it) + } } else { - serviceFeatureTable.applyEdits() + serviceFeatureTable.applyEdits().onFailure { + result = Result.failure(it) + } } } - feature.refresh() + featureForm.feature.refresh() // unselect the feature after the edits have been saved - (feature.featureTable?.layer as FeatureLayer).clearSelection() + (featureForm.feature.featureTable?.layer as FeatureLayer).clearSelection() + }.onFailure { + result = Result.failure(it) } // set the state to not editing since the feature was updated successfully _uiState.value = UIState.NotEditing diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 6666fca66..72d5ec6b0 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -115,7 +115,7 @@ internal class AttachmentElementState( */ private fun buildAttachmentStates(list: List) { attachments.clear() - list.forEach { formAttachment -> + list.asReversed().forEach { formAttachment -> // create a new state val state = FormAttachmentState( name = formAttachment.name, @@ -131,7 +131,7 @@ internal class AttachmentElementState( // if the attachment is already loaded then re-load the new state // this is useful during a configuration change when the form attachment // objects have already been loaded by the state object. - if (formAttachment.loadStatus.value is LoadStatus.Loaded) { + if (formAttachment.loadStatus.value is LoadStatus.Loaded || formAttachment.isLocal) { state.loadWithParentScope() } attachments.add(state) @@ -141,8 +141,9 @@ internal class AttachmentElementState( /** * Adds an attachment with the given [name], [contentType], and [data]. */ - fun addAttachment(name: String, contentType: String, data: ByteArray) { - val formAttachment = formElement.addAttachment(name, contentType, data) + fun addAttachment(name: String, contentType: String, data: ByteArray): Result { + val formAttachment = formElement.addAttachmentOrNull(name, contentType, data) + ?: return Result.failure(Exception("Failed to add attachment")) // create a new state val state = FormAttachmentState( name = formAttachment.name, @@ -165,6 +166,7 @@ internal class AttachmentElementState( lazyListState.scrollToItem(0) evaluateExpressions() } + return Result.success(Unit) } /** @@ -402,11 +404,8 @@ internal class FormAttachmentState( val bitmap = try { when (type) { is FormAttachmentType.Image -> { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - ThumbnailUtils.createImageThumbnail(File(filePath), thumbnailSize, null) - } else { - ThumbnailUtils.createImageThumbnail(filePath, 1) - } + formAttachment.createThumbnail(thumbnailSize.width, thumbnailSize.height) + .getOrThrow().bitmap } FormAttachmentType.Video -> { @@ -521,9 +520,16 @@ internal fun FormAttachmentType.getIcon(): ImageVector = when (this) { } /** - * Returns a new attachment name based on the content type. + * Returns a new attachment name based on the [contentType] and [extension]. + * + * @param contentType The content type of the attachment. + * @param extension The file extension of the attachment. + * @return A new attachment name including the file extension specified by [extension]. */ -internal fun AttachmentElementState.getNewAttachmentNameForContentType(contentType: String): String { +internal fun AttachmentElementState.getNewAttachmentNameForContentType( + contentType: String, + extension: String +): String { // use the content type prefix to generate a new attachment name val prefix = contentType.split("/").firstOrNull()?.replaceFirstChar(Char::titlecase) ?: "Attachment" @@ -533,8 +539,8 @@ internal fun AttachmentElementState.getNewAttachmentNameForContentType(contentTy } + 1 // create a set of attachment names to check for duplicates val names = attachments.mapTo(hashSetOf()) { it.name } - while (names.contains("${prefix}$count")) { + while (names.contains("${prefix}$count.$extension")) { count++ } - return "${prefix}$count" + return "${prefix}$count.$extension" } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index dec50ee17..0f0894095 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -200,6 +200,7 @@ internal fun AttachmentTile( onClick = { showContextMenu = false state.deleteAttachment() + Toast.makeText(context, context.getString(R.string.attachment_deleted, state.name), Toast.LENGTH_SHORT).show() }) } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt index e66eb1a94..9543660da 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/utils/Dialog.kt @@ -387,7 +387,7 @@ private suspend fun AttachmentElementState.addAttachmentFromUri( return@withContext Result.failure(Exception(context.getString(R.string.attachment_error))) } // generate a name for the attachment - var name = "${getNewAttachmentNameForContentType(contentType)}.$extension" + var name = getNewAttachmentNameForContentType(contentType, extension) // size of the attachment var size = 0L // get the name and size of the attachment @@ -417,7 +417,7 @@ private suspend fun AttachmentElementState.addAttachmentFromUri( context.readBytes(uri).onFailure { result = Result.failure(it) }.onSuccess { data -> - addAttachment(name, contentType, data) + result = addAttachment(name, contentType, data) } result } diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index c701d1765..2c358987d 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -115,4 +115,5 @@ The File is too large. Please add a file less than 50 MB. Empty files are not supported Empty files cannot be downloaded + %1s was deleted successfully From 6d3c3e3528f134fcc5d8d51deab0e9dab5cbc1dd Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Tue, 16 Jul 2024 15:58:35 -0700 Subject: [PATCH 52/53] make thumbnails part of the state object (#514) --- .../attachment/AttachmentElementState.kt | 35 ++++--------------- .../components/attachment/AttachmentTile.kt | 11 +++--- 2 files changed, 12 insertions(+), 34 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 72d5ec6b0..53b44cfd7 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -19,7 +19,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment import android.Manifest import android.content.Context import android.content.pm.PackageManager -import android.graphics.Bitmap.CompressFormat +import android.graphics.Bitmap import android.media.ThumbnailUtils import android.os.Build import android.util.Size @@ -50,7 +50,6 @@ import com.arcgismaps.mapping.featureforms.FeatureForm import com.arcgismaps.mapping.featureforms.FormAttachment import com.arcgismaps.mapping.featureforms.FormAttachmentType import com.arcgismaps.toolkit.featureforms.internal.components.base.FormElementState -import com.arcgismaps.toolkit.featureforms.internal.utils.AttachmentsFileProvider import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -59,9 +58,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import java.io.BufferedOutputStream import java.io.File -import java.io.FileOutputStream import java.util.Objects @@ -298,17 +295,12 @@ internal class FormAttachmentState( val filePath: String get() = formAttachment?.filePath ?: "" - private var _thumbnailUri: MutableState = mutableStateOf("") + private var _thumbnail: MutableState = mutableStateOf(null) /** - * The URI of the thumbnail image. This is empty until [load] is called. + * The thumbnail image. This is null until [load] is called. */ - val thumbnailUri: State = _thumbnailUri - - /** - * The directory where the attachments are stored as defined in the [AttachmentsFileProvider]. - */ - private val attachmentsDir = "feature_forms_attachments" + val thumbnail: State = _thumbnail /** * The size of the thumbnail image. @@ -387,21 +379,13 @@ internal class FormAttachmentState( } /** - * Creates a thumbnail image for the attachment. If the thumbnail already exists, it will not be - * recreated. + * Creates a thumbnail image for the attachment. */ private suspend fun createThumbnail() = withContext(Dispatchers.IO) { if (formAttachment == null) { return@withContext } - val directory = File(filesDir, attachmentsDir) - directory.mkdirs() - val file = File(directory, "thumb_$id") - if (file.exists()) { - _thumbnailUri.value = file.absolutePath - return@withContext - } - val bitmap = try { + _thumbnail.value = try { when (type) { is FormAttachmentType.Image -> { formAttachment.createThumbnail(thumbnailSize.width, thumbnailSize.height) @@ -420,14 +404,7 @@ internal class FormAttachmentState( } } catch (ex: Exception) { null - } ?: return@withContext - - // create and write to the thumbnail file if the bitmap is not null - file.createNewFile() - BufferedOutputStream(FileOutputStream(file)).use { bos -> - bitmap.compress(CompressFormat.JPEG, 85, bos) } - _thumbnailUri.value = file.absolutePath } } diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 0f0894095..8c0c377eb 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -18,6 +18,7 @@ package com.arcgismaps.toolkit.featureforms.internal.components.attachment import android.content.ActivityNotFoundException import android.content.Intent +import android.graphics.Bitmap import android.text.format.Formatter import android.widget.Toast import androidx.compose.foundation.BorderStroke @@ -109,7 +110,7 @@ internal fun AttachmentTile( ) { val loadStatus by state.loadStatus.collectAsState() val interactionSource = remember { MutableInteractionSource() } - val thumbnailUri by state.thumbnailUri + val thumbnail by state.thumbnail val configuration = LocalViewConfiguration.current val haptic = LocalHapticFeedback.current var showContextMenu by remember { mutableStateOf(false) } @@ -133,7 +134,7 @@ internal fun AttachmentTile( LoadStatus.Loaded -> LoadedView( title = state.name, type = state.type, - thumbnailUri = thumbnailUri + thumbnail = thumbnail ) LoadStatus.Loading -> DefaultView( @@ -262,16 +263,16 @@ internal fun AttachmentTile( private fun LoadedView( title: String, type: FormAttachmentType, - thumbnailUri: String, + thumbnail: Bitmap?, modifier: Modifier = Modifier ) { Box( modifier = modifier .fillMaxSize() ) { - if (thumbnailUri.isNotEmpty()) { + if (thumbnail != null) { AsyncImage( - model = thumbnailUri, + model = thumbnail, contentDescription = "Thumbnail", contentScale = ContentScale.Crop, modifier = Modifier.fillMaxSize() From 7cc63c1002f36caa9337cdec067bc18a1a066c2e Mon Sep 17 00:00:00 2001 From: Kaushik Meesala Date: Thu, 18 Jul 2024 11:26:57 -0700 Subject: [PATCH 53/53] add attachment size restrictions for loading (#518) --- .../attachment/AttachmentElementState.kt | 33 +++++++++++++--- .../components/attachment/AttachmentTile.kt | 39 +++++++++++++++---- .../src/main/res/values/strings.xml | 1 + 3 files changed, 59 insertions(+), 14 deletions(-) diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt index 53b44cfd7..9fb0e10b7 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentElementState.kt @@ -302,6 +302,13 @@ internal class FormAttachmentState( */ val thumbnail: State = _thumbnail + /** + * The maximum attachment size in bytes that can be loaded. If [size] is greater than this limit, + * then the attachment will fail to load with an [AttachmentSizeLimitExceededException] when + * [load] is called. + */ + val maxAttachmentSize = 50_000_000L + /** * The size of the thumbnail image. */ @@ -327,12 +334,11 @@ internal class FormAttachmentState( _loadStatus.value = LoadStatus.Loading var result = Result.success(Unit) try { - if (formAttachment == null) { - result = Result.failure(Exception("Form attachment is null")) - } else { - formAttachment.retryLoad().onFailure { - result = Result.failure(it) - }.onSuccess { + result = when { + formAttachment == null -> Result.failure(IllegalStateException("Form attachment is null")) + formAttachment.size == 0L -> Result.failure(EmptyAttachmentException()) + formAttachment.size > maxAttachmentSize -> Result.failure(AttachmentSizeLimitExceededException(maxAttachmentSize)) + else -> formAttachment.retryLoad().onSuccess { createThumbnail() } } @@ -403,6 +409,9 @@ internal class FormAttachmentState( else -> null } } catch (ex: Exception) { + if (ex is CancellationException) { + throw ex + } null } } @@ -521,3 +530,15 @@ internal fun AttachmentElementState.getNewAttachmentNameForContentType( } return "${prefix}$count.$extension" } + +/** + * Exception indicating that the attachment size exceeds the maximum limit. + * + * @param limit The maximum attachment size limit in bytes. + */ +internal class AttachmentSizeLimitExceededException(val limit : Long) : Exception("Attachment size exceeds the maximum limit of $limit MB") + +/** + * Exception indicating that the attachment size is 0. + */ +internal class EmptyAttachmentException : Exception("Attachment size is 0") diff --git a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt index 8c0c377eb..8b6a88c29 100644 --- a/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt +++ b/toolkit/featureforms/src/main/java/com/arcgismaps/toolkit/featureforms/internal/components/attachment/AttachmentTile.kt @@ -184,7 +184,9 @@ internal fun AttachmentTile( ) ) } - }) + }, + enabled = state.size <= state.maxAttachmentSize + ) DropdownMenuItem( text = { Text(text = stringResource(R.string.delete)) }, leadingIcon = { @@ -215,8 +217,11 @@ internal fun AttachmentTile( delay(configuration.longPressTimeoutMillis) wasALongPress = true // handle long press - haptic.performHapticFeedback(HapticFeedbackType.LongPress) - showContextMenu = true + if (state.size > 0) { + // show context menu only if the attachment is not empty + haptic.performHapticFeedback(HapticFeedbackType.LongPress) + showContextMenu = true + } } is PressInteraction.Release -> { @@ -226,11 +231,6 @@ internal fun AttachmentTile( if (loadStatus is LoadStatus.NotLoaded || loadStatus is LoadStatus.FailedToLoad) { // load attachment state.loadWithParentScope() - if (state.size == 0L) { - // show an error toast if the attachment is empty since the load - // will likely fail - Toast.makeText(context, context.getString(R.string.download_empty_file), Toast.LENGTH_SHORT).show() - } } else if (loadStatus is LoadStatus.Loaded) { // open attachment val intent = Intent() @@ -257,6 +257,29 @@ internal fun AttachmentTile( } } } + LaunchedEffect(Unit) { + state.loadStatus.collectLatest { + // show an error toast if the attachment failed to load + if (it is LoadStatus.FailedToLoad) { + val message = when(it.error) { + is AttachmentSizeLimitExceededException -> { + val limit = (it.error as AttachmentSizeLimitExceededException).limit + val limitFormatted = Formatter.formatFileSize(context, limit) + context.getString(R.string.attachment_size_limit_exceeded, limitFormatted) + } + + is EmptyAttachmentException ->{ + context.getString(R.string.download_empty_file) + } + + else ->{ + it.error.localizedMessage + } + } + Toast.makeText(context, message, Toast.LENGTH_LONG).show() + } + } + } } @Composable diff --git a/toolkit/featureforms/src/main/res/values/strings.xml b/toolkit/featureforms/src/main/res/values/strings.xml index 2c358987d..6452a8fef 100644 --- a/toolkit/featureforms/src/main/res/values/strings.xml +++ b/toolkit/featureforms/src/main/res/values/strings.xml @@ -116,4 +116,5 @@ Empty files are not supported Empty files cannot be downloaded %1s was deleted successfully + Attachments larger than %1$s cannot be downloaded

+Qm43GvW0hEU%aj0z^;@ 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 K-Y=6__J07(9!S{$ diff --git a/microapps/FeatureFormsApp/screenshot2.png b/microapps/FeatureFormsApp/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..b0785ff7283fd7f73d06f50548dc131799fad17b GIT binary patch literal 39255 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 z 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 z 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 z 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