Add td_api::resetBackgrounds.
GitOrigin-RevId: 9ed830d56b31f0c26ba83245f0c53fb2f20fe8da
This commit is contained in:
parent
3bf9bae32f
commit
abc59be319
@ -3631,6 +3631,9 @@ setBackground background:InputBackground type:BackgroundType = Background;
|
|||||||
//@description Removes background from the list of installed backgrounds @background_id The background indentifier
|
//@description Removes background from the list of installed backgrounds @background_id The background indentifier
|
||||||
removeBackground background_id:int64 = Ok;
|
removeBackground background_id:int64 = Ok;
|
||||||
|
|
||||||
|
//@description Resets list of installed backgrounds to its default value
|
||||||
|
resetBackgrounds = Ok;
|
||||||
|
|
||||||
|
|
||||||
//@description Returns information about the current localization target. This is an offline request if only_local is true. Can be called before authorization @only_local If true, returns only locally available information without sending network requests
|
//@description Returns information about the current localization target. This is an offline request if only_local is true. Can be called before authorization @only_local If true, returns only locally available information without sending network requests
|
||||||
getLocalizationTargetInfo only_local:Bool = LocalizationTargetInfo;
|
getLocalizationTargetInfo only_local:Bool = LocalizationTargetInfo;
|
||||||
|
Binary file not shown.
@ -182,7 +182,7 @@ class SaveBackgroundQuery : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool result = result_ptr.move_as_ok();
|
bool result = result_ptr.move_as_ok();
|
||||||
LOG(INFO) << "Receive result for fave background: " << result;
|
LOG(INFO) << "Receive result for save background: " << result;
|
||||||
promise_.set_value(Unit());
|
promise_.set_value(Unit());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,6 +194,36 @@ class SaveBackgroundQuery : public Td::ResultHandler {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ResetBackgroundsQuery : public Td::ResultHandler {
|
||||||
|
Promise<Unit> promise_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit ResetBackgroundsQuery(Promise<Unit> &&promise) : promise_(std::move(promise)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void send() {
|
||||||
|
send_query(G()->net_query_creator().create(create_storer(telegram_api::account_resetWallPapers())));
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_result(uint64 id, BufferSlice packet) override {
|
||||||
|
auto result_ptr = fetch_result<telegram_api::account_resetWallPapers>(packet);
|
||||||
|
if (result_ptr.is_error()) {
|
||||||
|
return on_error(id, result_ptr.move_as_error());
|
||||||
|
}
|
||||||
|
|
||||||
|
bool result = result_ptr.move_as_ok();
|
||||||
|
LOG(INFO) << "Receive result for reset backgrounds: " << result;
|
||||||
|
promise_.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_error(uint64 id, Status status) override {
|
||||||
|
if (!G()->close_flag()) {
|
||||||
|
LOG(ERROR) << "Receive error for reset backgrounds: " << status;
|
||||||
|
}
|
||||||
|
promise_.set_error(std::move(status));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class BackgroundManager::UploadBackgroundFileCallback : public FileManager::UploadCallback {
|
class BackgroundManager::UploadBackgroundFileCallback : public FileManager::UploadCallback {
|
||||||
public:
|
public:
|
||||||
void on_upload_ok(FileId file_id, tl_object_ptr<telegram_api::InputFile> input_file) override {
|
void on_upload_ok(FileId file_id, tl_object_ptr<telegram_api::InputFile> input_file) override {
|
||||||
@ -689,6 +719,24 @@ void BackgroundManager::on_removed_background(BackgroundId background_id, Result
|
|||||||
promise.set_value(Unit());
|
promise.set_value(Unit());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BackgroundManager::reset_backgrounds(Promise<Unit> &&promise) {
|
||||||
|
auto query_promise =
|
||||||
|
PromiseCreator::lambda([actor_id = actor_id(this), promise = std::move(promise)](Result<Unit> &&result) mutable {
|
||||||
|
send_closure(actor_id, &BackgroundManager::on_reset_background, std::move(result), std::move(promise));
|
||||||
|
});
|
||||||
|
|
||||||
|
td_->create_handler<ResetBackgroundsQuery>(std::move(query_promise))->send();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BackgroundManager::on_reset_background(Result<Unit> &&result, Promise<Unit> &&promise) {
|
||||||
|
if (result.is_error()) {
|
||||||
|
return promise.set_error(result.move_as_error());
|
||||||
|
}
|
||||||
|
installed_background_ids_.clear();
|
||||||
|
set_background_id(BackgroundId(), BackgroundType());
|
||||||
|
promise.set_value(Unit());
|
||||||
|
}
|
||||||
|
|
||||||
BackgroundManager::Background *BackgroundManager::add_background(BackgroundId background_id) {
|
BackgroundManager::Background *BackgroundManager::add_background(BackgroundId background_id) {
|
||||||
CHECK(background_id.is_valid());
|
CHECK(background_id.is_valid());
|
||||||
auto *result = &backgrounds_[background_id];
|
auto *result = &backgrounds_[background_id];
|
||||||
|
@ -45,6 +45,8 @@ class BackgroundManager : public Actor {
|
|||||||
|
|
||||||
void remove_background(BackgroundId background_id, Promise<Unit> &&promise);
|
void remove_background(BackgroundId background_id, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void reset_backgrounds(Promise<Unit> &&promise);
|
||||||
|
|
||||||
td_api::object_ptr<td_api::background> get_background_object(BackgroundId background_id) const;
|
td_api::object_ptr<td_api::background> get_background_object(BackgroundId background_id) const;
|
||||||
|
|
||||||
td_api::object_ptr<td_api::backgrounds> get_backgrounds_object() const;
|
td_api::object_ptr<td_api::backgrounds> get_backgrounds_object() const;
|
||||||
@ -114,6 +116,8 @@ class BackgroundManager : public Actor {
|
|||||||
|
|
||||||
void on_removed_background(BackgroundId background_id, Result<Unit> &&result, Promise<Unit> &&promise);
|
void on_removed_background(BackgroundId background_id, Result<Unit> &&result, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void on_reset_background(Result<Unit> &&result, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void upload_background_file(FileId file_id, const BackgroundType &type, Promise<Unit> &&promise);
|
void upload_background_file(FileId file_id, const BackgroundType &type, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void on_upload_background_file(FileId file_id, tl_object_ptr<telegram_api::InputFile> input_file);
|
void on_upload_background_file(FileId file_id, tl_object_ptr<telegram_api::InputFile> input_file);
|
||||||
|
@ -2956,6 +2956,16 @@ class RemoveBackgroundRequest : public RequestOnceActor {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ResetBackgroundsRequest : public RequestOnceActor {
|
||||||
|
void do_run(Promise<Unit> &&promise) override {
|
||||||
|
td->background_manager_->reset_backgrounds(std::move(promise));
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
ResetBackgroundsRequest(ActorShared<Td> td, uint64 request_id) : RequestOnceActor(std::move(td), request_id) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class GetRecentlyVisitedTMeUrlsRequest : public RequestActor<tl_object_ptr<td_api::tMeUrls>> {
|
class GetRecentlyVisitedTMeUrlsRequest : public RequestActor<tl_object_ptr<td_api::tMeUrls>> {
|
||||||
string referrer_;
|
string referrer_;
|
||||||
|
|
||||||
@ -7025,11 +7035,16 @@ void Td::on_request(uint64 id, td_api::setBackground &request) {
|
|||||||
CREATE_REQUEST(SetBackgroundRequest, std::move(request.background_), std::move(request.type_));
|
CREATE_REQUEST(SetBackgroundRequest, std::move(request.background_), std::move(request.type_));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, td_api::removeBackground &request) {
|
void Td::on_request(uint64 id, const td_api::removeBackground &request) {
|
||||||
CHECK_IS_USER();
|
CHECK_IS_USER();
|
||||||
CREATE_REQUEST(RemoveBackgroundRequest, request.background_id_);
|
CREATE_REQUEST(RemoveBackgroundRequest, request.background_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Td::on_request(uint64 id, const td_api::resetBackgrounds &request) {
|
||||||
|
CHECK_IS_USER();
|
||||||
|
CREATE_NO_ARGS_REQUEST(ResetBackgroundsRequest);
|
||||||
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, td_api::getRecentlyVisitedTMeUrls &request) {
|
void Td::on_request(uint64 id, td_api::getRecentlyVisitedTMeUrls &request) {
|
||||||
CHECK_IS_USER();
|
CHECK_IS_USER();
|
||||||
CLEAN_INPUT_STRING(request.referrer_);
|
CLEAN_INPUT_STRING(request.referrer_);
|
||||||
|
@ -930,7 +930,9 @@ class Td final : public NetQueryCallback {
|
|||||||
|
|
||||||
void on_request(uint64 id, td_api::setBackground &request);
|
void on_request(uint64 id, td_api::setBackground &request);
|
||||||
|
|
||||||
void on_request(uint64 id, td_api::removeBackground &request);
|
void on_request(uint64 id, const td_api::removeBackground &request);
|
||||||
|
|
||||||
|
void on_request(uint64 id, const td_api::resetBackgrounds &request);
|
||||||
|
|
||||||
void on_request(uint64 id, td_api::getRecentlyVisitedTMeUrls &request);
|
void on_request(uint64 id, td_api::getRecentlyVisitedTMeUrls &request);
|
||||||
|
|
||||||
|
@ -2003,6 +2003,8 @@ class CliClient final : public Actor {
|
|||||||
td_api::make_object<td_api::backgroundTypePattern>(true, 0xabcdef, 49)));
|
td_api::make_object<td_api::backgroundTypePattern>(true, 0xabcdef, 49)));
|
||||||
} else if (op == "rbg") {
|
} else if (op == "rbg") {
|
||||||
send_request(td_api::make_object<td_api::removeBackground>(to_integer<int64>(args)));
|
send_request(td_api::make_object<td_api::removeBackground>(to_integer<int64>(args)));
|
||||||
|
} else if (op == "rbgs") {
|
||||||
|
send_request(td_api::make_object<td_api::resetBackgrounds>());
|
||||||
} else if (op == "gccode") {
|
} else if (op == "gccode") {
|
||||||
send_request(td_api::make_object<td_api::getCountryCode>());
|
send_request(td_api::make_object<td_api::getCountryCode>());
|
||||||
} else if (op == "git") {
|
} else if (op == "git") {
|
||||||
|
Reference in New Issue
Block a user