--- a/coreapplicationuis/SysAp/Src/sysapdefaultkeyhandler.cpp Tue May 25 12:52:36 2010 +0300
+++ b/coreapplicationuis/SysAp/Src/sysapdefaultkeyhandler.cpp Wed Jun 09 09:52:12 2010 +0300
@@ -37,6 +37,7 @@
#include <centralrepository.h> //for CRepository
#include <settingsinternalcrkeys.h>
#include <keylockpolicyapi.h>
+#include <ctsydomainpskeys.h>
#include "sysapdefaultkeyhandler.h"
#include "sysapcallback.h"
#include "SysAp.hrh"
@@ -128,6 +129,9 @@
//Load keylock slide handling CR
TRAP_IGNORE( iSlideRepository = CRepository::NewL( KCRUidSlideSettings ) );
iKeylockPolicy = CKeyLockPolicyApi::NewL( EPolicyActivateKeyguard );
+
+ //Load PhoneCallStatus P&S
+ TInt err = iCallStateProperty.Attach(KPSUidCtsyCallInformation, KCTsyCallState);
}
// ---------------------------------------------------------------------------
@@ -216,26 +220,41 @@
}
else
{ // keylock action is defined by user setting
- TInt keyGuardSetting;
- iSlideRepository->Get( KSlideKeyguard, keyGuardSetting );
- switch( ( TSlideSettingKeyguard ) keyGuardSetting )
- {
- case ESlideSettingsKeyguardActivatingOn:
- iKeylock->EnableKeyLock();
- break;
- case ESlideSettingsKeyguardActivatingAskMe:
- iKeylock->OfferKeyLock();
- break;
- case ESlideSettingsKeyguardActivatingOff:
- //do nothing
- break;
- case ESlideSettingsKeyguardActivatingAutomatic:
- if( iKeypadWasLocked )
- {
- iKeylock->EnableKeyLock();
- }
- break;
- }
+ TInt status(0);
+ TInt err = iCallStateProperty.Get( status );
+ if (err == KErrNone)
+ {
+ switch ( status )
+ {
+ case EPSCTsyCallStateUninitialized:
+ case EPSCTsyCallStateNone:
+ {
+
+ TInt keyGuardSetting;
+ iSlideRepository->Get( KSlideKeyguard, keyGuardSetting );
+ switch( ( TSlideSettingKeyguard ) keyGuardSetting )
+ {
+ case ESlideSettingsKeyguardActivatingOn:
+ iKeylock->EnableKeyLock();
+ break;
+ case ESlideSettingsKeyguardActivatingAskMe:
+ iKeylock->OfferKeyLock();
+ break;
+ case ESlideSettingsKeyguardActivatingOff:
+ //do nothing
+ break;
+ case ESlideSettingsKeyguardActivatingAutomatic:
+ if( iKeypadWasLocked )
+ {
+ iKeylock->EnableKeyLock();
+ }
+ break;
+ }
+ }
+ default: // any other state
+ break;
+ }
+ }
}
// apply default light control
iCallback.ExecCommandL( MSysapCallback::EUpdateLights, TUpdateLightsBuf(EKeyGripClose) );