Droidcon Boston '19: Finite State Machines to the Rescue: Get Complex App Flows Under Control
This talk will demonstrate a way to get complex flows under control by using a finite state machine. We will use Kotlin and basic RxJava to create a generic finite state machine that allows us to nicely decouple state and UI logic.
What you'll learn
Complex Android app flows consist of many screens, synchronous and/or asynchronous calls, and potentially involve third-party libraries with different life cycles. On top of that, the activity lifecycle is quite complex — making it close to impossible to handle all edge cases caused by that lifecycle. This talk will demonstrate a way to get complex flows under control by using a finite state machine. We will use Kotlin and basic RxJava to create a generic finite state machine that allows us to nicely decouple state and UI logic. We will also look into the composition of finite state machines.