From 4a29b164fac90863130811337cb112855cf99403 Mon Sep 17 00:00:00 2001 From: Kez Date: Thu, 22 May 2025 21:27:28 +0900 Subject: [PATCH 1/2] Remove UnUsed OptIn Annotation --- .../com/android/developers/androidify/creation/CreationScreen.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt index dcd5ce44..6e499a17 100644 --- a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt +++ b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt @@ -151,7 +151,6 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.launch import com.android.developers.androidify.creation.R as CreationR -@OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable fun CreationScreen( fileName: String? = null, From 433b00a6db7cf8701750e5cf20908493b583c34a Mon Sep 17 00:00:00 2001 From: Kez Date: Thu, 22 May 2025 22:05:06 +0900 Subject: [PATCH 2/2] Fix: ensure pager and toolbar state sync after interrupted animation --- .../androidify/creation/CreationScreen.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt index 6e499a17..42173e3e 100644 --- a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt +++ b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt @@ -363,7 +363,9 @@ fun EditScreen( } } else { BottomButtons( - onButtonColorClicked = { showColorPickerBottomSheet = !showColorPickerBottomSheet }, + onButtonColorClicked = { + showColorPickerBottomSheet = !showColorPickerBottomSheet + }, uiState = uiState, onStartClicked = onStartClicked, modifier = Modifier @@ -403,10 +405,16 @@ private fun MainCreationPane( val pagerState = rememberPagerState(0) { PromptType.entries.size } val focusManager = LocalFocusManager.current LaunchedEffect(uiState.selectedPromptOption) { - pagerState.animateScrollToPage( - uiState.selectedPromptOption.ordinal, - animationSpec = spatialSpec, - ) + launch { + pagerState.animateScrollToPage( + uiState.selectedPromptOption.ordinal, + animationSpec = spatialSpec, + ) + }.invokeOnCompletion { + if (uiState.selectedPromptOption != PromptType.entries[pagerState.currentPage]) { + onSelectedPromptOptionChanged(PromptType.entries[pagerState.currentPage]) + } + } } LaunchedEffect(pagerState) { snapshotFlow { pagerState.currentPage }.collect { page ->