diff -r 32e56106abf2 -r 66b5fe3c07fd screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp --- a/screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp Mon Sep 27 11:52:00 2010 +0300 +++ b/screensaver/snsrdisplaycontrol_s60/src/snsrdisplaycontrolsession.cpp Wed Oct 06 16:06:24 2010 +0300 @@ -18,16 +18,11 @@ #include #include -#include -#include #include "snsrdisplaycontrolsession.h" #include "snsrdisplaycontrolcommon.h" -// ======== LOCAL FUNCTIONS ======== - - // ======== MEMBER FUNCTIONS ======== @@ -91,6 +86,8 @@ void CSnsrDisplayControlSession::ServiceL( const RMessage2& aMessage ) { TInt func = aMessage.Function(); + RDEBUG1( "func", func ) + TInt err( KErrNone ); @@ -98,38 +95,64 @@ { case ESnsrDispCtrlSrvDisplayOff: { + RDEBUG( "Switching display off" ) + // Disable touch - HAL::Set( HALData::EPenState, 0 ); + TInt err1 = HAL::Set( HALData::EPenState, 0 ); + RDEBUG1( "disable touch err", err1 ) - // Lights off - err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, 0); + // Display off + TInt err2 = HAL::Set( HALData::EDisplayState, 0 ); + RDEBUG1( "display off err", err2 ) + + err = err1 || err2; break; } case ESnsrDispCtrlSrvDisplayLowPower: { + RDEBUG( "Switching display to low power mode" ) + // Disable touch - HAL::Set( HALData::EPenState, 0 ); + TInt err1 = HAL::Set( HALData::EPenState, 0 ); + RDEBUG1( "disable touch err", err1 ) - // Set display mode + // Enable low power mode TInt startRow = aMessage.Int0(); TInt endRow = aMessage.Int1(); + RDEBUG1( "first active row", startRow ) + RDEBUG1( "last active row", endRow ) + // TODO: for now, we pass a zero-filled pixel buffer to power save API. // This works fine with our reference hardware but some types of displays // might require passing the actual screen contents in this buffer. TUint16* ptr = const_cast( iPowerSavePixelBuffer->Ptr() ); - err = iPowerSave->Set(startRow, endRow, ptr); + TInt err2 = iPowerSave->Set(startRow, endRow, ptr); + RDEBUG1( "enable low power err", err2 ) + + // Display on + TInt err3 = HAL::Set( HALData::EDisplayState, 1 ); + RDEBUG1( "display on err", err3 ); + + err = err1 || err2 || err3; break; } case ESnsrDispCtrlSrvDisplayFullPower: { + RDEBUG( "Switching display to full power mode" ) + // Enable touch - HAL::Set( HALData::EPenState, 1 ); + TInt err1 = HAL::Set( HALData::EPenState, 1 ); + RDEBUG1( "enable touch err", err1 ) - // Set display mode - err = iPowerSave->Exit(); + // Low power off + TInt err2 = iPowerSave->Exit(); + RDEBUG1( "disable low power err", err2 ); - // Lights on - err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, 30) || err; + // Display on + TInt err3 = HAL::Set( HALData::EDisplayState, 1 ); + RDEBUG1( "display on err", err3 ) + + err = err1 || err2 || err3; break; } default: