Life · 8 / 12

Таймер и свежий callback

Исправить захват старой функции без сброса задержки

Средняяcomposeeffectsstate

Composable запускает секундный таймер для messageId. При смене messageId старый таймер отменяется, новый начинает отсчёт. Замена onElapsed при том же ID не должна перезапускать таймер, но по завершении нужно вызвать свежую функцию.

Зависимости: Compose Runtime и kotlinx.coroutines. Уход из композиции отменяет таймер.

Проверки: рекомпозиция с прежним ID; замена callback через 500 мс; новый ID через 500 мс; уход из композиции до секунды. Переход к другому ID и обратно считается новым таймером.

Основа: rememberUpdatedState из draft/compose_base.md.

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