on xenial help sign in
Hook auto brightness to unity screen instead of powerd
00dd241Alberto Aguirre
plugins/Powerd/Powerd.cpp+6−11
@@ -19,21 +19,16 @@
19#include "Powerd.h"
19#include "Powerd.h"
20#include <QDBusPendingCall>
20#include <QDBusPendingCall>
21
21
22−void autoBrightnessChanged(GSettings *settings, const gchar *key, QDBusInterface *powerd)
22+void autoBrightnessChanged(GSettings *settings, const gchar *key, QDBusInterface *unityScreen)
23{
23{
24 bool value = g_settings_get_boolean(settings, key);
24 bool value = g_settings_get_boolean(settings, key);
25− powerd->asyncCall("userAutobrightnessEnable", QVariant(value));
25+ unityScreen->asyncCall("userAutobrightnessEnable", QVariant(value));
26}
26}
27
27
28Powerd::Powerd(QObject* parent)
28Powerd::Powerd(QObject* parent)
29 : QObject(parent),
29 : QObject(parent),
30− powerd(NULL)
30+ unityScreen(NULL)
31{
31{
32− powerd = new QDBusInterface("com.canonical.powerd",
33− "/com/canonical/powerd",
34− "com.canonical.powerd",
35− QDBusConnection::SM_BUSNAME(), this);
36−
37 unityScreen = new QDBusInterface("com.canonical.Unity.Screen",
32 unityScreen = new QDBusInterface("com.canonical.Unity.Screen",
38 "/com/canonical/Unity/Screen",
33 "/com/canonical/Unity/Screen",
39 "com.canonical.Unity.Screen",
34 "com.canonical.Unity.Screen",
@@ -47,12 +42,12 @@ Powerd::Powerd(QObject* parent)
47 SIGNAL(displayPowerStateChange(int, int)));
42 SIGNAL(displayPowerStateChange(int, int)));
48
43
49 systemSettings = g_settings_new("com.ubuntu.touch.system");
44 systemSettings = g_settings_new("com.ubuntu.touch.system");
50− g_signal_connect(systemSettings, "changed::auto-brightness", G_CALLBACK(autoBrightnessChanged), powerd);
45+ g_signal_connect(systemSettings, "changed::auto-brightness", G_CALLBACK(autoBrightnessChanged), unityScreen);
51− autoBrightnessChanged(systemSettings, "auto-brightness", powerd);
46+ autoBrightnessChanged(systemSettings, "auto-brightness", unityScreen);
52}
47}
53
48
54Powerd::~Powerd()
49Powerd::~Powerd()
55{
50{
56− g_signal_handlers_disconnect_by_data(systemSettings, powerd);
51+ g_signal_handlers_disconnect_by_data(systemSettings, unityScreen);
57 g_object_unref(systemSettings);
52 g_object_unref(systemSettings);
58}
53}
plugins/Powerd/Powerd.h+1−2
@@ -32,7 +32,7 @@ class Powerd: public QObject
32
32
33public:
33public:
34 enum DisplayStateChangeReason {
34 enum DisplayStateChangeReason {
35− Normal = 0,
35+ Unknown = 0,
36 Inactivity = 1, // Display changed state due to inactivity
36 Inactivity = 1, // Display changed state due to inactivity
37 PowerKey = 2, // Display changed state due to user pressing power key
37 PowerKey = 2, // Display changed state due to user pressing power key
38 Proximity = 3, // Display changed state due to proximity events
38 Proximity = 3, // Display changed state due to proximity events
@@ -50,7 +50,6 @@ Q_SIGNALS:
50 void displayPowerStateChange(int status, int reason);
50 void displayPowerStateChange(int status, int reason);
51
51
52private:
52private:
53− QDBusInterface *powerd;
54 QDBusInterface *unityScreen;
53 QDBusInterface *unityScreen;
55 GSettings *systemSettings;
54 GSettings *systemSettings;
56};
55};
tests/mocks/Powerd/Powerd.h+1−1
@@ -29,7 +29,7 @@ class Powerd: public QObject
29
29
30public:
30public:
31 enum DisplayStateChangeReason {
31 enum DisplayStateChangeReason {
32− Normal = 0,
32+ Unknown = 0,
33 Inactivity = 1, // Display changed state due to inactivity
33 Inactivity = 1, // Display changed state due to inactivity
34 PowerKey = 2, // Display changed state due to user pressing power key
34 PowerKey = 2, // Display changed state due to user pressing power key
35 Proximity = 3, // Display changed state due to proximity events
35 Proximity = 3, // Display changed state due to proximity events