Make MessageId::SERVER_ID_SHIFT private.
GitOrigin-RevId: c7fa31a1fda75d874c674f0ee8e9ddcebde21c9d
This commit is contained in:
parent
5b1d363918
commit
b4e45a2852
@ -62,8 +62,11 @@ enum class MessageType : int32 { None, Server, Local, YetUnsent };
|
||||
class MessageId {
|
||||
int64 id = 0;
|
||||
|
||||
public:
|
||||
static constexpr int32 SERVER_ID_SHIFT = 20;
|
||||
|
||||
friend StringBuilder &operator<<(StringBuilder &string_builder, MessageId message_id);
|
||||
|
||||
public:
|
||||
static constexpr int32 TYPE_MASK = (1 << 3) - 1;
|
||||
static constexpr int32 FULL_TYPE_MASK = (1 << SERVER_ID_SHIFT) - 1;
|
||||
static constexpr int32 TYPE_YET_UNSENT = 1;
|
||||
|
@ -9897,7 +9897,7 @@ void MessagesManager::init() {
|
||||
}
|
||||
log_string.remove_prefix(log_string.find(' ') + 1);
|
||||
|
||||
auto message_id = MessageId((static_cast<int64>(server_message_id) << MessageId::SERVER_ID_SHIFT) + add);
|
||||
auto message_id = MessageId(MessageId(ServerMessageId(server_message_id)).get() + add);
|
||||
|
||||
auto content_type = log_string.substr(0, log_string.find(' '));
|
||||
log_string.remove_prefix(log_string.find(' ') + 1);
|
||||
@ -25938,7 +25938,6 @@ MessagesManager::Dialog *MessagesManager::add_new_dialog(unique_ptr<Dialog> &&d,
|
||||
case DialogType::SecretChat:
|
||||
if (!d->last_new_message_id.is_valid()) {
|
||||
LOG(INFO) << "Set " << d->dialog_id << " last new message id in add_new_dialog";
|
||||
// TODO use date << MessageId::SERVER_ID_SHIFT;
|
||||
d->last_new_message_id = MessageId::min();
|
||||
}
|
||||
for (auto &first_message_id : d->first_database_message_id_by_index) {
|
||||
@ -26123,7 +26122,7 @@ void MessagesManager::fix_new_dialog(Dialog *d, unique_ptr<Message> &&last_datab
|
||||
if (dialog_type != DialogType::SecretChat && d->last_new_message_id.is_valid() &&
|
||||
!d->last_new_message_id.is_server()) {
|
||||
// fix wrong last_new_message_id
|
||||
d->last_new_message_id = MessageId(d->last_new_message_id.get() & ~MessageId::FULL_TYPE_MASK);
|
||||
d->last_new_message_id = d->last_new_message_id.get_prev_server_message_id();
|
||||
on_dialog_updated(dialog_id, "fix_new_dialog 10");
|
||||
}
|
||||
|
||||
@ -26347,7 +26346,8 @@ void MessagesManager::update_dialogs_hints_rating(const Dialog *d) {
|
||||
}
|
||||
|
||||
int64 MessagesManager::get_dialog_order(MessageId message_id, int32 message_date) {
|
||||
return (static_cast<int64>(message_date) << 32) + narrow_cast<int32>(message_id.get() >> MessageId::SERVER_ID_SHIFT);
|
||||
return (static_cast<int64>(message_date) << 32) +
|
||||
message_id.get_prev_server_message_id().get_server_message_id().get();
|
||||
}
|
||||
|
||||
int64 MessagesManager::get_dialog_public_order(const Dialog *d) const {
|
||||
|
Loading…
x
Reference in New Issue
Block a user