diff -r 94b923fa11ed -r 63339781d179 securitydialogs/Autolock/src/AutoLockValueObserver.cpp --- a/securitydialogs/Autolock/src/AutoLockValueObserver.cpp Thu Jul 15 19:36:50 2010 +0300 +++ b/securitydialogs/Autolock/src/AutoLockValueObserver.cpp Thu Aug 19 10:45:23 2010 +0300 @@ -23,7 +23,8 @@ #include #include "AutolockAppUiPS.h" #include "AutoLockValueObserverPS.h" - +#include +#include // ================= MEMBER FUNCTIONS ======================= // @@ -64,6 +65,9 @@ iProperty.Attach(KPSUidCtsyCallInformation, KCTsyCallState); iProperty.Subscribe(iStatus); SetActive(); + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + #endif return KErrNone; } // @@ -74,6 +78,9 @@ // void CValueObserver::Stop() { + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + #endif Cancel(); } // @@ -83,7 +90,10 @@ // ---------------------------------------------------------- // CValueObserver::CValueObserver(CAutolockAppUi* aAppUi) : CActive(0), iAppUi(aAppUi) - { + { + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + #endif } // // ---------------------------------------------------------- @@ -94,6 +104,9 @@ void CValueObserver::ConstructL() { // Add this active object to the scheduler. + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + #endif CActiveScheduler::Add(this); } // @@ -104,15 +117,82 @@ // void CValueObserver::RunL() { + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + #endif + TInt atForeground = iAppUi->IsForeground(); + TInt value(EStartupUiPhaseUninitialized); + RProperty::Get(KPSUidStartup, KPSStartupUiPhase, value); TInt callState; iProperty.Get( callState ); - if (callState == EPSCTsyCallStateNone && !iAppUi->IsForeground()) + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) callState=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, callState ); + RDebug::Printf( "%s %s (%u) EPSCTsyCallStateNone=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, EPSCTsyCallStateNone ); + RDebug::Printf( "%s %s (%u) EPSCTsyCallStateUninitialized=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, EPSCTsyCallStateUninitialized ); + RDebug::Printf( "%s %s (%u) atForeground=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, atForeground ); + RDebug::Printf( "%s %s (%u) KPSStartupUiPhase value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, value ); + RDebug::Printf( "%s %s (%u) EStartupUiPhaseSystemWelcomeDone=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, EStartupUiPhaseSystemWelcomeDone ); + #endif + + + if (callState == EPSCTsyCallStateNone && !atForeground) { - // app back to foreground - iAppUi->BringAppToForegroundL(); + if( valueLocked(); + TInt alocked = RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, value); + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) alocked=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, alocked ); + RDebug::Printf( "%s %s (%u) iAppUi_Locked=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, iAppUi_Locked ); + #endif + if(iAppUi_Locked) + { + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) BringAppToForegroundL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 ); + #endif + iAppUi->BringAppToForegroundL(); + } + } } else { + { + if( valueBringAppToForegroundL(); + } + else if( (callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateUninitialized) && atForeground) + { + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) calling BringAppToForegroundL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 ); + #endif + iAppUi->BringAppToForegroundL(); + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) calling SwitchToPreviousAppL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 2 ); + #endif + iAppUi->SwitchToPreviousAppL(); + #if defined(_DEBUG) + RDebug::Printf( "%s %s (%u) done=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 3 ); + #endif + } + } + } Start(); }