diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,6 +18,8 @@ #include #include #include +#include + #include "xnnodepluginif.h" #include "xndomproperty.h" #include "xnproperty.h" @@ -112,6 +114,26 @@ } // ----------------------------------------------------------------------------- +// CXnAnimationAdapter::DoEnterPowerSaveModeL +// ----------------------------------------------------------------------------- +// +void CXnAnimationAdapter::DoEnterPowerSaveModeL( TModeEvent /*aEvent*/ ) + { + iInPowerSaveMode = ETrue; + StopAnimation(); + } + +// ----------------------------------------------------------------------------- +// CXnAnimationAdapter::DoExitPowerSaveModeL +// ----------------------------------------------------------------------------- +// +void CXnAnimationAdapter::DoExitPowerSaveModeL( TModeEvent /*aEvent*/ ) + { + iInPowerSaveMode = EFalse; + StartAnimation(); + } + +// ----------------------------------------------------------------------------- // CXnNewstickerAdapter::MakeVisible() // ----------------------------------------------------------------------------- // @@ -176,6 +198,7 @@ // TInt CXnAnimationAdapter::TimerCallBack(TAny* aAny) { + __PRINTS( "CXnAnimationAdapter::TimerCallback, timer runs" ); CXnAnimationAdapter* self = static_cast (aAny); // Update widget @@ -190,7 +213,7 @@ // void CXnAnimationAdapter::StartAnimation() { - if ( !iPeriodicTimer && IsVisible() ) + if ( !iPeriodicTimer && IsVisible() && !iInPowerSaveMode ) { TRAPD(err, iPeriodicTimer = CPeriodic::NewL(CActive::EPriorityIdle) ); if ( err == KErrNone )