TGViewer
Android Broadcast Android Broadcast @android_broadcast · 14.6K subscribers
Post #9015 6.5K
Reanimator - простоя библиотека для Jetpack ViewModel (с поддержкой KMP) для работы с состоянием. Подробный разбор в статье (EN,11м) или альтернативной ссылке

@Serializable
data class MyUiState(
// Persistent
val data: List<String> = emptyList(),
val selectedItem: String? = null,
// Transient
val isLoading: Boolean = false,
val error: String? = null
)

class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {

// Define which properties are transient
private val transientProps = listOf("isLoading", "error")

// Declare your state flow - Reanimator handles the rest!
private val _uiState by savedStateHandle.getMutableStateFlow(
defaultValue = MyUiState(), // Initial/default state
coroutineScope = viewModelScope, // Scope for saving changes
transientProperties = transientProps // What NOT to save
// key = "custom_state_key" // Optional: custom key
)
val uiState: StateFlow<MyUiState> = _uiState.asStateFlow()

// ... rest of your ViewModel logic ...

fun updateData(newData: List<String>) {
// Just update the state - Reanimator saves persistent parts automatically
_uiState.update { it.copy(data = newData, isLoading = false) }
}
}


#android #kmp
  • 🤔 27
  • 👍 14
  • 🤯 8
  • 🔥 1
More from @android_broadcast
  1. Oct 9, 2026UPD! Вышел Gradle 8.14.6 с аналогичными правками
  2. Oct 8, 2026🐘 Вышел Gradle 9.8.1: закрыли три серьёзные уязвимости, стоит обновиться Это патч-релиз д…
  3. Oct 7, 2026🏢 EmbeddingGemma 2: мультимодальный поиск прямо на телефоне Google выпустила EmbeddingGem…
  4. Oct 7, 2026Post #10231
  5. Oct 6, 2026🤖 В Android Bench добавили Claude Opus 5.5, GPT 6 Sol и GPT 6 Luna Google обновила лидерб…
  6. Oct 6, 2026Разыгрываю 2 билета на Podlodka AI Crew Условия - Подписаться на @rozov_blog - Подписаться…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →