From 2e63ec0d768fcd8bb23b492f943c3b81ff697a92 Mon Sep 17 00:00:00 2001 From: Shubham Sharma Date: Tue, 28 Oct 2025 12:14:04 -0700 Subject: [PATCH 1/3] Add in a load dialog to populate snap settings --- .../components/SnapGeometryEditsViewModel.kt | 3 +++ .../snapgeometryedits/screens/SnapGeometryEditsScreen.kt | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt index 5d04fceca..75faee971 100644 --- a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt +++ b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt @@ -66,6 +66,7 @@ class SnapGeometryEditsViewModel( val snapSourceList: StateFlow> = _snapSourceSettingsList // create boolean flags to track the state of UI components + val isLayersLoaded = mutableStateOf(false) val isCreateButtonEnabled = mutableStateOf(false) val isSnapSettingsButtonEnabled = mutableStateOf(false) val isBottomSheetVisible = mutableStateOf(false) @@ -104,7 +105,9 @@ class SnapGeometryEditsViewModel( ) } } + isLayersLoaded.value = true }.onFailure { error -> + isLayersLoaded.value = true messageDialogVM.showMessageDialog( error.message.toString(), error.cause.toString() diff --git a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt index cae8742ce..c7bb31499 100644 --- a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt +++ b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt @@ -26,11 +26,13 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import com.arcgismaps.toolkit.geoviewcompose.MapView +import com.esri.arcgismaps.sample.sampleslib.components.LoadingDialog import com.esri.arcgismaps.sample.sampleslib.components.MessageDialog import com.esri.arcgismaps.sample.sampleslib.components.SampleTopAppBar import com.esri.arcgismaps.sample.snapgeometryedits.components.SnapGeometryEditsViewModel @@ -102,5 +104,8 @@ fun MainScreen(sampleName: String) { ) { mapViewModel.dismissBottomSheet() } } } + if (!mapViewModel.isLayersLoaded.value) { + LoadingDialog("Loading map with feature layers...") + } }) } From 6b516799c9127229c9f7c604f7aad936748f0121 Mon Sep 17 00:00:00 2001 From: Shubham Sharma Date: Tue, 28 Oct 2025 12:15:55 -0700 Subject: [PATCH 2/3] cleanup import --- .../sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt index c7bb31499..806f1a9db 100644 --- a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt +++ b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt @@ -26,7 +26,6 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier From 0210dece31233f1b932927f59213b1c73de1df41 Mon Sep 17 00:00:00 2001 From: Shubham Sharma Date: Wed, 5 Nov 2025 12:18:50 -0800 Subject: [PATCH 3/3] PR feedback --- .../components/SnapGeometryEditsViewModel.kt | 6 +++--- .../snapgeometryedits/screens/SnapGeometryEditsScreen.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt index 75faee971..cfee71011 100644 --- a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt +++ b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/components/SnapGeometryEditsViewModel.kt @@ -66,7 +66,7 @@ class SnapGeometryEditsViewModel( val snapSourceList: StateFlow> = _snapSourceSettingsList // create boolean flags to track the state of UI components - val isLayersLoaded = mutableStateOf(false) + val areLayersLoading = mutableStateOf(true) val isCreateButtonEnabled = mutableStateOf(false) val isSnapSettingsButtonEnabled = mutableStateOf(false) val isBottomSheetVisible = mutableStateOf(false) @@ -105,9 +105,9 @@ class SnapGeometryEditsViewModel( ) } } - isLayersLoaded.value = true + areLayersLoading.value = false }.onFailure { error -> - isLayersLoaded.value = true + areLayersLoading.value = false messageDialogVM.showMessageDialog( error.message.toString(), error.cause.toString() diff --git a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt index 806f1a9db..11229f461 100644 --- a/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt +++ b/samples/snap-geometry-edits/src/main/java/com/esri/arcgismaps/sample/snapgeometryedits/screens/SnapGeometryEditsScreen.kt @@ -103,7 +103,7 @@ fun MainScreen(sampleName: String) { ) { mapViewModel.dismissBottomSheet() } } } - if (!mapViewModel.isLayersLoaded.value) { + if (mapViewModel.areLayersLoading.value) { LoadingDialog("Loading map with feature layers...") } })