Reload all notification sounds if list is changed unpredictably.
This commit is contained in:
parent
1c266d65b1
commit
a59201f913
@ -9,6 +9,7 @@
|
|||||||
#include "td/telegram/AccessRights.h"
|
#include "td/telegram/AccessRights.h"
|
||||||
#include "td/telegram/AudiosManager.h"
|
#include "td/telegram/AudiosManager.h"
|
||||||
#include "td/telegram/AuthManager.h"
|
#include "td/telegram/AuthManager.h"
|
||||||
|
#include "td/telegram/ConfigShared.h"
|
||||||
#include "td/telegram/ContactsManager.h"
|
#include "td/telegram/ContactsManager.h"
|
||||||
#include "td/telegram/DocumentsManager.h"
|
#include "td/telegram/DocumentsManager.h"
|
||||||
#include "td/telegram/FileReferenceManager.h"
|
#include "td/telegram/FileReferenceManager.h"
|
||||||
@ -1050,6 +1051,15 @@ void NotificationSettingsManager::on_remove_saved_ringtone(int64 ringtone_id, Pr
|
|||||||
|
|
||||||
CHECK(are_saved_ringtones_loaded_);
|
CHECK(are_saved_ringtones_loaded_);
|
||||||
|
|
||||||
|
auto max_count = G()->shared_config().get_option_integer("notification_sound_count_max");
|
||||||
|
if (saved_ringtone_file_ids_.size() >= static_cast<uint64>(max_count)) {
|
||||||
|
// reload all saved ringtones to get ringtones besides the limit
|
||||||
|
return reload_saved_ringtones(PromiseCreator::lambda([promise = std::move(promise)](Result<Unit> &&result) mutable {
|
||||||
|
// ignore errors
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
for (auto it = saved_ringtone_file_ids_.begin(); it != saved_ringtone_file_ids_.begin(); ++it) {
|
for (auto it = saved_ringtone_file_ids_.begin(); it != saved_ringtone_file_ids_.begin(); ++it) {
|
||||||
auto file_view = td_->file_manager_->get_file_view(*it);
|
auto file_view = td_->file_manager_->get_file_view(*it);
|
||||||
CHECK(!file_view.empty());
|
CHECK(!file_view.empty());
|
||||||
|
Loading…
Reference in New Issue
Block a user