src/screensavershareddatamonitor.cpp
branchRCL_3
changeset 8 25957ccd51ab
parent 0 040fcad49f44
child 9 b3594157d381
equal deleted inserted replaced
6:04e92f1a7966 8:25957ccd51ab
    63     DeleteSubscriber( iCallStateSubscriber );
    63     DeleteSubscriber( iCallStateSubscriber );
    64     iCallStateProperty.Close();
    64     iCallStateProperty.Close();
    65     
    65     
    66     DeleteSubscriber( iShuttingDownSubscriber );
    66     DeleteSubscriber( iShuttingDownSubscriber );
    67     iShuttingDownProperty.Close();
    67     iShuttingDownProperty.Close();
       
    68 
       
    69     DeleteSubscriber( iActivateSSSubscriber );
       
    70     iActivateSSProperty.Close();
    68     }
    71     }
    69 
    72 
    70 // -----------------------------------------------------------------------------
    73 // -----------------------------------------------------------------------------
    71 // CScreensaverSharedDataMonitor::NewL
    74 // CScreensaverSharedDataMonitor::NewL
    72 // -----------------------------------------------------------------------------
    75 // -----------------------------------------------------------------------------
   131     // Shutting down state watcher
   134     // Shutting down state watcher
   132     User::LeaveIfError( iShuttingDownProperty.Attach( KPSUidStartup, KPSGlobalSystemState ) );
   135     User::LeaveIfError( iShuttingDownProperty.Attach( KPSUidStartup, KPSGlobalSystemState ) );
   133     iShuttingDownSubscriber = new (ELeave) CSubscriber(
   136     iShuttingDownSubscriber = new (ELeave) CSubscriber(
   134         TCallBack(HandleShuttingDownStateChanged, this), iShuttingDownProperty);
   137         TCallBack(HandleShuttingDownStateChanged, this), iShuttingDownProperty);
   135     iShuttingDownSubscriber->SubscribeL();
   138     iShuttingDownSubscriber->SubscribeL();
       
   139 
       
   140     User::LeaveIfError( iActivateSSProperty.Attach( KPSUidScreenSaver, KScreenSaverActivate ) );
       
   141     iActivateSSSubscriber = new( ELeave ) CSubscriber( TCallBack( HandleActivateSSChanged, this ), iActivateSSProperty );
       
   142     iActivateSSSubscriber->SubscribeL();
   136     }
   143     }
   137 
   144 
   138 // -----------------------------------------------------------------------------
   145 // -----------------------------------------------------------------------------
   139 // CScreensaverSharedDataMonitor::View
   146 // CScreensaverSharedDataMonitor::View
   140 // -----------------------------------------------------------------------------
   147 // -----------------------------------------------------------------------------
   234     if ( _this->iData->IsKeyguardOn() )
   241     if ( _this->iData->IsKeyguardOn() )
   235         {
   242         {
   236         // Keys locked - if screensaver is running, this was caused by
   243         // Keys locked - if screensaver is running, this was caused by
   237         // automatic keyguard and screensaver should refresh the view
   244         // automatic keyguard and screensaver should refresh the view
   238         // to show the keylock indicator
   245         // to show the keylock indicator
   239         if ( _this->Model().ScreenSaverIsOn() )
   246 /*        if ( _this->Model().ScreenSaverIsOn() )
   240             {
   247             {
   241             _this->View()->UpdateAndRefresh();
   248             _this->View()->UpdateAndRefresh();
   242             }
   249             }
       
   250 */
       
   251         _this->Model().StartScreenSaver();
       
   252         }
       
   253     else
       
   254         {
       
   255         _this->Model().StopScreenSaver();
   243         }
   256         }
   244 
   257 
   245     return KErrNone;
   258     return KErrNone;
   246     }
   259     }
   247 
   260 
   278         }
   291         }
   279     
   292     
   280     return KErrNone;
   293     return KErrNone;
   281     }
   294     }
   282 
   295 
       
   296 
       
   297 TInt CScreensaverSharedDataMonitor::HandleActivateSSChanged( TAny* aPtr )
       
   298     {
       
   299     TInt activateState = -1;
       
   300 
       
   301     RProperty::Get( KPSUidScreenSaver, KScreenSaverActivate, activateState );
       
   302 
       
   303     if( activateState && -1 != activateState )
       
   304         {
       
   305         // Enable SS
       
   306         SCRLOGGER_WRITE("SharedDataMonitor: Activate SS");
       
   307         STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr)->Model().StartScreenSaver();
       
   308         }
       
   309     else if ( !activateState )
       
   310         {
       
   311         // Disable SS
       
   312         SCRLOGGER_WRITE("SharedDataMonitor: Stop SS");
       
   313         STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr)->Model().StopScreenSaver();
       
   314         }
       
   315     else
       
   316         {
       
   317         // Unknown state
       
   318         }
       
   319     return KErrNone;
       
   320     }
       
   321 
       
   322 
   283 // End of file
   323 // End of file