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)
التثبيت
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
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.