Create wallpapers file source.
GitOrigin-RevId: f890a2191a412cbf15aecac6b054bfdbf52fd3ab
This commit is contained in:
parent
c52f9b6b6a
commit
eca4dc8948
@ -10,6 +10,8 @@
|
|||||||
#include "td/telegram/telegram_api.h"
|
#include "td/telegram/telegram_api.h"
|
||||||
|
|
||||||
#include "td/telegram/DialogId.h"
|
#include "td/telegram/DialogId.h"
|
||||||
|
#include "td/telegram/FileReferenceManager.h"
|
||||||
|
#include "td/telegram/files/FileManager.h"
|
||||||
#include "td/telegram/files/FileType.h"
|
#include "td/telegram/files/FileType.h"
|
||||||
#include "td/telegram/Global.h"
|
#include "td/telegram/Global.h"
|
||||||
#include "td/telegram/Photo.h"
|
#include "td/telegram/Photo.h"
|
||||||
@ -110,6 +112,15 @@ void WallpaperManager::on_get_wallpapers(Result<vector<telegram_api::object_ptr<
|
|||||||
return Wallpaper{0, {}, 0};
|
return Wallpaper{0, {}, 0};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
vector<FileId> new_file_ids;
|
||||||
|
for (auto &wallpaper : wallpapers_) {
|
||||||
|
append(new_file_ids, transform(wallpaper.sizes, [](auto &size) { return size.file_id; }));
|
||||||
|
};
|
||||||
|
if (!wallpaper_source_id_.is_valid()) {
|
||||||
|
wallpaper_source_id_ = td_->file_reference_manager_->create_wallpapers_file_source();
|
||||||
|
}
|
||||||
|
td_->file_manager_->change_files_source(wallpaper_source_id_, wallpaper_file_ids_, new_file_ids);
|
||||||
|
wallpaper_file_ids_ = std::move(new_file_ids);
|
||||||
|
|
||||||
for (auto &promise : promises) {
|
for (auto &promise : promises) {
|
||||||
promise.set_value(Unit());
|
promise.set_value(Unit());
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
//
|
//
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "td/telegram/files/FileId.h"
|
||||||
|
#include "td/telegram/files/FileSourceId.h"
|
||||||
#include "td/telegram/Photo.h"
|
#include "td/telegram/Photo.h"
|
||||||
#include "td/telegram/td_api.h"
|
#include "td/telegram/td_api.h"
|
||||||
#include "td/telegram/telegram_api.h"
|
#include "td/telegram/telegram_api.h"
|
||||||
@ -43,6 +45,8 @@ class WallpaperManager : public Actor {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
vector<Wallpaper> wallpapers_;
|
vector<Wallpaper> wallpapers_;
|
||||||
|
vector<FileId> wallpaper_file_ids_;
|
||||||
|
FileSourceId wallpaper_source_id_;
|
||||||
|
|
||||||
vector<Promise<Unit>> pending_get_wallpapers_queries_;
|
vector<Promise<Unit>> pending_get_wallpapers_queries_;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user