Flowing Things, not so strange in the MVI world
summary
Migrates an Rx MVI implementation to Kotlin coroutines Flow by swapping Singles for suspend Retrofit calls, turning action streams into Flow, and exposing state via a conflated broadcast channel (BehaviorSubject analogue). Implements a custom channelFlow merge operator that launches two coroutines to collect and forward values, uses viewModelScope and lifecycleScope for structured concurrency, and keeps reducers pure. The demo repo shows the conversion working end-to-end and highlights when to prefer sequential suspend functions versus reactive Flow streams.
AI-written summary · about
chapters (6)
- 0:00Start
- 1:46CHAPTER ONE THE FLOW
- 9:49CHAPTER TWO THE BATTLE OF ACTIONS
- 12:20CHAPTER THREE VANISHING OF Rx FLOWABLES
- 29:48Summary
- 30:37Common Questions








