Таймеры же так делаются?

14 ответов

5 просмотров

Странный код. Переменную offlineTimer - onTick будет менять?

Ilya-🇺🇦 Автор вопроса

нет, если она нулловая, то нужно установить через onEnd статус в sealed class – Hidden, иначе через onTick устанавливать другие статусы

Ilya 🇺🇦
нет, если она нулловая, то нужно установить через ...

Тогда вроде работать будет ) Но логика требует пояснений... Например, если offlineTimer не null - onEnd никогда не будет вызван. Если честно, я бы расширил многословностью, но добавил бы четкости: if (offlineTimer !=null) { while(true) {....} } else { onEnd() } Тогда и onEnd() наверное можно как-то более подходящим словом назвать

Ilya-🇺🇦 Автор вопроса
Владимир Пурис
Тогда вроде работать будет ) Но логика требует поя...

таймер бесконечный, поэтому onEnd там будет обязательно

Зачем таймер через композабл функцию делать?)

delay может исключение кинуть и тогда onEnd не вызовется, надо в try/finally заворачивать

Смотря для чего нужен этот таймер. Не рекомендую использовать такой вариант для проверки на смс код. При выходе с приложения таймер остановится

Ilya-🇺🇦 Автор вопроса
Ilya 🇺🇦
а как сделать так, чтобы не останавливался?

Сохранять метку времени начала и искать время, в которое должно закончиться

Ilya-🇺🇦 Автор вопроса
Марат Джеманкулов
Сохранять метку времени начала и искать время, в к...

каждую минуту у меня должно отобразиться изменение времени, зач метки? может просто корутину на IO запустить?

Ilya 🇺🇦
каждую минуту у меня должно отобразиться изменение...

Метка начала От нее каждую секунду высчитывать оставшееся время

Ilya 🇺🇦
каждую минуту у меня должно отобразиться изменение...

Сохраняйте метку времени начала в преференсах/дата сторе/rememberSaveable В LaunchedEffect проверяйте каждую секунду времени по формуле val time = startTime - nowTime

Guleguli
Типо через хендлер восстанавливать её во ViewModel...

Как удобно. Главное сохранить метку времени. Если сохранить ее в префах, то при быстром перезаходе пользователь не получит ошибку от бека "дождитесь 60 секунд"

Похожие вопросы

Обсуждают сегодня

Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Всем привет) Я попробовал турбо роутер октябрьский. Вроде доволен, но возникла проблемка) Бутстраповские модалки плодят .modal-backdrop элементы Если модалка открыта, должне...
Виталий
3
кто что использовал парсить ексель ? неохота гуглить и пробовать 🙃
Oleh Nerzh
7
Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Гайз, а как отправлять с вейпора пуши на андроид? ) Меня вот осенило )))
Serg
11
Я тебе про общие вопросы, а не про узконаправленные . Ты че будешь в чате спрашивать как хтмл разметку сделать?!
rusteg
3
Как удалить health check в Consul? Казалось бы, это должно быть не сложно, но я не могу найти в документации ничего про это, только про добавление service с health check "в н...
Roman
2
А когда релиз Swift 6? На WWDC или осенью?
iMike
4
Could you upvote please? https://www.kaggle.com/code/mehmetisik/sentiment-analysis-twitter-nlp-machine-learning https://www.kaggle.com/code/mehmetisik/user-based-collaborati...
MHT Mht
1
Карта сайта