diff --git a/Telegram/SourceFiles/data/data_emoji_statuses.cpp b/Telegram/SourceFiles/data/data_emoji_statuses.cpp index 8932db517..7c89d516e 100644 --- a/Telegram/SourceFiles/data/data_emoji_statuses.cpp +++ b/Telegram/SourceFiles/data/data_emoji_statuses.cpp @@ -119,8 +119,7 @@ void EmojiStatuses::registerAutomaticClear( if (i->first == user) { const auto now = base::unixtime::now(); if (now < until) { - const auto waitms = (until - now) * crl::time(1000); - _clearingTimer.callOnce(std::min(waitms, kMaxTimeout)); + processClearingIn(until - now); } else { processClearing(); } @@ -153,12 +152,17 @@ void EmojiStatuses::processClearing() { } } if (minWait) { - _clearingTimer.callOnce(minWait * crl::time(1000)); + processClearingIn(minWait); } else { _clearingTimer.cancel(); } } +void EmojiStatuses::processClearingIn(TimeId wait) { + const auto waitms = wait * crl::time(1000); + _clearingTimer.callOnce(std::min(waitms, kMaxTimeout)); +} + void EmojiStatuses::requestRecent() { if (_recentRequestId) { return; diff --git a/Telegram/SourceFiles/data/data_emoji_statuses.h b/Telegram/SourceFiles/data/data_emoji_statuses.h index d1172c4a5..d3e949075 100644 --- a/Telegram/SourceFiles/data/data_emoji_statuses.h +++ b/Telegram/SourceFiles/data/data_emoji_statuses.h @@ -62,6 +62,7 @@ private: void updateDefault(const MTPDaccount_emojiStatuses &data); void updateColored(const MTPDmessages_stickerSet &data); + void processClearingIn(TimeId wait); void processClearing(); const not_null _owner; @@ -85,7 +86,7 @@ private: mtpRequestId _sentRequestId = 0; - base::flat_map, crl::time> _clearing; + base::flat_map, TimeId> _clearing; base::Timer _clearingTimer; rpl::lifetime _lifetime;