2017-07-20 07:07:02 +00:00
|
|
|
#include "PowerSaver.h"
|
|
|
|
#include "Settings.h"
|
|
|
|
#include <string.h>
|
|
|
|
|
2017-08-02 19:56:33 +00:00
|
|
|
bool PowerSaver::mState = false;
|
|
|
|
bool PowerSaver::mRunningScreenSaver = false;
|
2017-07-20 07:07:02 +00:00
|
|
|
|
2017-08-02 19:56:33 +00:00
|
|
|
int PowerSaver::mPlayNextTimeout = -1;
|
|
|
|
int PowerSaver::mScreenSaverTimeout = -1;
|
|
|
|
PowerSaver::mode PowerSaver::mMode = PowerSaver::DISABLED;
|
|
|
|
|
|
|
|
void PowerSaver::init()
|
2017-07-20 07:07:02 +00:00
|
|
|
{
|
|
|
|
setState(true);
|
2017-08-02 19:56:33 +00:00
|
|
|
updateTimeouts();
|
|
|
|
updateMode();
|
2017-07-20 07:07:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int PowerSaver::getTimeout()
|
|
|
|
{
|
2017-08-02 19:56:33 +00:00
|
|
|
return mRunningScreenSaver ? mPlayNextTimeout : mScreenSaverTimeout;
|
|
|
|
}
|
|
|
|
|
|
|
|
void PowerSaver::updateTimeouts()
|
|
|
|
{
|
|
|
|
mScreenSaverTimeout = (unsigned int) Settings::getInstance()->getInt("ScreenSaverTime");
|
|
|
|
mScreenSaverTimeout = mScreenSaverTimeout > 0 ? mScreenSaverTimeout - 100 : -1;
|
|
|
|
mPlayNextTimeout = 30000;
|
|
|
|
}
|
|
|
|
|
|
|
|
PowerSaver::mode PowerSaver::getMode()
|
|
|
|
{
|
|
|
|
return mMode;
|
2017-07-20 07:07:02 +00:00
|
|
|
}
|
|
|
|
|
2017-08-02 19:56:33 +00:00
|
|
|
void PowerSaver::updateMode()
|
2017-07-20 07:07:02 +00:00
|
|
|
{
|
|
|
|
std::string mode = Settings::getInstance()->getString("PowerSaverMode");
|
2017-08-02 19:56:33 +00:00
|
|
|
|
2017-07-20 07:07:02 +00:00
|
|
|
if (mode == "disabled") {
|
2017-08-02 19:56:33 +00:00
|
|
|
mMode = DISABLED;
|
2017-07-20 07:07:02 +00:00
|
|
|
} else if (mode == "instant") {
|
2017-08-02 19:56:33 +00:00
|
|
|
mMode = INSTANT;
|
2017-07-20 07:07:02 +00:00
|
|
|
} else if (mode == "enhanced") {
|
2017-08-02 19:56:33 +00:00
|
|
|
mMode = ENHANCED;
|
|
|
|
} else {
|
|
|
|
mMode = DEFAULT;
|
2017-07-20 07:07:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
bool PowerSaver::getState()
|
|
|
|
{
|
|
|
|
return mState;
|
|
|
|
}
|
|
|
|
|
|
|
|
void PowerSaver::setState(bool state)
|
|
|
|
{
|
|
|
|
bool ps_enabled = Settings::getInstance()->getString("PowerSaverMode") != "disabled";
|
|
|
|
mState = ps_enabled && state;
|
|
|
|
}
|
|
|
|
|
2017-08-02 19:56:33 +00:00
|
|
|
void PowerSaver::runningScreenSaver(bool state)
|
|
|
|
{
|
|
|
|
mRunningScreenSaver = state;
|
|
|
|
}
|