diff -r 6727c5d0afc7 -r 458d8c8d9580 screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp --- 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 #include +#include +#include #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: