Flowing Things, Not So Strange in the MVI World
summary
Shows a working migration of an RxJava MVI app to Kotlin coroutines and Flow: Retrofit endpoints become suspend functions, repository can return Flow for cache updates, and UI actions become a broadcasted Flow via broadcastIn (exposed as Flow). Demonstrates that channels are hot (dangerous if left unconsumed) while flows are cold, implements a custom merge using channelFlow, wires lifecycleScope.collect to render state, and points to a GitHub demo; everything compiles and runs.
AI-written summary · about
chapters (13)
- 0:00Introduction and overview
- 1:02Talk structure and setup
- 1:43Coroutines and flow framework basics
- 4:09Channels vs flows explained
- 9:04Hot vs cold streams comparison
- 12:23Model View Intent pattern intro
- 14:09Migrating RX MVI to flow
- 20:35Action to result conversion
- 25:13State modeling and reduction
- 27:21View state observation
- 32:23View model integration summary
- 33:27Flow vs RX comparison
- 36:58Q&A and closing








