Standards for State integration with Views using Coroutines and Lifecycle
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: Android Legacy State
description: Standards for State integration with Views using Coroutines and Lifecycle
metadata:
labels: [android, state, views, lifecycle]
triggers:
files: ['**/*Fragment.kt', '**/*Activity.kt']
keywords: ['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
- **launchWhenX**: `**Deprecated**: Use repeatOnLifecycle.`
- **observe(this)**: `**Leak Risk**: Use viewLifecycleOwner in Fragments.`
## References
- [Flow Consumption Template](references/implementation.md)
No comments yet. Be the first to comment!