src/screensavershareddatamonitor.cpp
branchRCL_3
changeset 19 1f307dce3b5a
parent 18 2e08ef6b6eda
equal deleted inserted replaced
18:2e08ef6b6eda 19:1f307dce3b5a
    24 #include <ctsydomainpskeys.h>                // kpsuidctsycallinformation
    24 #include <ctsydomainpskeys.h>                // kpsuidctsycallinformation
    25 #include <startupdomainpskeys.h>             // kpsglobalsystemstate
    25 #include <startupdomainpskeys.h>             // kpsglobalsystemstate
    26 #include <ScreensaverInternalPSKeys.h>
    26 #include <ScreensaverInternalPSKeys.h>
    27 #include <UikonInternalPSKeys.h>             // kuikmmcinserted
    27 #include <UikonInternalPSKeys.h>             // kuikmmcinserted
    28 #include <hwrmpowerstatesdkpskeys.h>
    28 #include <hwrmpowerstatesdkpskeys.h>
       
    29 #include <ctsydomaincrkeys.h>
       
    30 #include <centralrepository.h>
    29 
    31 
    30 #ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
    32 #ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
    31 #include <akntransitionutils.h>
    33 #include <akntransitionutils.h>
    32 #endif
    34 #endif
    33 
    35 
    70     DeleteSubscriber( iActivateSSSubscriber );
    72     DeleteSubscriber( iActivateSSSubscriber );
    71     iActivateSSProperty.Close();
    73     iActivateSSProperty.Close();
    72     
    74     
    73     DeleteSubscriber( iChargerStateSubscriber );
    75     DeleteSubscriber( iChargerStateSubscriber );
    74     iChargerStateProperty.Close();
    76     iChargerStateProperty.Close();
       
    77     
       
    78     delete iMessageWaitingWatcher;
       
    79     delete iMessageWaitingRepository;
    75     }
    80     }
    76 
    81 
    77 // -----------------------------------------------------------------------------
    82 // -----------------------------------------------------------------------------
    78 // CScreensaverSharedDataMonitor::NewL
    83 // CScreensaverSharedDataMonitor::NewL
    79 // -----------------------------------------------------------------------------
    84 // -----------------------------------------------------------------------------
   148     
   153     
   149     User::LeaveIfError( iChargerStateProperty.Attach( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
   154     User::LeaveIfError( iChargerStateProperty.Attach( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
   150     iChargerStateSubscriber = new (ELeave) CSubscriber( 
   155     iChargerStateSubscriber = new (ELeave) CSubscriber( 
   151         TCallBack( HandleChargerStateChanged, this ), iChargerStateProperty );
   156         TCallBack( HandleChargerStateChanged, this ), iChargerStateProperty );
   152     iChargerStateSubscriber->SubscribeL();
   157     iChargerStateSubscriber->SubscribeL();
       
   158     
       
   159     iMessageWaitingRepository = CRepository::NewL( KCRUidCtsyMessageWaitingIndicator );
       
   160     iMessageWaitingWatcher = CScreensaverRepositoryWatcher::NewL( KCRUidCtsyMessageWaitingIndicator,
       
   161                                                                   TCallBack( HandleMessageWaitingStateChanged, this ),
       
   162                                                                   iMessageWaitingRepository );
       
   163 
   153     }
   164     }
   154 
   165 
   155 // -----------------------------------------------------------------------------
   166 // -----------------------------------------------------------------------------
   156 // CScreensaverSharedDataMonitor::View
   167 // CScreensaverSharedDataMonitor::View
   157 // -----------------------------------------------------------------------------
   168 // -----------------------------------------------------------------------------
   248     // happened because of automatic keyguard fired, and screensaver
   259     // happened because of automatic keyguard fired, and screensaver
   249     // should update the display to show the keyguard indicator
   260     // should update the display to show the keyguard indicator
   250     CScreensaverSharedDataMonitor* _this =
   261     CScreensaverSharedDataMonitor* _this =
   251         STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr);
   262         STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr);
   252 
   263 
   253     if ( _this->iData->IsKeyguardOn() )
   264     _this->Model().HandleKeyguardStateChanged( _this->iData->IsKeyguardOn() );
   254         {
       
   255         // Keys locked - if screensaver is running, this was caused by
       
   256         // automatic keyguard and screensaver should refresh the view
       
   257         // to show the keylock indicator
       
   258         if ( _this->Model().ScreenSaverIsOn() )
       
   259             {
       
   260             _this->View()->UpdateAndRefresh();
       
   261             }
       
   262         _this->Model().StartScreenSaver();
       
   263         }
       
   264     else
       
   265         {
       
   266         _this->Model().StopScreenSaver();
       
   267         }
       
   268 
       
   269     return KErrNone;
   265     return KErrNone;
   270     }
   266     }
   271 
   267 
   272 // -----------------------------------------------------------------------------
   268 // -----------------------------------------------------------------------------
   273 // CScreensaverSharedDataMonitor::HandleCallStateChanged
   269 // CScreensaverSharedDataMonitor::HandleCallStateChanged
   361             break;
   357             break;
   362         }
   358         }
   363     return KErrNone;
   359     return KErrNone;
   364     }
   360     }
   365 
   361 
       
   362 // ---------------------------------------------------------------------------
       
   363 // 
       
   364 // ---------------------------------------------------------------------------
       
   365 //
       
   366 TInt CScreensaverSharedDataMonitor::HandleMessageWaitingStateChanged( TAny* aPtr )
       
   367     {
       
   368     CScreensaverSharedDataMonitor* self = STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr);
       
   369     if ( self->iMessageWaitingWatcher->ChangedKey() == KCtsyMessageWaitingDisplayStatus )
       
   370         {
       
   371         self->View()->UpdateAndRefresh();
       
   372         }
       
   373     return KErrNone;
       
   374     }
       
   375 
   366 // End of file
   376 // End of file