diff -r d96eed154187 -r ca6d8a014f4b widgets/widgetapp/src/WidgetUiWindowManager.cpp --- a/widgets/widgetapp/src/WidgetUiWindowManager.cpp Tue Sep 14 23:23:58 2010 +0300 +++ b/widgets/widgetapp/src/WidgetUiWindowManager.cpp Wed Sep 15 13:25:15 2010 +0300 @@ -206,6 +206,7 @@ iWidgetSapiNotifier = CWidgetUiPSNotifier::NewL(*this, ESapiPrompt); iWidgetSapiClearNotifier = CWidgetUiPSNotifier::NewL(*this, ESapiPromptCleared); #endif + iLightObserver = CHWRMLight::NewL( this ); } // ----------------------------------------------------------------------------- @@ -281,6 +282,7 @@ delete iWidgetSapiNotifier; delete iWidgetSapiClearNotifier; #endif + delete iLightObserver; } // ----------------------------------------------------------------------------- @@ -1160,6 +1162,7 @@ iActiveFsWindow->Engine()->MakeVisible( EFalse ); iActiveFsWindow->SetIsCurrentWindow( EFalse ); iActiveFsWindow->Engine()->HandleCommandL( (TInt)TBrCtlDefs::ECommandAppBackground + (TInt)TBrCtlDefs::ECommandIdBase); + iActiveFsWindow->WidgetExtension()->HandleCommandL( (TInt)TBrCtlDefs::ECommandAppBackground + (TInt)TBrCtlDefs::ECommandIdBase); } iActiveFsWindow = NULL; // Publish should start only after widget is resumed. @@ -1654,6 +1657,35 @@ } #endif // BRDO_OCC_ENABLED_FF +// ----------------------------------------------------------------------------- +// CWidgetUiWindowManager::LightStatusChanged +// ----------------------------------------------------------------------------- +// +void CWidgetUiWindowManager::LightStatusChanged( TInt aTarget, CHWRMLight::TLightStatus aStatus ) + { + if ( aTarget == CHWRMLight::EPrimaryDisplay ) + { + if ( ( aStatus == CHWRMLight::ELightOn || aStatus == CHWRMLight::ELightOff ) && aStatus != iLightStatus ) + { + iLightStatus = aStatus; + if(iActiveFsWindow) + if(aStatus == CHWRMLight::ELightOn ) + { + TRAP_IGNORE( iActiveFsWindow->Engine()->HandleCommandL( + (TInt)TBrCtlDefs::ECommandIdBase + + (TInt)TBrCtlDefs::ECommandBackLightOn ) ); + } + else if(aStatus == CHWRMLight::ELightOff ) + { + TRAP_IGNORE( iActiveFsWindow->Engine()->HandleCommandL( + (TInt)TBrCtlDefs::ECommandIdBase + + (TInt)TBrCtlDefs::ECommandBackLightOff) ); + } + } + } +} + + CRequestRAM::CRequestRAM(CWidgetUiWindowManager* aWidgetUiWindowManager, const TUid& aUid, TUint32 aOperation): CActive( EPriorityStandard ), iWidgetUiWindowManager(aWidgetUiWindowManager),