Add flag for account settings feature

This commit is contained in:
Clement 2019-09-24 16:25:44 -07:00
parent 73c558bc51
commit 96b58756b1
5 changed files with 17 additions and 7 deletions

View file

@ -856,9 +856,9 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
DependencyManager::set<VirtualPad::Manager>();
DependencyManager::set<DesktopPreviewProvider>();
#if defined(Q_OS_ANDROID)
DependencyManager::set<AccountManager>(); // use the default user agent getter
DependencyManager::set<AccountManager>(true); // use the default user agent getter
#else
DependencyManager::set<AccountManager>(std::bind(&Application::getUserAgent, qApp));
DependencyManager::set<AccountManager>(true, std::bind(&Application::getUserAgent, qApp));
#endif
DependencyManager::set<StatTracker>();
DependencyManager::set<ScriptEngines>(ScriptEngine::CLIENT_SCRIPT, defaultScriptsOverrideOption);

View file

@ -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>("OAuthAccessToken");
qRegisterMetaTypeStreamOperators<OAuthAccessToken>("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;

View file

@ -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 };

View file

@ -100,7 +100,7 @@ ACClientApp::ACClientApp(int argc, char* argv[]) :
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
DependencyManager::set<AccountManager>([&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); });
DependencyManager::set<AccountManager>(false, [&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); });
DependencyManager::set<AddressManager>();
DependencyManager::set<NodeList>(NodeType::Agent, listenPort);

View file

@ -138,7 +138,7 @@ ATPClientApp::ATPClientApp(int argc, char* argv[]) :
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
DependencyManager::set<StatTracker>();
DependencyManager::set<AccountManager>([&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); });
DependencyManager::set<AccountManager>(false, [&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); });
DependencyManager::set<AddressManager>();
DependencyManager::set<NodeList>(NodeType::Agent, _listenPort);