Check for default channel statuses in StickersManager::is_default_emoji_status.
This commit is contained in:
parent
1494d5fcdf
commit
aab1bf4fa5
@ -6031,18 +6031,25 @@ void StickersManager::get_default_emoji_statuses(bool is_recursive,
|
|||||||
promise.set_value(td_api::make_object<td_api::emojiStatuses>(std::move(custom_emoji_ids)));
|
promise.set_value(td_api::make_object<td_api::emojiStatuses>(std::move(custom_emoji_ids)));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool StickersManager::is_default_emoji_status(CustomEmojiId custom_emoji_id) {
|
int StickersManager::is_custom_emoji_from_sticker_set(CustomEmojiId custom_emoji_id,
|
||||||
auto &special_sticker_set = add_special_sticker_set(SpecialStickerSetType::default_statuses());
|
StickerSetId sticker_set_id) const {
|
||||||
auto sticker_set = get_sticker_set(special_sticker_set.id_);
|
const auto *sticker_set = get_sticker_set(sticker_set_id);
|
||||||
if (sticker_set == nullptr || !sticker_set->was_loaded_) {
|
if (sticker_set == nullptr || !sticker_set->was_loaded_) {
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
for (auto sticker_id : sticker_set->sticker_ids_) {
|
for (auto sticker_id : sticker_set->sticker_ids_) {
|
||||||
if (get_custom_emoji_id(sticker_id) == custom_emoji_id) {
|
if (get_custom_emoji_id(sticker_id) == custom_emoji_id) {
|
||||||
return true;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool StickersManager::is_default_emoji_status(CustomEmojiId custom_emoji_id) {
|
||||||
|
return is_custom_emoji_from_sticker_set(
|
||||||
|
custom_emoji_id, add_special_sticker_set(SpecialStickerSetType::default_statuses()).id_) == 1 ||
|
||||||
|
is_custom_emoji_from_sticker_set(
|
||||||
|
custom_emoji_id, add_special_sticker_set(SpecialStickerSetType::default_channel_statuses()).id_) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StickersManager::get_default_channel_emoji_statuses(bool is_recursive,
|
void StickersManager::get_default_channel_emoji_statuses(bool is_recursive,
|
||||||
|
@ -898,6 +898,8 @@ class StickersManager final : public Actor {
|
|||||||
|
|
||||||
void reload_special_sticker_set(SpecialStickerSet &sticker_set, int32 hash);
|
void reload_special_sticker_set(SpecialStickerSet &sticker_set, int32 hash);
|
||||||
|
|
||||||
|
int is_custom_emoji_from_sticker_set(CustomEmojiId custom_emoji_id, StickerSetId sticker_set_id) const;
|
||||||
|
|
||||||
static void add_sticker_thumbnail(Sticker *s, PhotoSize thumbnail);
|
static void add_sticker_thumbnail(Sticker *s, PhotoSize thumbnail);
|
||||||
|
|
||||||
td_api::object_ptr<td_api::stickers> get_custom_emoji_stickers_object(const vector<CustomEmojiId> &custom_emoji_ids);
|
td_api::object_ptr<td_api::stickers> get_custom_emoji_stickers_object(const vector<CustomEmojiId> &custom_emoji_ids);
|
||||||
|
Loading…
Reference in New Issue
Block a user