Skip to content

Commit

Permalink
[displaysettings] Add PowerSaveMode properties. JB#43843
Browse files Browse the repository at this point in the history
powerSaveModeEnabled: boolean toggle for PSM feature enable/disable
powerSaveModeThreshold: battery percentage threshold for triggering PSM

Signed-off-by: Simo Piiroinen <simo.piiroinen@jollamobile.com>
  • Loading branch information
spiiroin committed Dec 21, 2018
1 parent 38267ea commit b75ecd8
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 0 deletions.
66 changes: 66 additions & 0 deletions src/displaysettings.cpp
Expand Up @@ -48,6 +48,9 @@ static const char *MceDoubleTapMode = "/system/osso/dsm/doubletap/mode";
static const char *MceLidSensorEnabled = "/system/osso/dsm/locks/lid_sensor_enabled";
static const char *MceLidSensorFilteringEnabled = "/system/osso/dsm/locks/filter_lid_with_als";
static const char *MceFlipOverGestureEnabled = "/system/osso/dsm/display/flipover_gesture_enabled";
static const char *McePowerSaveModeForced = "/system/osso/dsm/energymanagement/force_power_saving";
static const char *McePowerSaveModeEnabled = "/system/osso/dsm/energymanagement/enable_power_saving";
static const char *McePowerSaveModeThreshold = "/system/osso/dsm/energymanagement/psm_threshold";

DisplaySettings::DisplaySettings(QObject *parent)
: QObject(parent)
Expand All @@ -68,6 +71,9 @@ DisplaySettings::DisplaySettings(QObject *parent)
m_doubleTapMode = true;
m_lidSensorFilteringEnabled = true;
m_lidSensorEnabled = true;
m_powerSaveModeForced = false;
m_powerSaveModeEnabled = false;
m_powerSaveModeThreshold = 20;
m_populated = false;

/* Setup change listener & get current values via async query */
Expand Down Expand Up @@ -287,6 +293,48 @@ void DisplaySettings::setFlipoverGestureEnabled(bool enabled)
}
}

bool DisplaySettings::powerSaveModeForced() const
{
return m_powerSaveModeForced;
}

void DisplaySettings::setPowerSaveModeForced(bool force)
{
if (m_powerSaveModeForced != force) {
m_powerSaveModeForced = force;
m_mceIface->set_config(QDBusObjectPath(McePowerSaveModeForced), QDBusVariant(force));
emit powerSaveModeForcedChanged();
}
}

bool DisplaySettings::powerSaveModeEnabled() const
{
return m_powerSaveModeEnabled;
}

void DisplaySettings::setPowerSaveModeEnabled(bool enabled)
{
if (m_powerSaveModeEnabled != enabled) {
m_powerSaveModeEnabled = enabled;
m_mceIface->set_config(QDBusObjectPath(McePowerSaveModeEnabled), QDBusVariant(enabled));
emit powerSaveModeEnabledChanged();
}
}

int DisplaySettings::powerSaveModeThreshold() const
{
return m_powerSaveModeThreshold;
}

void DisplaySettings::setPowerSaveModeThreshold(int value)
{
if (m_powerSaveModeThreshold != value) {
m_powerSaveModeThreshold = value;
m_mceIface->set_config(QDBusObjectPath(McePowerSaveModeThreshold), QDBusVariant(value));
emit powerSaveModeThresholdChanged();
}
}

bool DisplaySettings::populated() const
{
return m_populated;
Expand Down Expand Up @@ -371,5 +419,23 @@ void DisplaySettings::updateConfig(const QString &key, const QVariant &value)
m_flipoverGestureEnabled = val;
emit flipoverGestureEnabledChanged();
}
} else if (key == McePowerSaveModeForced) {
bool val = value.toBool();
if (val != m_powerSaveModeForced) {
m_powerSaveModeForced = val;
emit powerSaveModeForcedChanged();
}
} else if (key == McePowerSaveModeEnabled) {
bool val = value.toBool();
if (val != m_powerSaveModeEnabled) {
m_powerSaveModeEnabled = val;
emit powerSaveModeEnabledChanged();
}
} else if (key == McePowerSaveModeThreshold) {
int val = value.toInt();
if (val != m_powerSaveModeThreshold) {
m_powerSaveModeThreshold = val;
emit powerSaveModeThresholdChanged();
}
}
}
18 changes: 18 additions & 0 deletions src/displaysettings.h
Expand Up @@ -62,6 +62,9 @@ class SYSTEMSETTINGS_EXPORT DisplaySettings: public QObject
Q_PROPERTY(bool lidSensorEnabled READ lidSensorEnabled WRITE setLidSensorEnabled NOTIFY lidSensorEnabledChanged)
Q_PROPERTY(bool lidSensorFilteringEnabled READ lidSensorFilteringEnabled WRITE setLidSensorFilteringEnabled NOTIFY lidSensorFilteringEnabledChanged)
Q_PROPERTY(bool flipoverGestureEnabled READ flipoverGestureEnabled WRITE setFlipoverGestureEnabled NOTIFY flipoverGestureEnabledChanged)
Q_PROPERTY(bool powerSaveModeForced READ powerSaveModeForced WRITE setPowerSaveModeForced NOTIFY powerSaveModeForcedChanged)
Q_PROPERTY(bool powerSaveModeEnabled READ powerSaveModeEnabled WRITE setPowerSaveModeEnabled NOTIFY powerSaveModeEnabledChanged)
Q_PROPERTY(int powerSaveModeThreshold READ powerSaveModeThreshold WRITE setPowerSaveModeThreshold NOTIFY powerSaveModeThresholdChanged)
Q_PROPERTY(bool populated READ populated NOTIFY populatedChanged)

public:
Expand Down Expand Up @@ -128,6 +131,15 @@ class SYSTEMSETTINGS_EXPORT DisplaySettings: public QObject
bool flipoverGestureEnabled() const;
void setFlipoverGestureEnabled(bool);

bool powerSaveModeForced() const;
void setPowerSaveModeForced(bool);

bool powerSaveModeEnabled() const;
void setPowerSaveModeEnabled(bool);

int powerSaveModeThreshold() const;
void setPowerSaveModeThreshold(int);

bool populated() const;

signals:
Expand All @@ -144,6 +156,9 @@ class SYSTEMSETTINGS_EXPORT DisplaySettings: public QObject
void lidSensorEnabledChanged();
void lidSensorFilteringEnabledChanged();
void flipoverGestureEnabledChanged();
void powerSaveModeForcedChanged();
void powerSaveModeEnabledChanged();
void powerSaveModeThresholdChanged();
void populatedChanged();

private slots:
Expand All @@ -167,6 +182,9 @@ private slots:
bool m_lidSensorEnabled;
bool m_lidSensorFilteringEnabled;
bool m_flipoverGestureEnabled;
bool m_powerSaveModeForced;
bool m_powerSaveModeEnabled;
int m_powerSaveModeThreshold;
bool m_populated;
};

Expand Down

0 comments on commit b75ecd8

Please sign in to comment.