--- a/screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp Fri Sep 17 08:27:54 2010 +0300
+++ b/screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp Mon Oct 04 00:07:25 2010 +0300
@@ -18,6 +18,8 @@
#include <power_save_display_mode.h>
#include <hal.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <e32property.h>
#include "snsrdisplaycontrolsession.h"
#include "snsrdisplaycontrolcommon.h"
@@ -96,13 +98,19 @@
{
case ESnsrDispCtrlSrvDisplayOff:
{
- // off
- // TODO
+ // Disable touch
+ HAL::Set( HALData::EPenState, 0 );
+
+ // Lights off
+ err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, 0);
break;
}
case ESnsrDispCtrlSrvDisplayLowPower:
{
- // low power
+ // Disable touch
+ HAL::Set( HALData::EPenState, 0 );
+
+ // Set display mode
TInt startRow = aMessage.Int0();
TInt endRow = aMessage.Int1();
// TODO: for now, we pass a zero-filled pixel buffer to power save API.
@@ -114,8 +122,14 @@
}
case ESnsrDispCtrlSrvDisplayFullPower:
{
- // full power
+ // Enable touch
+ HAL::Set( HALData::EPenState, 1 );
+
+ // Set display mode
err = iPowerSave->Exit();
+
+ // Lights on
+ err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, 30) || err;
break;
}
default: