mirror of https://github.com/procxx/kepka.git
Submit local Peer2PeerNobody setting to the cloud.
This commit is contained in:
parent
8d27d8efcf
commit
e737fa59b3
|
@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
constexpr auto kAutoLockTimeoutLateMs = TimeMs(3000);
|
constexpr auto kAutoLockTimeoutLateMs = TimeMs(3000);
|
||||||
|
constexpr auto kLegacyCallsPeerToPeerNobody = 4;
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -78,7 +79,7 @@ QByteArray AuthSessionSettings::serialize() const {
|
||||||
stream << qint32(_variables.thirdColumnWidth.current());
|
stream << qint32(_variables.thirdColumnWidth.current());
|
||||||
stream << qint32(_variables.thirdSectionExtendedBy);
|
stream << qint32(_variables.thirdSectionExtendedBy);
|
||||||
stream << qint32(_variables.sendFilesWay);
|
stream << qint32(_variables.sendFilesWay);
|
||||||
stream << qint32(_variables.callsPeerToPeer.current());
|
stream << qint32(0);// LEGACY _variables.callsPeerToPeer.current());
|
||||||
stream << qint32(_variables.sendSubmitWay);
|
stream << qint32(_variables.sendSubmitWay);
|
||||||
stream << qint32(_variables.supportSwitch);
|
stream << qint32(_variables.supportSwitch);
|
||||||
stream << qint32(_variables.supportFixChatsOrder ? 1 : 0);
|
stream << qint32(_variables.supportFixChatsOrder ? 1 : 0);
|
||||||
|
@ -109,7 +110,7 @@ void AuthSessionSettings::constructFromSerialized(const QByteArray &serialized)
|
||||||
int thirdColumnWidth = _variables.thirdColumnWidth.current();
|
int thirdColumnWidth = _variables.thirdColumnWidth.current();
|
||||||
int thirdSectionExtendedBy = _variables.thirdSectionExtendedBy;
|
int thirdSectionExtendedBy = _variables.thirdSectionExtendedBy;
|
||||||
qint32 sendFilesWay = static_cast<qint32>(_variables.sendFilesWay);
|
qint32 sendFilesWay = static_cast<qint32>(_variables.sendFilesWay);
|
||||||
qint32 callsPeerToPeer = qint32(_variables.callsPeerToPeer.current());
|
qint32 legacyCallsPeerToPeer = qint32(0);
|
||||||
qint32 sendSubmitWay = static_cast<qint32>(_variables.sendSubmitWay);
|
qint32 sendSubmitWay = static_cast<qint32>(_variables.sendSubmitWay);
|
||||||
qint32 supportSwitch = static_cast<qint32>(_variables.supportSwitch);
|
qint32 supportSwitch = static_cast<qint32>(_variables.supportSwitch);
|
||||||
qint32 supportFixChatsOrder = _variables.supportFixChatsOrder ? 1 : 0;
|
qint32 supportFixChatsOrder = _variables.supportFixChatsOrder ? 1 : 0;
|
||||||
|
@ -168,7 +169,7 @@ void AuthSessionSettings::constructFromSerialized(const QByteArray &serialized)
|
||||||
stream >> sendFilesWay;
|
stream >> sendFilesWay;
|
||||||
}
|
}
|
||||||
if (!stream.atEnd()) {
|
if (!stream.atEnd()) {
|
||||||
stream >> callsPeerToPeer;
|
stream >> legacyCallsPeerToPeer;
|
||||||
}
|
}
|
||||||
if (!stream.atEnd()) {
|
if (!stream.atEnd()) {
|
||||||
stream >> sendSubmitWay;
|
stream >> sendSubmitWay;
|
||||||
|
@ -225,14 +226,6 @@ void AuthSessionSettings::constructFromSerialized(const QByteArray &serialized)
|
||||||
case SendFilesWay::Photos:
|
case SendFilesWay::Photos:
|
||||||
case SendFilesWay::Files: _variables.sendFilesWay = uncheckedSendFilesWay; break;
|
case SendFilesWay::Files: _variables.sendFilesWay = uncheckedSendFilesWay; break;
|
||||||
}
|
}
|
||||||
auto uncheckedCallsPeerToPeer = static_cast<Calls::PeerToPeer>(callsPeerToPeer);
|
|
||||||
switch (uncheckedCallsPeerToPeer) {
|
|
||||||
case Calls::PeerToPeer::DefaultContacts:
|
|
||||||
case Calls::PeerToPeer::DefaultEveryone:
|
|
||||||
case Calls::PeerToPeer::Everyone:
|
|
||||||
case Calls::PeerToPeer::Contacts:
|
|
||||||
case Calls::PeerToPeer::Nobody: _variables.callsPeerToPeer = uncheckedCallsPeerToPeer; break;
|
|
||||||
}
|
|
||||||
auto uncheckedSendSubmitWay = static_cast<Ui::InputSubmitSettings>(
|
auto uncheckedSendSubmitWay = static_cast<Ui::InputSubmitSettings>(
|
||||||
sendSubmitWay);
|
sendSubmitWay);
|
||||||
switch (uncheckedSendSubmitWay) {
|
switch (uncheckedSendSubmitWay) {
|
||||||
|
@ -249,6 +242,7 @@ void AuthSessionSettings::constructFromSerialized(const QByteArray &serialized)
|
||||||
_variables.supportFixChatsOrder = (supportFixChatsOrder == 1);
|
_variables.supportFixChatsOrder = (supportFixChatsOrder == 1);
|
||||||
_variables.supportTemplatesAutocomplete = (supportTemplatesAutocomplete == 1);
|
_variables.supportTemplatesAutocomplete = (supportTemplatesAutocomplete == 1);
|
||||||
_variables.supportChatsTimeSlice = supportChatsTimeSlice;
|
_variables.supportChatsTimeSlice = supportChatsTimeSlice;
|
||||||
|
_variables.hadLegacyCallsPeerToPeerNobody = (legacyCallsPeerToPeer == kLegacyCallsPeerToPeerNobody);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AuthSessionSettings::setSupportChatsTimeSlice(int slice) {
|
void AuthSessionSettings::setSupportChatsTimeSlice(int slice) {
|
||||||
|
@ -416,6 +410,18 @@ bool AuthSession::validateSelf(const MTPUser &user) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AuthSession::moveSettingsFrom(AuthSessionSettings &&other) {
|
||||||
|
_settings.moveFrom(std::move(other));
|
||||||
|
if (_settings.hadLegacyCallsPeerToPeerNobody()) {
|
||||||
|
api().savePrivacy(
|
||||||
|
MTP_inputPrivacyKeyPhoneP2P(),
|
||||||
|
QVector<MTPInputPrivacyRule>(
|
||||||
|
1,
|
||||||
|
MTP_inputPrivacyValueDisallowAll()));
|
||||||
|
saveSettingsDelayed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AuthSession::saveSettingsDelayed(TimeMs delay) {
|
void AuthSession::saveSettingsDelayed(TimeMs delay) {
|
||||||
Expects(this == &Auth());
|
Expects(this == &Auth());
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,6 @@ namespace Data {
|
||||||
class Session;
|
class Session;
|
||||||
} // namespace Data
|
} // namespace Data
|
||||||
|
|
||||||
namespace Calls {
|
|
||||||
enum class PeerToPeer;
|
|
||||||
} // namespace Calls
|
|
||||||
|
|
||||||
namespace Storage {
|
namespace Storage {
|
||||||
class Downloader;
|
class Downloader;
|
||||||
class Uploader;
|
class Uploader;
|
||||||
|
@ -186,14 +182,8 @@ public:
|
||||||
_variables.groupStickersSectionHidden.remove(peerId);
|
_variables.groupStickersSectionHidden.remove(peerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<Calls::PeerToPeer> callsPeerToPeerValue() const {
|
bool hadLegacyCallsPeerToPeerNobody() const {
|
||||||
return _variables.callsPeerToPeer.value();
|
return _variables.hadLegacyCallsPeerToPeerNobody;
|
||||||
}
|
|
||||||
Calls::PeerToPeer callsPeerToPeer() const {
|
|
||||||
return _variables.callsPeerToPeer.current();
|
|
||||||
}
|
|
||||||
void setCallsPeerToPeer(Calls::PeerToPeer value) {
|
|
||||||
_variables.callsPeerToPeer = value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -219,9 +209,8 @@ private:
|
||||||
= kDefaultDialogsWidthRatio; // per-window
|
= kDefaultDialogsWidthRatio; // per-window
|
||||||
rpl::variable<int> thirdColumnWidth
|
rpl::variable<int> thirdColumnWidth
|
||||||
= kDefaultThirdColumnWidth; // per-window
|
= kDefaultThirdColumnWidth; // per-window
|
||||||
rpl::variable<Calls::PeerToPeer> callsPeerToPeer
|
|
||||||
= Calls::PeerToPeer();
|
|
||||||
Ui::InputSubmitSettings sendSubmitWay;
|
Ui::InputSubmitSettings sendSubmitWay;
|
||||||
|
bool hadLegacyCallsPeerToPeerNobody = false;
|
||||||
|
|
||||||
static constexpr auto kDefaultSupportChatsLimitSlice
|
static constexpr auto kDefaultSupportChatsLimitSlice
|
||||||
= 30 * 24 * 60 * 60;
|
= 30 * 24 * 60 * 60;
|
||||||
|
@ -290,6 +279,7 @@ public:
|
||||||
AuthSessionSettings &settings() {
|
AuthSessionSettings &settings() {
|
||||||
return _settings;
|
return _settings;
|
||||||
}
|
}
|
||||||
|
void moveSettingsFrom(AuthSessionSettings &&other);
|
||||||
void saveSettingsDelayed(TimeMs delay = kDefaultSaveDelay);
|
void saveSettingsDelayed(TimeMs delay = kDefaultSaveDelay);
|
||||||
|
|
||||||
ApiWrap &api() {
|
ApiWrap &api() {
|
||||||
|
|
|
@ -18,14 +18,6 @@ class Track;
|
||||||
|
|
||||||
namespace Calls {
|
namespace Calls {
|
||||||
|
|
||||||
enum class PeerToPeer {
|
|
||||||
DefaultContacts,
|
|
||||||
DefaultEveryone,
|
|
||||||
Everyone,
|
|
||||||
Contacts,
|
|
||||||
Nobody,
|
|
||||||
};
|
|
||||||
|
|
||||||
class Panel;
|
class Panel;
|
||||||
|
|
||||||
class Instance : private MTP::Sender, private Call::Delegate, private base::Subscriber, public base::has_weak_ptr {
|
class Instance : private MTP::Sender, private Call::Delegate, private base::Subscriber, public base::has_weak_ptr {
|
||||||
|
|
|
@ -499,7 +499,7 @@ void Messenger::startMtp() {
|
||||||
}
|
}
|
||||||
if (_private->storedAuthSession) {
|
if (_private->storedAuthSession) {
|
||||||
if (_authSession) {
|
if (_authSession) {
|
||||||
_authSession->settings().moveFrom(
|
_authSession->moveSettingsFrom(
|
||||||
std::move(*_private->storedAuthSession));
|
std::move(*_private->storedAuthSession));
|
||||||
}
|
}
|
||||||
_private->storedAuthSession.reset();
|
_private->storedAuthSession.reset();
|
||||||
|
|
Loading…
Reference in New Issue