mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 15:04:57 +00:00
Added remembered list for common moderated groups to session settings.
This commit is contained in:
@@ -66,6 +66,8 @@ QByteArray SessionSettings::serialize() const {
|
||||
+ Serialize::stringSize(auth.location);
|
||||
}
|
||||
size += sizeof(qint32); // _setupEmailState
|
||||
size += sizeof(qint32) // _moderateCommonGroups size
|
||||
+ (_moderateCommonGroups.size() * sizeof(quint64));
|
||||
|
||||
auto result = QByteArray();
|
||||
result.reserve(size);
|
||||
@@ -147,6 +149,10 @@ QByteArray SessionSettings::serialize() const {
|
||||
<< auth.location;
|
||||
}
|
||||
stream << qint32(static_cast<int>(_setupEmailState));
|
||||
stream << qint32(_moderateCommonGroups.size());
|
||||
for (const auto &peerId : _moderateCommonGroups) {
|
||||
stream << SerializePeerId(peerId);
|
||||
}
|
||||
}
|
||||
|
||||
Ensures(result.size() == size);
|
||||
@@ -219,6 +225,7 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||
base::flat_set<uint64> ratedTranscriptions;
|
||||
std::vector<Data::UnreviewedAuth> unreviewed;
|
||||
qint32 setupEmailState = 0;
|
||||
std::vector<PeerId> moderateCommonGroups;
|
||||
|
||||
stream >> versionTag;
|
||||
if (versionTag == kVersionTag) {
|
||||
@@ -635,6 +642,23 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||
if (!stream.atEnd()) {
|
||||
stream >> setupEmailState;
|
||||
}
|
||||
if (!stream.atEnd()) {
|
||||
auto count = qint32(0);
|
||||
stream >> count;
|
||||
if (stream.status() == QDataStream::Ok) {
|
||||
for (auto i = 0; i != count; ++i) {
|
||||
quint64 peerId;
|
||||
stream >> peerId;
|
||||
if (stream.status() != QDataStream::Ok) {
|
||||
LOG(("App Error: "
|
||||
"Bad data for SessionSettings::addFromSerialized()"
|
||||
"with moderateCommonGroups"));
|
||||
return;
|
||||
}
|
||||
moderateCommonGroups.emplace_back(DeserializePeerId(peerId));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (stream.status() != QDataStream::Ok) {
|
||||
LOG(("App Error: "
|
||||
"Bad data for SessionSettings::addFromSerialized()"));
|
||||
@@ -698,6 +722,8 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||
break;
|
||||
}
|
||||
|
||||
_moderateCommonGroups = std::move(moderateCommonGroups);
|
||||
|
||||
if (version < 2) {
|
||||
app.setLastSeenWarningSeen(appLastSeenWarningSeen == 1);
|
||||
for (const auto &[key, value] : appSoundOverrides) {
|
||||
|
||||
@@ -176,6 +176,13 @@ public:
|
||||
void setSetupEmailState(Data::SetupEmailState state);
|
||||
[[nodiscard]] Data::SetupEmailState setupEmailState() const;
|
||||
|
||||
void setModerateCommonGroups(std::vector<PeerId> groups) {
|
||||
_moderateCommonGroups = std::move(groups);
|
||||
}
|
||||
[[nodiscard]] const std::vector<PeerId> &moderateCommonGroups() const {
|
||||
return _moderateCommonGroups;
|
||||
}
|
||||
|
||||
private:
|
||||
static constexpr auto kDefaultSupportChatsLimitSlice = 7 * 24 * 60 * 60;
|
||||
static constexpr auto kPhotoEditorHintMaxShowsCount = 5;
|
||||
@@ -222,6 +229,8 @@ private:
|
||||
|
||||
Data::SetupEmailState _setupEmailState;
|
||||
|
||||
std::vector<PeerId> _moderateCommonGroups;
|
||||
|
||||
};
|
||||
|
||||
} // namespace Main
|
||||
|
||||
Reference in New Issue
Block a user