Life · 6 / 12

Восстанови запрос, а не весь экран

SavedStateHandle как минимальный источник состояния ввода

Средняяandroidviewmodelsaved-state

Напиши ViewModel, которая хранит query в SavedStateHandle и публикует StateFlow. Новый экземпляр должен использовать значение из переданного handle, если оно есть; иначе пустую строку. updateQuery обновляет и handle, и наблюдаемое значение через один источник состояния.

Не сохраняй результаты поиска или Activity. Зависимости: AndroidX Lifecycle ViewModel/SavedState и kotlinx.coroutines; getStateFlow доступен с Lifecycle 2.5.0.

Проверки: пустой handle; handle с query = "compose"; вызов updateQuery("kmp"); создание другого экземпляра с восстановленным query. Последняя проверка моделирует контракт handle, но не заменяет тест смерти процесса на устройстве.

Основа: draft/viewmodel.md, draft/activity.md.

Твой код
Решение