Skip to content

Instantly share code, notes, and snippets.

@5AbhishekSaxena
Last active July 15, 2022 22:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 5AbhishekSaxena/a84b77cb35715b6cdc31b6e6ce523f27 to your computer and use it in GitHub Desktop.
Save 5AbhishekSaxena/a84b77cb35715b6cdc31b6e6ce523f27 to your computer and use it in GitHub Desktop.
class ViewModel {
val noClickButtonItem = ButtonItem() // Button with OnClickStrategy.None
val singleClickButtonItem = ButtonItem(onClickStrategy = SingleOnClickStrategy(runnable = ::operation))
val multipleClickButtonItem =
ButtonItem(onClickStrategy = MultipleOnClickStrategy(times = 3, runnable = ::operation))
}
@Composable
fun HomeScreen(viewModel: ViewModel) {
// The user's click behavior is mocked in the `also` block.
UIWithButton(viewModel.noClickButtonItem).also {
it.click() // No Output
}
UIWithButton(viewModel.singleClickButtonItem).also {
it.click() // Output: Operation Executed
}
UIWithButton(viewModel.multipleClickButtonItem).also {
it.click()
it.click()
it.click() // Output: Operation Executed
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment