Do not show login dialog if requested not to on the command line.

This commit is contained in:
NissimHadar 2018-10-18 17:20:26 -07:00
parent 1f06c87580
commit 12d092609b

View file

@ -2330,23 +2330,29 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
connect(&AndroidHelper::instance(), &AndroidHelper::enterForeground, this, &Application::enterForeground); connect(&AndroidHelper::instance(), &AndroidHelper::enterForeground, this, &Application::enterForeground);
AndroidHelper::instance().notifyLoadComplete(); AndroidHelper::instance().notifyLoadComplete();
#else #else
static int CHECK_LOGIN_TIMER = 3000; // Do not show login dialog if requested not to on the command line
QTimer* checkLoginTimer = new QTimer(this); const QString HIFI_NO_LOGIN_COMMAND_LINE_KEY = "--no-login";
checkLoginTimer->setInterval(CHECK_LOGIN_TIMER); int index = arguments().indexOf(HIFI_NO_LOGIN_COMMAND_LINE_KEY);
checkLoginTimer->setSingleShot(true); if (index == -1) {
connect(checkLoginTimer, &QTimer::timeout, this, []() { // request not found
auto accountManager = DependencyManager::get<AccountManager>(); static int CHECK_LOGIN_TIMER = 3000;
auto dialogsManager = DependencyManager::get<DialogsManager>(); QTimer* checkLoginTimer = new QTimer(this);
if (!accountManager->isLoggedIn()) { checkLoginTimer->setInterval(CHECK_LOGIN_TIMER);
Setting::Handle<bool>{"loginDialogPoppedUp", false}.set(true); checkLoginTimer->setSingleShot(true);
dialogsManager->showLoginDialog(); connect(checkLoginTimer, &QTimer::timeout, this, []() {
QJsonObject loginData = {}; auto accountManager = DependencyManager::get<AccountManager>();
loginData["action"] = "login dialog shown"; auto dialogsManager = DependencyManager::get<DialogsManager>();
UserActivityLogger::getInstance().logAction("encourageLoginDialog", loginData); if (!accountManager->isLoggedIn()) {
} Setting::Handle<bool>{ "loginDialogPoppedUp", false }.set(true);
}); dialogsManager->showLoginDialog();
Setting::Handle<bool>{"loginDialogPoppedUp", false}.set(false); QJsonObject loginData = {};
checkLoginTimer->start(); loginData["action"] = "login dialog shown";
UserActivityLogger::getInstance().logAction("encourageLoginDialog", loginData);
}
});
Setting::Handle<bool>{ "loginDialogPoppedUp", false }.set(false);
checkLoginTimer->start();
}
#endif #endif
} }