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