From 96b58756b120e4a3e5dd40af6c61a90956519ded Mon Sep 17 00:00:00 2001 From: Clement Date: Tue, 24 Sep 2019 16:25:44 -0700 Subject: [PATCH] Add flag for account settings feature --- interface/src/Application.cpp | 4 ++-- libraries/networking/src/AccountManager.cpp | 13 +++++++++++-- libraries/networking/src/AccountManager.h | 3 ++- tools/ac-client/src/ACClientApp.cpp | 2 +- tools/atp-client/src/ATPClientApp.cpp | 2 +- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index ef3aafef4f..6a320e53ee 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -856,9 +856,9 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) { DependencyManager::set(); DependencyManager::set(); #if defined(Q_OS_ANDROID) - DependencyManager::set(); // use the default user agent getter + DependencyManager::set(true); // use the default user agent getter #else - DependencyManager::set(std::bind(&Application::getUserAgent, qApp)); + DependencyManager::set(true, std::bind(&Application::getUserAgent, qApp)); #endif DependencyManager::set(); DependencyManager::set(ScriptEngine::CLIENT_SCRIPT, defaultScriptsOverrideOption); diff --git a/libraries/networking/src/AccountManager.cpp b/libraries/networking/src/AccountManager.cpp index a31d117f59..3de39902b1 100644 --- a/libraries/networking/src/AccountManager.cpp +++ b/libraries/networking/src/AccountManager.cpp @@ -73,9 +73,10 @@ QJsonObject AccountManager::dataObjectFromResponse(QNetworkReply* requestReply) } } -AccountManager::AccountManager(UserAgentGetter userAgentGetter) : +AccountManager::AccountManager(bool accountSettingsEnabled, UserAgentGetter userAgentGetter) : _userAgentGetter(userAgentGetter), - _authURL() + _authURL(), + _accountSettingsEnabled(accountSettingsEnabled) { qRegisterMetaType("OAuthAccessToken"); qRegisterMetaTypeStreamOperators("OAuthAccessToken"); @@ -796,6 +797,10 @@ void AccountManager::requestProfileError(QNetworkReply::NetworkError error) { } void AccountManager::requestAccountSettings() { + if (!_accountSettingsEnabled) { + return; + } + QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); QUrl lockerURL = _authURL; @@ -840,6 +845,10 @@ void AccountManager::requestAccountSettingsError(QNetworkReply::NetworkError err } void AccountManager::postAccountSettings() { + if (!_accountSettingsEnabled) { + return; + } + if (_settings.lastChangeTimestamp() <= _lastSuccessfulSyncTimestamp && _lastSuccessfulSyncTimestamp != 0) { // Nothing changed, skipping settings post return; diff --git a/libraries/networking/src/AccountManager.h b/libraries/networking/src/AccountManager.h index f29221d671..8c7789c218 100644 --- a/libraries/networking/src/AccountManager.h +++ b/libraries/networking/src/AccountManager.h @@ -60,7 +60,7 @@ const auto DEFAULT_USER_AGENT_GETTER = []() -> QString { return HIGH_FIDELITY_US class AccountManager : public QObject, public Dependency { Q_OBJECT public: - AccountManager(UserAgentGetter userAgentGetter = DEFAULT_USER_AGENT_GETTER); + AccountManager(bool accountSettingsEnabled = false, UserAgentGetter userAgentGetter = DEFAULT_USER_AGENT_GETTER); QNetworkRequest createRequest(QString path, AccountManagerAuth::Type authType); Q_INVOKABLE void sendRequest(const QString& path, @@ -182,6 +182,7 @@ private: bool _limitedCommerce { false }; QString _configFileURL; + bool _accountSettingsEnabled { false }; AccountSettings _settings; quint64 _currentSyncTimestamp { 0 }; quint64 _lastSuccessfulSyncTimestamp { 0 }; diff --git a/tools/ac-client/src/ACClientApp.cpp b/tools/ac-client/src/ACClientApp.cpp index 6b781a5bea..24805a3348 100644 --- a/tools/ac-client/src/ACClientApp.cpp +++ b/tools/ac-client/src/ACClientApp.cpp @@ -100,7 +100,7 @@ ACClientApp::ACClientApp(int argc, char* argv[]) : DependencyManager::registerInheritance(); - DependencyManager::set([&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); }); + DependencyManager::set(false, [&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); }); DependencyManager::set(); DependencyManager::set(NodeType::Agent, listenPort); diff --git a/tools/atp-client/src/ATPClientApp.cpp b/tools/atp-client/src/ATPClientApp.cpp index 8c2fd44adf..b2e7db5c87 100644 --- a/tools/atp-client/src/ATPClientApp.cpp +++ b/tools/atp-client/src/ATPClientApp.cpp @@ -138,7 +138,7 @@ ATPClientApp::ATPClientApp(int argc, char* argv[]) : DependencyManager::registerInheritance(); DependencyManager::set(); - DependencyManager::set([&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); }); + DependencyManager::set(false, [&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); }); DependencyManager::set(); DependencyManager::set(NodeType::Agent, _listenPort);