uiacceltk/hitchcock/backgroundanim/src/bganimhost.cpp
branchRCL_3
changeset 9 3ac8bf5c5014
parent 8 46927d61fef3
child 10 7c5dd702d6d3
equal deleted inserted replaced
8:46927d61fef3 9:3ac8bf5c5014
   479             CSensorListener* listener = NULL;
   479             CSensorListener* listener = NULL;
   480             TRAPD(serr, listener = CSensorListener::NewL(this, *sensors++));
   480             TRAPD(serr, listener = CSensorListener::NewL(this, *sensors++));
   481             if (!serr)
   481             if (!serr)
   482                 {
   482                 {
   483                 iSensorListeners.Append(listener);
   483                 iSensorListeners.Append(listener);
       
   484                 StartSensorsL();
   484                 }
   485                 }
   485             }
   486             }
   486         }
   487         }
   487     }
   488     }
   488     
   489     
   522         TInt  err = RProperty::Get( KPSUidStartup,
   523         TInt  err = RProperty::Get( KPSUidStartup,
   523                                      KPSStartupUiPhase,
   524                                      KPSStartupUiPhase,
   524                                      lValOfNoUse);
   525                                      lValOfNoUse);
   525         if (err == KErrNotFound)
   526         if (err == KErrNotFound)
   526             {
   527             {
   527             iTimer->CallBack(1);
   528             iTimer->CallBack(500);
   528             return;
   529             return;
   529             }
   530             }
   530         }
   531         }
   531     iIsUIReady = ETrue;
   532     iIsUIReady = ETrue;
   532     TTime start;
   533     TTime start;
   598     // release gpu resources...
   599     // release gpu resources...
   599     iTimer->Cancel();
   600     iTimer->Cancel();
   600     iTimerRunning = EFalse;
   601     iTimerRunning = EFalse;
   601     iPlugin->gpuresourcesavailable(0);
   602     iPlugin->gpuresourcesavailable(0);
   602     ReleaseWindowSurface(EFalse);
   603     ReleaseWindowSurface(EFalse);
       
   604     StopSensors();
   603     }
   605     }
   604 
   606 
   605 void CBgAnimHost::CompositionTargetVisible()
   607 void CBgAnimHost::CompositionTargetVisible()
   606     {
   608     {
   607     if (iSurfaceInitialized)
   609     if (iSurfaceInitialized || iHiddenDueSC)
   608         {
   610         {
   609         // don't bother if we are already in
   611         // don't bother if we are already in
   610         // a correct state..
   612         // a correct state, or if we are hidden by
       
   613         // the screensaver
   611         return;
   614         return;
   612         }
   615         }
   613 
   616 
   614     if (!iSurfaceInitialized && iCompSource)
   617     if (!iSurfaceInitialized && iCompSource)
   615         {
   618         {
   624         {
   627         {
   625         iPlugin->gpuresourcesavailable(1);
   628         iPlugin->gpuresourcesavailable(1);
   626         iTimer->CallBack(1);
   629         iTimer->CallBack(1);
   627         iTimerRunning = ETrue;
   630         iTimerRunning = ETrue;
   628         }
   631         }
       
   632     TRAP_IGNORE(StartSensorsL());
   629     }
   633     }
   630 
   634 
   631 void CBgAnimHost::HandleScreenSaverEvent()
   635 void CBgAnimHost::HandleScreenSaverEvent()
   632     {
   636     {
   633 #if !defined(SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS)
   637 #if !defined(SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS)
   634     TInt scStatus = iSCPropertyListener->GetScreenSaverStatus();
   638     TInt scStatus = iSCPropertyListener->GetScreenSaverStatus();
   635     if (scStatus)
   639     if (scStatus)
   636         {
   640         {
   637         // screensaver is ON
   641         // screensaver is ON
   638         if (iTimerRunning)
   642         iHiddenDueSC = ETrue;
   639             {
   643         CompositionTargetHidden();
   640             iTimer->Cancel();
       
   641             iTimerRunning = EFalse;
       
   642             }
       
   643         }
   644         }
   644     else
   645     else
   645         {
   646         {
   646         // screensaver is OFF
   647         // screensaver is OFF
   647         if (!iTimerRunning && iSurfaceInitialized)
   648         iHiddenDueSC = EFalse;
   648             {
   649         CompositionTargetVisible();
   649             iTimerRunning = ETrue;
       
   650             iTimer->CallBack(1);
       
   651             }
       
   652         }
   650         }
   653 #endif
   651 #endif
   654     }
   652     }
   655 
   653 
       
   654 void CBgAnimHost::StartSensorsL()
       
   655     {
       
   656     for (TInt count = 0; count < iSensorListeners.Count(); count++)
       
   657         {
       
   658         iSensorListeners[count]->StartListeningL();
       
   659         }
       
   660     }
       
   661     
       
   662 void CBgAnimHost::StopSensors()
       
   663     {
       
   664     for (TInt count = 0; count < iSensorListeners.Count(); count++)
       
   665         {
       
   666         iSensorListeners[count]->StopListening();
       
   667         }
       
   668     }
   656 TInt CBgAnimHost::ScreenSaverCallback(TAny* aPtr)
   669 TInt CBgAnimHost::ScreenSaverCallback(TAny* aPtr)
   657     {
   670     {
   658     CBgAnimHost* me = (CBgAnimHost*) aPtr;
   671     CBgAnimHost* me = (CBgAnimHost*) aPtr;
   659     me->HandleScreenSaverEvent();
   672     me->HandleScreenSaverEvent();
   660     return EFalse;
   673     return EFalse;