Integrate State with Views using Coroutines and Lifecycle on Android. Use when managing state with ViewModels and Lifecycle-aware coroutines in Android. (triggers: **/*Fragment.kt, **/*Activity.kt, repeatOnLifecycle, launchWhenStarted)
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Integrate State with Views using Coroutines and Lifecycle on Android. Use when managing state with ViewModels and Lifecycle-aware coroutines in Android. (triggers: **/*Fragment.kt, **/*Activity.kt, repeatOnLifecycle, launchWhenStarted)
Android Legacy State Standards
Priority: P1
Implementation Guidelines
Flow Consumption
Rule: ALWAYS use repeatOnLifecycle(Lifecycle.State.STARTED) to collect flows in Views.
Why: Prevents crashes (collecting while view is destroyed) and saves resources (stops
collecting in background).
LiveData vs Flow
New Code: Use StateFlow exclusively.
Legacy: If using LiveData, observe with viewLifecycleOwner (Fragment), NOT this.
Anti-Patterns
No launchWhenStarted/Resumed: Deprecated. Use repeatOnLifecycle instead.
No observe(this) in Fragments: Use viewLifecycleOwner to prevent lifecycle leaks.