uifw/AvKon/src/AknKeyLock.cpp
branchRCL_3
changeset 56 d48ab3b357f1
parent 55 aecbbf00d063
equal deleted inserted replaced
55:aecbbf00d063 56:d48ab3b357f1
    35 #endif
    35 #endif
    36 #include <avkondomainpskeys.h>      // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
    36 #include <avkondomainpskeys.h>      // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
    37 #include <e32property.h>
    37 #include <e32property.h>
    38 #include "aknkeylock.h"
    38 #include "aknkeylock.h"
    39 #include "AknNotifierController.h"
    39 #include "AknNotifierController.h"
    40 #include <keyguardaccessapi.h>
       
    41 #include <devicelockaccessapi.h>
       
    42 
    40 
    43 // RAknKeyLock
    41 // RAknKeyLock
    44 
    42 
    45 EXPORT_C void RAknKeyLock::EnableKeyLock()
    43 EXPORT_C void RAknKeyLock::EnableKeyLock()
    46 	{
    44 	{
    60 
    58 
    61 
    59 
    62 EXPORT_C TBool RAknKeyLock::IsKeyLockEnabled()
    60 EXPORT_C TBool RAknKeyLock::IsKeyLockEnabled()
    63 	{
    61 	{
    64 	TInt value;
    62 	TInt value;
    65 	/*
       
    66 	TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
    63 	TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
    67 	if ( err != KErrNone ) 
    64 	if ( err != KErrNone ) 
    68 	    return EFalse;
    65 	    return EFalse;
    69 	switch( value ) 
    66 	switch( value ) 
    70 	    {
    67 	    {
    73 	        return ETrue;
    70 	        return ETrue;
    74 	    case EKeyguardNotActive:
    71 	    case EKeyguardNotActive:
    75 	    default:
    72 	    default:
    76 	        return EFalse;
    73 	        return EFalse;
    77 	    }
    74 	    }
    78 	*/
       
    79 
       
    80 	TInt valueKeyguard;
       
    81 	CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
    82 	valueKeyguard = iKeyguardAccess->IsKeyguardEnabled( );
       
    83 	delete iKeyguardAccess;
       
    84 
       
    85 	TInt valueDevicelock;
       
    86 	CDevicelockAccessApi* iDevicelockAccess = CDevicelockAccessApi::NewL( );
       
    87 	valueDevicelock = iDevicelockAccess->IsDevicelockEnabled( );
       
    88 	delete iDevicelockAccess;
       
    89 
       
    90 	value = EFalse;
       
    91 	if( valueKeyguard || valueDevicelock )
       
    92 		value = ETrue;
       
    93 	return value;
       
    94 	}
    75 	}
    95 
    76 
    96 EXPORT_C void RAknKeyLock::EnableSoftNotifications(TBool aEnable)
    77 EXPORT_C void RAknKeyLock::EnableSoftNotifications(TBool aEnable)
    97 	{
    78 	{
    98     AknNotifierController::HideAllNotifications(!aEnable);
    79     AknNotifierController::HideAllNotifications(!aEnable);
   120 	SendMessage(EEnableWithoutNote);
   101 	SendMessage(EEnableWithoutNote);
   121 	}
   102 	}
   122 
   103 
   123 void RAknKeyLock::SendMessage(TKeyLockNotifierReason aMessage)
   104 void RAknKeyLock::SendMessage(TKeyLockNotifierReason aMessage)
   124 	{
   105 	{
   125 
       
   126 		switch(aMessage)
       
   127 		{
       
   128 			case ELockEnabled:
       
   129 				{
       
   130 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   131 				iKeyguardAccess->EnableKeyguard( ETrue );
       
   132 				delete iKeyguardAccess;
       
   133 				}
       
   134 				break;
       
   135 			case EEnableWithoutNote:
       
   136 				{
       
   137 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   138 				iKeyguardAccess->EnableKeyguard( EFalse );
       
   139 				delete iKeyguardAccess;
       
   140 				}
       
   141 				break;
       
   142 			case ELockDisabled:
       
   143 				{
       
   144 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   145 				iKeyguardAccess->DisableKeyguard( ETrue );
       
   146 				delete iKeyguardAccess;
       
   147 				}
       
   148 				break;
       
   149 			case EDisableWithoutNote:
       
   150 				{
       
   151 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   152 				iKeyguardAccess->DisableKeyguard( EFalse );
       
   153 				delete iKeyguardAccess;
       
   154 				}
       
   155 				break;
       
   156 			case EOfferKeylock:
       
   157 				{
       
   158 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   159 				iKeyguardAccess->OfferKeyguard( );
       
   160 				delete iKeyguardAccess;
       
   161 				}
       
   162 				break;
       
   163 			case EEnableAutoLockEmulation:
       
   164 				{
       
   165 				CDevicelockAccessApi* iDevicelockAccess = CDevicelockAccessApi::NewL( );
       
   166 				iDevicelockAccess->OfferDevicelock( );	// TODO maybe EnableDevicelock ?
       
   167 				delete iDevicelockAccess;
       
   168 				}
       
   169 				break;
       
   170 			default:
       
   171 				{
       
   172 				}
       
   173 				break;
       
   174 		}
       
   175 	/*
       
   176 	This is the old method. Not used anymore because now KeyguardAccessApi and DeviceLockAccessApi send the requests to Autolock
       
   177 	
       
   178 	TPckgBuf<SAknNotifierPackage<SAknKeyLockNotifierParams> > data;
   106 	TPckgBuf<SAknNotifierPackage<SAknKeyLockNotifierParams> > data;
   179 	TRequestStatus status;
   107 	TRequestStatus status;
   180 	data().iParamData.iReason = aMessage;
   108 	data().iParamData.iReason = aMessage;
   181 	StartNotifierAndGetResponse(status,KAknKeyLockNotifierUid, data, data);
   109 	StartNotifierAndGetResponse(status,KAknKeyLockNotifierUid, data, data);
   182 	User::WaitForRequest(status);
   110 	User::WaitForRequest(status);
   183 	CancelNotifier(KAknKeyLockNotifierUid);
   111 	CancelNotifier(KAknKeyLockNotifierUid);
   184 	*/
       
   185 	}
   112 	}
   186 
   113 
   187 // RAknKeyLock2
   114 // RAknKeyLock2
   188 
   115 
   189 EXPORT_C TInt RAknKeylock2::Connect()
   116 EXPORT_C TInt RAknKeylock2::Connect()