Skip to content

Commit 4756396

Browse files
authored
Merge pull request #16 from kez-lab/fix/creation-tab
Fix: Synchronize Toolbar with page state only after HorizontalPager animation completes
2 parents 88d33e0 + 433b00a commit 4756396

File tree

1 file changed

+13
-6
lines changed
  • feature/creation/src/main/java/com/android/developers/androidify/creation

1 file changed

+13
-6
lines changed

feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ import kotlinx.coroutines.delay
151151
import kotlinx.coroutines.launch
152152
import com.android.developers.androidify.creation.R as CreationR
153153

154-
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
155154
@Composable
156155
fun CreationScreen(
157156
fileName: String? = null,
@@ -364,7 +363,9 @@ fun EditScreen(
364363
}
365364
} else {
366365
BottomButtons(
367-
onButtonColorClicked = { showColorPickerBottomSheet = !showColorPickerBottomSheet },
366+
onButtonColorClicked = {
367+
showColorPickerBottomSheet = !showColorPickerBottomSheet
368+
},
368369
uiState = uiState,
369370
onStartClicked = onStartClicked,
370371
modifier = Modifier
@@ -404,10 +405,16 @@ private fun MainCreationPane(
404405
val pagerState = rememberPagerState(0) { PromptType.entries.size }
405406
val focusManager = LocalFocusManager.current
406407
LaunchedEffect(uiState.selectedPromptOption) {
407-
pagerState.animateScrollToPage(
408-
uiState.selectedPromptOption.ordinal,
409-
animationSpec = spatialSpec,
410-
)
408+
launch {
409+
pagerState.animateScrollToPage(
410+
uiState.selectedPromptOption.ordinal,
411+
animationSpec = spatialSpec,
412+
)
413+
}.invokeOnCompletion {
414+
if (uiState.selectedPromptOption != PromptType.entries[pagerState.currentPage]) {
415+
onSelectedPromptOptionChanged(PromptType.entries[pagerState.currentPage])
416+
}
417+
}
411418
}
412419
LaunchedEffect(pagerState) {
413420
snapshotFlow { pagerState.currentPage }.collect { page ->

0 commit comments

Comments
 (0)