workflow-kotlin
workflow-kotlin copied to clipboard
A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.
Examples: - https://github.com/square/workflow-kotlin/pull/318#issuecomment-777022875 - https://github.com/square/workflow-kotlin/pull/320#issuecomment-777081874
Turns out that if you have `RequiresOptIn` annotations in a module and you depend on that module to annotate some code, the compiler will only validate opt-ins if the dependency...
The level 29 emulator has been crashing before it can finish running tests pretty consistently over the last week (see the Actions tab), and it [seems](https://github.com/square/workflow-kotlin/pull/354) that some of the...
Turns out it's just a lot nicer to write a custom plugin in `buildSrc` than have to deal with groovy in `.gradle` files. All you need is this: **`buildSrc/src/main/java/MyPlugin.kt`:** ```kotlin...

https://github.com/square/workflow-kotlin/blob/d0e02acc4f03ec53b9c752f1447f2b9938ff6ebc/workflow-ui/compose/src/androidTest/java/com/squareup/workflow1/ui/compose/RenderAsStateTest.kt#L248-L249 I don't think there's currently a way to test this behavior. Asked in the [kotlin slack](https://kotlinlang.slack.com/archives/CJLTWPH7S/p1629511394197600).
`RenderContext.eventHandler()` is a powerful abstraction/simplification on top of `actionSink.send(action`. More people should know about it and how to use it.
This is a loose rundown of the state of the [`kmp` branch](https://github.com/square/workflow-kotlin/tree/kmp), which contains the kotlin multiplatform conversion that @brady-aiello and myself began prototyping earlier this summer. Things that exist...
To demonstrate: * launch `hello-back-button` sample (after https://github.com/square/workflow-kotlin/pull/93 merges) * click through to `Charlie` * rotate * kill the process * revive the app The app is restored on the...
Did the move to Android view binding break it? Maybe it was always broken for simple root views, but masked by `BackStackContainer` in the more complex samples? To demonstrate, add...