#include "Locker.h" #include #include "appvals/AppGlobalValues.h" #include "event/EventCenter.h" #include "json/jsonobject.h" #include "utilities/GetLockScreenTimeHelper.h" Locker* Locker::getInstance() { static Locker instance; return &instance; } Locker::Locker() : QObject() , mScreenTimer(new QTimer(this)) , mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000 * 60) , mIsEnable(false) { mScreenTimer->setSingleShot(true); connect(EventCenter::Default(), &EventCenter::LoginSuccess, this, &Locker::start); connect(mScreenTimer, SIGNAL(timeout()), this, SLOT(coverScreen())); } Locker::~Locker() { } void Locker::start() { if (mCounter > 0) { mIsEnable = true; mScreenTimer->stop(); mScreenTimer->start(mCounter); } } void Locker::coverScreen() { if (AppGlobalValues::InProcessing().toBool()) { refreshTimer(); } else { stop(); EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr); if(JsonObject::Instance()->getScreenSaverMode()) { EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr); } } } void Locker::setTimer(int aInterval) { mCounter = aInterval; mScreenTimer->stop(); if (mCounter > 0) { mScreenTimer->start(mCounter); } } void Locker::refreshTimer() { if (mIsEnable && mCounter > 0) { mScreenTimer->stop(); mScreenTimer->start(mCounter); } } void Locker::stop() { mIsEnable = false; mScreenTimer->stop(); }