securitydialogs/lockapp/src/lockappdevicelockcontrol.cpp
branchRCL_3
changeset 21 09b1ac925e3f
parent 20 63339781d179
child 22 03674e5abf46
--- a/securitydialogs/lockapp/src/lockappdevicelockcontrol.cpp	Thu Aug 19 10:45:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1178 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Devicelock UI
- *
-*/
-
-
-#include "lockappdevicelockcontrol.h"
-#include "lockappdevicelockcontainer.h"
-#include "lockappstatecontrolinterface.h"
-#include "lockapppubsubobserver.h"
-#include "lockappcenrepobserver.h"
-#include "lockapputils.h"
-#include "lockappwait.h"
-#include "lockappkeycapturecontroller.h"
-
-#include <lockapp.rsg> // general avkon resources
-#include <avkon.rsg> // general avkon resources
-#include <aknnotpi.rsg> // keyguard spesific resources
-#include <AknUtils.h>
-#include <akntitle.h> // CAknTitlePane
-#include <activitymanager.h>
-#include <e32property.h>
-#include <etelmm.h>
-#include <mmtsy_names.h>
-#include <featmgr.h>
-#include <secui.h>
-#include <secuisecurityhandler.h>
-
-#include <settingsinternalcrkeys.h>  // KSettingsAutolockStatus
-#include <coreapplicationuisdomainpskeys.h>
-#include <securityuisprivatepskeys.h>
-#include <startupdomainpskeys.h>
-#include <startupdomaincrkeys.h>
-#include <ctsydomainpskeys.h>
-
-#ifdef __SAP_TERMINAL_CONTROL_FW
-#include <SCPClient.h>
-#endif // __SAP_TERMINAL_CONTROL_FW
-
-const TInt KAutoDeviceLockOff( 60000 );
-const TInt KPhoneIndex( 0 );
-const TInt KTriesToConnectServer( 2 );
-const TInt KTimeBeforeRetryingServerConnection( 50000 );
-
-// ---------------------------------------------------------------------------
-// Standard Symbian OS construction sequence
-// ---------------------------------------------------------------------------
-CLockAppDevicelockControl* CLockAppDevicelockControl::NewL(MLockAppStateControl& aStateControl, RWindowGroup& aWg )
-    {
-    CLockAppDevicelockControl* self = new (ELeave) CLockAppDevicelockControl( aStateControl );
-    INFO_4( "%s %s (%u) self=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, self );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aWg );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor passes the reference to the main state control.
-// ---------------------------------------------------------------------------
-CLockAppDevicelockControl::CLockAppDevicelockControl(MLockAppStateControl& aStateControl) :
-    CLockAppBaseControl(aStateControl), iShowingSecCodeQuery(EFalse)
-    {
-    	INFO_4( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-CLockAppDevicelockControl::~CLockAppDevicelockControl( )
-    {
-    	INFO_4( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-
-    /*****************************************************
-    *    S60 Customer / ETel
-    *    S60  ETel API
-    *****************************************************/
-    /*****************************************************
-    *    S60 Customer / TSY
-    *    Needs customer TSY implementation
-    *****************************************************/
-    INFO_4( "%s %s (%u) iCustomPhoneInitialized=%x -> -1 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iCustomPhoneInitialized );
-    iCustomPhoneInitialized=-1;
-    if ( iCustomPhone.SubSessionHandle( ) )
-        {
-        iCustomPhone.Close( );
-        INFO_4( "%s %s (%u) iCustomPhoneInitialized=%x -> -2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iCustomPhoneInitialized );
-        iCustomPhoneInitialized=-2;
-        }
-
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> -1 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=-1;
-    if ( iPhone.SubSessionHandle( ) )
-        {
-        iPhone.Close( );
-        INFO_4( "%s %s (%u) iPhoneInitialized=%x -> -2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-				iPhoneInitialized=-2;
-        }
-
-    INFO_4( "%s %s (%u) iTelServerInitialized=%x -> -1 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-    iTelServerInitialized=-1;
-    if ( iTelServer.Handle( ) )
-        {
-        iTelServer.UnloadPhoneModule( KMmTsyModuleName );
-        iTelServer.Close( );
-        INFO_4( "%s %s (%u) iTelServerInitialized=%x -> -2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-        iTelServerInitialized=-2;
-        }
-    if ( iActivityManager )
-        {
-        iActivityManager->Cancel( );
-        delete iActivityManager;
-        iActivityManager = NULL;
-        }
-    // CenRep observers
-    if ( iCRAutoLockTime )
-        {
-        delete iCRAutoLockTime;
-        iCRAutoLockTime = NULL;
-        }
-    if ( iCRAutoLockStatus )
-        {
-        delete iCRAutoLockStatus;
-        iCRAutoLockStatus = NULL;
-        }
-    // PuSub observers
-    if ( iPSAutolockState )
-        {
-        delete iPSAutolockState;
-        iPSAutolockState = NULL;
-        }
-    if ( iContainer )
-        {
-        delete iContainer;
-        iContainer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Devicelock UI constructor reserves localized resources, configures itself
-// using CenRep and FeatureManager and reserves child controls.
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::ConstructL( RWindowGroup& aWg )
-    {
-    INFO( "CLockAppDevicelockControl::ConstructL started" );
-    CLockAppBaseControl::ConstructL( );
-
-    // feature manager is used for determining if the phone is a slider
-    FeatureManager::InitializeLibL( );
-    iFeatureProtocolCdma = FeatureManager::FeatureSupported( KFeatureIdProtocolCdma );
-    INFO_1("CLockAppDevicelockControl::ConstructL - iFeatureProtocolCdma: %d", iFeatureProtocolCdma);
-    FeatureManager::UnInitializeLib( );
-
-    // Cba control
-    iCba = CEikButtonGroupContainer::NewL( CEikButtonGroupContainer::ECba,
-            CEikButtonGroupContainer::EHorizontal, this,
-            R_KEYLOCK_SOFTKEYS_UNLOCK_EMPTY );
-
-    TRect screenRect;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
-    iCba->SetBoundingRect( screenRect );
-    iCba->MakeVisible( EFalse );
-
-    // Set up the status pane
-    CEikStatusPane* sp = iAvkonAppUi->StatusPane();
-    if ( sp )
-        {
-        // Switch the layout to show analog clock
-        TRAPD(err, sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_IDLE ) )
-        ERROR(err, "CLockAppDevicelockControl::ConstructL - failed to switch status pane layout");
-        if ( sp->PaneCapabilities(TUid::Uid(EEikStatusPaneUidTitle)).IsPresent( ) )
-            {
-            // Get the title pane control from status pane
-            CAknTitlePane* titlePane = NULL;
-            TRAPD(err2, titlePane = static_cast<CAknTitlePane*>( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle) ) ) )
-            ERROR(err2, "CLockAppDevicelockControl::ConstructL - failed to get status title pane");
-            if ( titlePane )
-                {
-                // Read localized "Locked" text from resource.
-                HBufC* lockedString = iCoeEnv->AllocReadResourceL( R_TITLE_PANE_LOCKED );
-                // Set as title pane text - titlepane takes ownership of the string
-                titlePane->SetText( lockedString );
-                }
-            }
-        }
-
-    INFO( "CLockAppDevicelockControl::ConstructL completed" );
-    }
-
-void CLockAppDevicelockControl::ConnectToPhoneL( RWindowGroup& aWg )
-		{
-    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - connecting to etel server" );
-    // All server connections are tried to be made KTiesToConnectServer times because
-    // occasional fails on connections are possible at least on some servers
-    TInt err( KErrGeneral);
-    TInt thisTry( 0);
-    while ( ( err = iTelServer.Connect() ) != KErrNone && ( thisTry++ ) <= KTriesToConnectServer )
-        {
-        User::After( KTimeBeforeRetryingServerConnection );
-        }
-    ERROR(err, "CLockAppDevicelockControl::ConnectToPhoneL - connecting to etel server");
-    User::LeaveIfError( err );
-    INFO_4( "%s %s (%u) iTelServerInitialized=%x -> 2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-    iTelServerInitialized=2;
-
-
-    /*****************************************************
-    *    S60 Customer / ETel
-    *    S60  ETel API
-    *****************************************************/
-    /*****************************************************
-    *    S60 Customer / TSY
-    *    Needs customer TSY implementation
-    *****************************************************/
-    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - loading TSY");
-    err = iTelServer.LoadPhoneModule( KMmTsyModuleName );
-    if ( err != KErrAlreadyExists )
-        {
-        // may return also KErrAlreadyExists if some other
-        // is already loaded the tsy module. And that is not an error.
-        ERROR(err, "CLockAppDevicelockControl::ConnectToPhoneL - loading TSY");
-        User::LeaveIfError( err );
-        }
-    INFO_4( "%s %s (%u) iTelServerInitialized=%x -> 3 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-    iTelServerInitialized=3;
-
-    /*****************************************************
-    *    S60 Customer / ETel
-    *    S60  ETel API
-    *****************************************************/
-    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - opening phone");
-    RTelServer::TPhoneInfo PhoneInfo;
-    User::LeaveIfError( iTelServer.SetExtendedErrorGranularity( RTelServer::EErrorExtended ) );
-    INFO_4( "%s %s (%u) iTelServerInitialized=%x -> 5 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-    iTelServerInitialized=5;
-    User::LeaveIfError( iTelServer.GetPhoneInfo( KPhoneIndex, PhoneInfo ) );
-    INFO_4( "%s %s (%u) iTelServerInitialized=%x -> 6 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iTelServerInitialized );
-    iTelServerInitialized=6;
-    User::LeaveIfError( iPhone.Open( iTelServer, PhoneInfo.iName ) );
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=2;
-    User::LeaveIfError( iCustomPhone.Open( iPhone ) );
-		INFO_4( "%s %s (%u) iCustomPhoneInitialized=%x -> 2 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iCustomPhoneInitialized );
-		iCustomPhoneInitialized=2;
-
-    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - phone opened");
-
-
-    TBool systemLocked(EFalse);
-
-    // Set up CenRep observers
-    iCRAutoLockTime = CLockAppCenRepObserver::NewL(this, KCRUidSecuritySettings, KSettingsAutoLockTime);
-    iCRAutoLockStatus = CLockAppCenRepObserver::NewL(this, KCRUidSecuritySettings, KSettingsAutolockStatus);
-
-    #ifndef __WINS__
-
-    /*****************************************************
-    *    S60 Customer / ETel
-    *    S60 ETel API
-    *****************************************************/
-
-    RMobilePhone::TMobilePhoneLock lockType = RMobilePhone::ELockPhoneDevice;
-    RMobilePhone::TMobilePhoneLockInfoV1 lockInfo;
-    RMobilePhone::TMobilePhoneLockInfoV1Pckg lockInfoPkg(lockInfo);
-
-    TRequestStatus getLockInfoStatus;
-    iPhone.GetLockInfo( getLockInfoStatus, lockType, lockInfoPkg );
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 3 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=3;
-    User::WaitForRequest( getLockInfoStatus );
-
-    TInt lockValue(0);
-    TInt cRresult = iCRAutoLockStatus->GetValue( lockValue );
-    INFO_2( "CLockAppDevicelockControl::ConnectToPhoneL - CR autolockstatus=%d , res=%d", lockValue, cRresult);
-    TBool hiddenReset = IsHiddenReset( );
-    INFO_1( "CLockAppDevicelockControl::ConnectToPhoneL - hiddenReset=%d", hiddenReset );
-    if ( lockInfo.iSetting == RMobilePhone::ELockSetDisabled )
-        {
-        INFO( "CLockAppDevicelockControl::ConnectToPhoneL - ELockSetDisabled");
-        iCRAutoLockTime->SetValue( 0 );
-        if ( iFeatureProtocolCdma )
-            {
-            iCRAutoLockTime->SetKeyValue( KSettingsLockOnPowerUp, 0 );
-            }
-        }
-    else
-        {
-        if ( iFeatureProtocolCdma || (hiddenReset && (lockValue == 1)) )
-            {
-            // In CDMA, the system can stay locked on after the boot-up sequence.
-            INFO( "CLockAppDevicelockControl::ConnectToPhoneL - Hidden reset when locked");
-            systemLocked = ETrue;
-            }
-        }
-    #endif //__WINS__
-
-    // Create devicelock UI container
-    INFO_1( "CLockAppDevicelockControl::ConnectToPhoneL - creating CLockAppDevicelockContainer=%d", 1 );
-    iContainer = CLockAppDevicelockContainer::NewL( aWg );
-    INFO_1( "CLockAppDevicelockControl::ConnectToPhoneL - creating CLockAppDevicelockContainer=%d done", 1 );
-
-    INFO_1( "CLockAppDevicelockControl::ConnectToPhoneL - creating DefinePubSubKeysL=%d", 1 );
-    DefinePubSubKeysL( );
-    INFO_1( "CLockAppDevicelockControl::ConnectToPhoneL - creating DefinePubSubKeysL=%d", 1 );
-
-    // The following sequence is used to validate the configuration on SCP server.
-    // This is needed on the first boot (initial or RFS) or if the C-drive
-    // has been formatted (3-button format) and Autolock is not active.
-#ifdef __SAP_TERMINAL_CONTROL_FW
-		// This seems to be defined always.
-    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - Validate SCP Config" );
-    RSCPClient scpClient;
-    if ( scpClient.Connect() == KErrNone )
-        {
-        CleanupClosePushL( scpClient );
-        TInt confStatus = scpClient.CheckConfiguration( KSCPInitial );
-        if ( confStatus == KErrAccessDenied )
-            {
-#ifndef __WINS__
-            if ( ( lockInfo.iSetting == RMobilePhone::ELockSetDisabled ) )
-#else // __WINS__
-            if ( ETrue ) // DOS lock is never active in WINS
-#endif // __WINS__
-                {
-                // DOS lock is not active. Note that if DOS is locked, checking the code here will
-                // mess up the query sequence. On initial startup DOS is not locked.
-                TInt finalConfStatus = scpClient.CheckConfiguration( KSCPComplete );
-                if ( finalConfStatus == KErrAccessDenied )
-                    {
-#ifdef __WINS__
-                    ERROR(finalConfStatus, "CLockAppDevicelockControl::ConnectToPhoneL - DOS validation FAILED in WINS!");
-#else // !__WINS__
-                    // The SCP server is out of sync and Autolock is not active. (c-drive formatted)
-                    // We must ask the security code. ( Note that it is very rare that this is executed )
-                    INFO( "CLockAppDevicelockControl::ConnectToPhoneL - Lock setting disabled, calling setlocksetting");
-
-                    // Wait here until the startup is complete
-                    TInt tarmErr(KErrNone);
-                    while ( tarmErr == KErrNone )
-                        {
-                        TInt sysState;
-                        tarmErr = RProperty::Get(KPSUidStartup, KPSGlobalSystemState, sysState);
-                        if ((sysState == ESwStateNormalRfOn) ||
-                            (sysState == ESwStateNormalRfOff) ||
-                            (sysState == ESwStateNormalBTSap))
-                            {
-                            break;
-                            }
-                        User::After(500000); // half a second
-                        }
-
-                    // Just change the lock setting again to disabled to request the security code.
-                    // Set the TARM flag so SecUi knows it should display the "login" query.
-                    TInt tarmFlag;
-                    TInt tRet = RProperty::Get( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag );
-                    if ( tRet == KErrNone )
-                        {
-                        tarmFlag |= KSCPFlagResyncQuery;
-                        tRet = RProperty::Set( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag );
-                        }
-                    ERROR(tRet, "CLockAppDevicelockControl::ConnectToPhoneL - FAILED to set TARM Admin Flag" );
-
-                    TRequestStatus setLockSettingStatus;
-                    RMobilePhone::TMobilePhoneLockSetting lockChange = RMobilePhone::ELockSetDisabled;
-                    iPhone.SetLockSetting( setLockSettingStatus, lockType, lockChange );
-                    User::WaitForRequest( setLockSettingStatus );
-#endif // __WINS__
-                    }
-                }
-            }
-        CleanupStack::PopAndDestroy(); // calls Close() on scpClient
-        }
-#endif // __SAP_TERMINAL_CONTROL_FW
-
-    // Set up P&S observers
-    iPSAutolockState = CLockAppPubSubObserver::NewL( this, KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus );
-
-    if ( systemLocked )
-        {
-        INFO( "CLockAppDevicelockControl::ConnectToPhoneL - Lock system");
-        INFO_4( "%s %s (%u) 1=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 );
-        iStateControl.EnableDevicelockL( EDevicelockManual );
-        INFO( "CLockAppDevicelockControl::ConnectToPhoneL - Lock system. Done");
-        }
-
-    // Activity manager
-    iActivityManager = CUserActivityManager::NewL( CActive::EPriorityStandard );
-    StartActivityMonitoringL( );
-
-    // Setup key pattern matcher
-    if ( !SetupKeyPatternsWithPolicyL( EPolicyDevicelockQuery ) )
-        {
-        INFO( "CLockAppDevicelockControl::ConnectToPhoneL - No CenRep policy defined" );
-        iKeyPattern->AddPattern( EStdKeyDevice0, 0 ); // '0' = second key code doesnt matter
-        }
-#ifdef __WINS__
-    iKeyPattern->AddPattern( EStdKeyDevice0, 0 ); // LSK + *
-#endif
-
-    INFO( "CLockAppDevicelockControl::ConstructL completed" );
-    }
-
-// ---------------------------------------------------------------------------
-// Define internal P&S autolock status key
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::DefinePubSubKeysL()
-    {
-    INFO( "CLockAppDevicelockControl::DefinePubSubKeysL" );
-
-    // Create the write policy. Also processes with write device data can write the value.
-    TSecurityPolicy writePolicy( ECapabilityWriteDeviceData );
-    // Create the read policy. Also processes with read device data can read the value.
-    TSecurityPolicy readPolicy( ECapabilityReadDeviceData );
-
-    TInt ret = RProperty::Define( KPSUidSecurityUIs,
-            KSecurityUIsSecUIOriginatedQuery, RProperty::EInt, readPolicy, writePolicy );
-    ERROR(ret, "CLockAppDevicelockControl::DefinePubSubKeysL - FAILED to define the SECUI query Flag");
-
-    ret = RProperty::Define( KPSUidSecurityUIs,
-            KSecurityUIsQueryRequestCancel, RProperty::EInt, readPolicy, writePolicy );
-    ERROR(ret, "CLockAppDevicelockControl::DefinePubSubKeysL - FAILED to define the SECUI query request state Flag");
-
-    _LIT_SECURITY_POLICY_PASS(KReadPolicy);
-    _LIT_SECURITY_POLICY_C1(KWritePolicy, ECapabilityWriteDeviceData);
-    ret = RProperty::Define( KPSUidCoreApplicationUIs,
-            KCoreAppUIsAutolockStatus, RProperty::EInt, KReadPolicy, KWritePolicy);
-    RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff);
-    if (ret != KErrAlreadyExists)
-        {
-        ERROR(ret, "CLockAppDevicelockControl::DefinePubSubKeysL - FAILED to set autolock status");
-        User::LeaveIfError(ret);
-        }
-
-    #ifdef __SAP_TERMINAL_CONTROL_FW
-    // Define the TARM admin flag.
-    ret = RProperty::Define( KSCPSIDAutolock,
-            SCP_TARM_ADMIN_FLAG_UID, RProperty::EInt, readPolicy, writePolicy );
-    ERROR(ret, "CLockAppDevicelockControl::DefinePubSubKeysL - FAILED to define the TARM Admin Flag");
-    #endif // __SAP_TERMINAL_CONTROL_FW
-    }
-
-// ----------------------------------------------------------
-// Checks whether we are booting from a Hidden Reset
-// ----------------------------------------------------------
-TBool CLockAppDevicelockControl::IsHiddenReset( )
-    {
-    	    	INFO_4( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-
-    TBool ret( EFalse );
-    TInt startupReason( ENormalStartup );
-    TInt err( KErrNone);
-    err = RProperty::Get( KPSUidStartup, KPSStartupReason, startupReason );
-    ERROR(err, "CLockAppDevicelockControl::IsHiddenReset - error getting startup reason" );
-    ret = (startupReason != ENormalStartup);
-    INFO_1( "CLockAppDevicelockControl::IsHiddenReset = %d", ret );
-		#ifdef _DEBUG
-			// test to simulate HiddenReset
-			RFs fs;
-			_LIT(KTestHiddenReset,"f:\\TestHiddenReset.txt");
-			RFile file;
-			User::LeaveIfError(fs.Connect());
-			err=file.Open(fs, KTestHiddenReset, EFileStreamText|EFileRead|EFileShareReadersOnly);
-			if(err==KErrNone)
-				{
-				INFO_4( "%s %s (%u) ??? TestHiddenReset=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 );
-				ret = ETrue;
-				}
-			file.Close();
-			fs.Close();
-		#endif
-    return ret;
-    }
-
-// ----------------------------------------------------------
-// Checks whether PIN1/UPIN is blocked
-// ----------------------------------------------------------
-TBool CLockAppDevicelockControl::IsPinBlocked( )
-    {
-    INFO( "CLockAppDevicelockControl::IsPinBlocked" );
-    TBool ret( EFalse );
-    RMmCustomAPI::TSecurityCodeType secCodeType;
-#if defined(__PROTOCOL_WCDMA) || defined(__UPIN)
-    RMobilePhone::TMobilePhoneSecurityCode activePin;
-    iCustomPhone.GetActivePin( activePin );
-    if ( activePin == RMobilePhone::ESecurityUniversalPin )
-        secCodeType = RMmCustomAPI::ESecurityUniversalPin;
-    else
-        secCodeType = RMmCustomAPI::ESecurityCodePin1;
-#else
-    secCodeType = RMmCustomAPI::ESecurityCodePin1;
-#endif //(__PROTOCOL_WCDMA) || defined(__UPIN)
-    iCustomPhone.IsBlocked( secCodeType, ret );
-    INFO_1( "CLockAppDevicelockControl::IsPinBlocked = %d", ret );
-    return ret;
-    }
-
-// ----------------------------------------------------------
-// Try to get (and optionally unset) the TARM Admin Flag
-// ----------------------------------------------------------
-TBool CLockAppDevicelockControl::TarmAdminFlag( TBool unSetFlag )
-    {
-    INFO_1( "CLockAppDevicelockControl::TarmAdminFlag(unSet = %d)", unSetFlag );
-    TBool ret(EFalse);
-#ifdef __SAP_TERMINAL_CONTROL_FW
-    // Get the TARM admin flag value
-    TInt tarmFlag;
-    TInt err = RProperty::Get( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag );
-    if ( err != KErrNone )
-        {
-        ERROR(err, "CLockAppDevicelockControl::TarmAdminFlag - Failed to get TARM flag" );
-        }
-    else
-        {
-        INFO_1( "CLockAppDevicelockControl::TarmAdminFlag - TARM flag: %d", tarmFlag );
-        }
-
-    if ( tarmFlag & KSCPFlagAdminLock )
-        {
-        ret = ETrue;
-        // Unset the TARM admin flag if set
-        if ( unSetFlag )
-            {
-            tarmFlag &= ~KSCPFlagAdminLock;
-            err = RProperty::Set( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag );
-            ERROR(err, "CLockAppDevicelockControl::TarmAdminFlag - FAILED to unset TARM flag" );
-            }
-        }
-#endif // __SAP_TERMINAL_CONTROL_FW
-    INFO_1( "CLockAppDevicelockControl::TarmAdminFlag = %d", ret );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Check ETEL lock info and ask sec code if neccessary
-// ---------------------------------------------------------------------------
-TBool CLockAppDevicelockControl::ETelActivationAllowed( )
-    {
-    INFO( "CLockAppDevicelockControl::ETelActivationAllowed" );
-    TBool ret(EFalse);
-#ifdef __WINS__
-    ret = ETrue;
-#else //__WINS__
-
-    /*****************************************************
-    *    S60 Customer / ETel
-    *    S60  ETel API
-    *****************************************************/
-
-
-		INFO_4( "%s %s (%u) 111 value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-
-    // INFO_4( "%s %s (%u) iStateControl=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, iStateControl );
-
-		INFO_4( "%s %s (%u) checking iPhoneInitialized=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 4 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=4;
-
-    RMobilePhone::TMobilePhoneLock lockType = RMobilePhone::ELockPhoneDevice;
-    RMobilePhone::TMobilePhoneLockInfoV1 lockInfo;
-    RMobilePhone::TMobilePhoneLockInfoV1Pckg lockInfoPkg(lockInfo);
-    RMobilePhone::TMobilePhoneLockSetting lockChange(RMobilePhone::ELockSetDisabled);
-
-		INFO_4( "%s %s (%u) before getLockInfoStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-    TRequestStatus getLockInfoStatus;
-		INFO_4( "%s %s (%u) after getLockInfoStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 );
-		
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 5 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=5;
-    iPhone.GetLockInfo( getLockInfoStatus, lockType, lockInfoPkg );
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 6 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=6;
-    User::WaitForRequest( getLockInfoStatus );
-
-    INFO_1( "CLockAppDevicelockControl::ETelActivationAllowed - GetLockInfo status: %d ", getLockInfoStatus.Int() );
-    if ( getLockInfoStatus.Int( )== KErrNone )
-        {
-        if ( lockInfo.iSetting == RMobilePhone::ELockSetDisabled )
-            {
-            // ask code
-            INFO( "CLockAppDevicelockControl::ETelActivationAllowed - ETel ELockSetDisabled, Ask Code" );
-            // Raise a flag to indicate that the UPIN request coming from ETEL
-            // has originated from SecUi and not from Engine.
-            RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsSystemLockOriginated );
-            TRequestStatus setLockSettingStatus;
-            lockChange = RMobilePhone::ELockSetEnabled;
-            iPhone.SetLockSetting( setLockSettingStatus, lockType, lockChange );
-            User::WaitForRequest( setLockSettingStatus );
-            INFO_1( "CLockAppDevicelockControl::ETelActivationAllowed - SetLockSetting status: %d ", setLockSettingStatus.Int() );
-            // Lower the flag
-            RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsETelAPIOriginated );
-            if (setLockSettingStatus.Int() == KErrNone)
-                {
-                ret = ETrue;
-                }
-            }
-        else
-            {
-            INFO( "CLockAppDevicelockControl::ETelActivationAllowed - Lock System Ok" );
-            ret = ETrue;
-            }
-        }
-    else
-        {
-        INFO( "CLockAppDevicelockControl::ETelActivationAllowed - Error getting LockInfo - Ask code (SLS)" );
-        // Raise a flag to indicate that the UPIN request coming from ETEL
-        // has originated from SecUi and not from Engine.
-        RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsSystemLockOriginated );
-        TRequestStatus setLockSettingStatus;
-        lockChange = RMobilePhone::ELockSetEnabled;
-				INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 8 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-				iPhoneInitialized=8;
-        iPhone.SetLockSetting( setLockSettingStatus, lockType, lockChange );
-				INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 9 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-				iPhoneInitialized=9;
-        User::WaitForRequest(setLockSettingStatus);
-        INFO_1( "CLockAppDevicelockControl::ETelActivationAllowed - SetLockSetting status: %d ", setLockSettingStatus.Int() );
-        // Lower the flag
-        RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsETelAPIOriginated );
-        if (setLockSettingStatus.Int() == KErrNone)
-            {
-            ret = ETrue;
-            }
-        }
-#endif
-    INFO_1( "CLockAppDevicelockControl::ETelActivationAllowed = %d", ret );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Check weather its allowed to activate the control
-// ---------------------------------------------------------------------------
-TBool CLockAppDevicelockControl::ActivationAllowedL( TDevicelockReason aReason )
-    {
-    INFO_1( "CLockAppDevicelockControl::ActivationAllowedL aReason= %d", aReason );
-    
-    if (aReason==ETimerLocked)
-    	{
- 			 { // REQ 414-5466 Prevention of device lock in context of Hands Free Voice UI
-	     TInt vuiValue = 0;
-	     TUid KHFVuiModePSUid = { 0x102818E7 };
-	     enum THFVuiModePSKeys
-	         {
-	         EHFVuiPSModeId = 1000
-	         };
-	     TInt tRet = RProperty::Get(KHFVuiModePSUid, EHFVuiPSModeId, vuiValue);  // also 0 if can't get because permissions or because doesn't exists
-	     #if defined(_DEBUG)
-	         INFO_4( "%s %s (%u) getting KHFVuiModePSUid+EHFVuiPSModeId=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, tRet );
-	         INFO_4( "%s %s (%u) vuiValue=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, vuiValue );
-	     #endif
-	     if(vuiValue)
-	         {
-	         #if defined(_DEBUG)
-	         RDebug::Print(_L("(LOCKAPP)CLockAppDevicelockControl::ActivationAllowedL() Voice functions active. No locking possible."));
-	         #endif
-	         return EFalse;
-	         }
-	     }
-	     { // if another query is displayed, the future un-lock query will crash. Don't allow time-lock in this case.
-	     TInt secQueryStatus = ESecurityQueryUninitialized;
-	     TInt tRet = RProperty::Get(KPSUidStartup, KStartupSecurityCodeQueryStatus, secQueryStatus);  // also 0 if can't get because permissions or because doesn't exists
-	     #if defined(_DEBUG)
-	         INFO_4( "%s %s (%u) getting KPSUidStartup+KStartupSecurityCodeQueryStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, tRet );
-	         INFO_4( "%s %s (%u) secQueryStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, secQueryStatus );
-	     #endif
-	     if(secQueryStatus==ESecurityQueryActive)
-	         {
-	         #if defined(_DEBUG)
-	         RDebug::Print(_L("(LOCKAPP)CLockAppDevicelockControl::ActivationAllowedL() Asking some other security code. No locking possible."));
-	         #endif
-	         return EFalse;
-	         }
-	     }
-    	}
-    
-    TInt lightStatus=EForcedLightsUninitialized; 
-    RProperty::Get(KPSUidCoreApplicationUIs,KLightsVTForcedLightsOn,lightStatus ); 
-    //If display is forced on. don't lock 
-    if(lightStatus == EForcedLightsOn ) 
-        { 
-        #if defined(_DEBUG) 
-        RDebug::Print(_L("(LOCKAPP)CLockAppDevicelockControl::ActivationAllowedL() Display is forced on deivce not locked")); 
-        #endif 
-        return EFalse;
-        } 
-
-    // first check ETEL side - and ask sec code if needed
-    if ( !ETelActivationAllowed() )
-        {
-        return EFalse;
-        }
-
-    if ( IsPinBlocked( ) )
-        {
-        return EFalse;
-        }
-
-    TBool ret(EFalse);
-    TInt sysState(0);
-    RProperty::Get( KPSUidStartup, KPSGlobalSystemState, sysState );
-    //If NOT in CDMA the Autolock should come up only after the phone has booted up.
-    if ( iFeatureProtocolCdma || IsHiddenReset( ) )
-        {
-        if ( sysState == ESwStateNormalRfOn ||
-             sysState == ESwStateNormalRfOff ||
-             sysState == ESwStateCriticalPhaseOK )
-            {
-            INFO( "CLockAppDevicelockControl::ActivationAllowedL - Locked after Hidden Reset" );
-            ret = ETrue;
-            }
-        }
-    else
-        {
-        if ( sysState == ESwStateNormalRfOn || sysState == ESwStateNormalRfOff )
-            {
-            ret = ETrue;
-            }
-        }
-
-    if ( IsBitFieldSet( iStateControl.EnvironmentStatus( ), KLockAppEnvPhonecallOngoing ) && !TarmAdminFlag(EFalse) )
-        {
-        if ( aReason == EDevicelockRemote )
-            {
-            INFO( "CLockAppDevicelockControl::ActivationAllowedL - remote lock allowed" );
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Check weather its allowed to deactivate the control
-// ---------------------------------------------------------------------------
-TBool CLockAppDevicelockControl::DeActivationAllowedL()
-    {
-    if ( iShowingSecCodeQuery )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Set the devicelocking reason
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::SetLockingReason( TDevicelockReason aReason )
-    {
-#ifndef RD_REMOTELOCK
-    iPSAutolockState->SetKeyValue( EAutolockOn );
-#else
-    switch ( aReason )
-        {
-        case EDevicelockManual:
-            iPSAutolockState->SetKeyValue( EManualLocked );
-            break;
-        case EDevicelockRemote:
-            iPSAutolockState->SetKeyValue( ERemoteLocked );
-            break;
-        case EDevicelockTimer:
-            iPSAutolockState->SetKeyValue( ETimerLocked );
-            break;
-        default:
-            DoPanic( ELockIllegalState );
-        }
-#endif // RD_REMOTELOCK
-    }
-
-// ---------------------------------------------------------------------------
-// Activate control
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleActivateEventL( TUint aEnvMask )
-    {
-    INFO_1("CLockAppDevicelockControl::HandleActivateEventL - aEnvMask: %d", aEnvMask);
-    
-    CLockAppBaseControl::HandleActivateEventL( aEnvMask );
-
-    if ( IsBitFieldSet( aEnvMask, KLockAppEnvScreenSaverOn ) )
-        {
-        // if screensaver is on - capture primary keys
-        CapturePrimaryKeys( ETrue );
-        }
-    // capture keys
-    CLockAppKeyCaptureController::CaptureKey( EStdKeyApplication0, EKeyApplication0, EKeyCaptureAllEvents ); // App key
-    CLockAppKeyCaptureController::CaptureKey( EStdKeyDevice2, EKeyDevice2, EKeyCaptureAllEvents ); // Power key (for lights)
-    CLockAppKeyCaptureController::CaptureKey( EStdKeyDevice6, EKeyDevice6, EKeyCaptureAllEvents ); // Voice key (for lights)
-    CLockAppKeyCaptureController::CaptureKey( EStdKeyNo, EKeyNo, EKeyCaptureAllEvents ); // End key (for Rosetta lights)
-    CLockAppKeyCaptureController::CaptureKey( EStdKeyDeviceF, EKeyDeviceF, EKeyCaptureAllEvents ); // switch key (for touch devices)
-
-    SetPointerEventCapture( ETrue );
-    SetKeyguardIndicatorStateL( ETrue );
-    iContainer->MakeVisible( ETrue ); // maybe not needed - as its in different windowgroup
-    ShowCba( ETrue );
-    ShowStatusPane( ETrue );
-    // close task-list in case it is displayed : fast-swap window
-    iEikonEnv->DismissTaskList( );
-    iCRAutoLockStatus->SetValue( ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-// DeActivate control
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleDeActivateEventL( TUint aEnvMask )
-    {
-    INFO_1("CLockAppDevicelockControl::HandleDeActivateEventL - aEnvMask: %d", aEnvMask);
-    
-    CLockAppBaseControl::HandleDeActivateEventL( aEnvMask );
-
-    if ( IsBitFieldSet( aEnvMask, KLockAppEnvScreenSaverOn ) )
-        {
-        // if screensaver is on - uncapture primary keys
-        CapturePrimaryKeys( EFalse );
-        }
-
-    // uncapture keys
-    CLockAppKeyCaptureController::ReleaseKey( EStdKeyApplication0 );
-    CLockAppKeyCaptureController::ReleaseKey( EStdKeyDevice2 );
-    CLockAppKeyCaptureController::ReleaseKey( EStdKeyDevice6 );
-    CLockAppKeyCaptureController::ReleaseKey( EStdKeyNo );
-    CLockAppKeyCaptureController::ReleaseKey( EStdKeyDeviceF );
-    
-    SetPointerEventCapture( EFalse );
-    SetKeyguardIndicatorStateL( EFalse );
-    iContainer->MakeVisible( EFalse ); // maybe not needed - as its in different windowgroup
-    ShowCba( EFalse );
-    ShowStatusPane( EFalse );
-    iPSAutolockState->SetKeyValue( EAutolockOff );
-    iCRAutoLockStatus->SetValue( EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// Handle environment changes (Screensaver, Telephony, etc.)
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleEnvironmentChange( TUint aEnvMask, TUint aEventMask )
-    {
-    INFO_4( "%s %s (%u) aEnvMask=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aEnvMask );
-    INFO_4( "%s %s (%u) aEventMask=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aEventMask );
-
-    if ( IsBitFieldSet( aEventMask, KLockAppEnvScreenSaverOn ) )
-        {
-        // screen saver state changed
-        CapturePrimaryKeys( IsBitFieldSet( aEnvMask, KLockAppEnvScreenSaverOn ) );
-        }
-    if ( IsBitFieldSet( aEventMask, KLockAppEnvFPS ) )
-        {
-        TInt lockValue=0;
-    		iPSAutolockState->GetKeyValue( lockValue );
-    		INFO_4( "%s %s (%u) lockValue=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, lockValue );
-    		if(lockValue>EAutolockOff)	// device is locked and query is not open
-    			{
-    			// indicate to TARM that it should not ask for password
-    			TInt secUiOriginatedQuery(ESecurityUIsSecUIOriginatedUninitialized);
-    			RProperty::Get(KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, secUiOriginatedQuery);
-    			INFO_4( "%s %s (%u) secUiOriginatedQuery=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, secUiOriginatedQuery );
-    			RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsFpsOriginated );
-
-        	HandleUnlockCommandL( );
-    			RProperty::Set( KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, secUiOriginatedQuery );	// reset to initial
-        	}
-        else												// device needs to be locked. Same happens in keyguard control becasue probably this is never called
-        	iStateControl.EnableDevicelockL( EDevicelockManual );
-        }
-    if ( IsBitFieldSet( aEnvMask, KLockAppEnvGrip ) )
-    	{
-      INFO_4( "%s %s (%u) iShowingSecCodeQuery=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, iShowingSecCodeQuery );
-	    if ( IsBitFieldSet( aEventMask, KLockAppEnvGrip ) )	//Grip opened
-	        {
-	        if(iShowingSecCodeQuery==EFalse)
-	        	{
-	        		TInt lockValue=0;
-	        		iPSAutolockState->GetKeyValue( lockValue );
-	        		INFO_4( "%s %s (%u) lockValue=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, lockValue );
-	        		if(lockValue>EAutolockOff)
-	        			{
-				        // ask unlock code by sending the menu key. This works on touch?
-			        	TApaTaskList tasklist( iEikonEnv->WsSession() );
-			        	#define KAknCapServerUid TUid::Uid( 0x10207218 )
-			        	TApaTask capserver = tasklist.FindApp( KAknCapServerUid );
-    						INFO_4( "%s %s (%u) KAknCapServerUid=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, KAknCapServerUid );
-			        	if( capserver.Exists() )
-			        	    {
-	        	        INFO_4( "%s %s (%u) capserver.Exists() EStdKeyDevice0=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, EStdKeyDevice0 );
-			        	    TKeyEvent key;
-			        	    key.iCode = EKeyDevice0;
-			        	    key.iModifiers = 0;
-			        	    key.iRepeats = 0;
-			        	    key.iScanCode = EStdKeyDevice0;
-			        	    capserver.SendKey( key );
-			        	    }
-			        	}
-			       }
-        	}
-			else
-					{
-					if(iShowingSecCodeQuery==EFalse)
-	        	{
-            //the device lock query is on top
-	        	//generate cancel key event
-	        	const TInt KCancelKeyCode( 165 );
-	        	INFO_4( "%s %s (%u) KCancelKeyCode=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, KCancelKeyCode );
-
-	        	TRawEvent rawEvent;
-	        	rawEvent.Set( TRawEvent::EKeyDown, KCancelKeyCode );
-	        	iEikonEnv->WsSession().SimulateRawEvent( rawEvent );        	
-						}
-					}
-			}
-    }
-
-// ---------------------------------------------------------------------------
-// Handle all Central Repository observer callbacks.
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleCenRepNotify(TUid /*aCenRepUid*/, TUint32 aKeyId, TInt aValue )
-    {
-    INFO_4( "%s %s (%u) aKeyId=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aKeyId );
-    INFO_4( "%s %s (%u) aValue=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aValue );
-    switch ( aKeyId )
-        {
-        case KSettingsAutoLockTime:
-            {
-            INFO_1( "CLockAppDevicelockControl::HandleCenRepNotify - KSettingsAutoLockTime = %d", aValue );
-            ResetInactivityTimeout( );
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handle all Publish & Subscribe observer callbacks.
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandlePubSubNotify(TUid aPubSubUid, TUint aKeyId, TInt aValue )
-    {
-    INFO_4( "%s %s (%u) KPSUidCoreApplicationUIs=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, KPSUidCoreApplicationUIs );
-    INFO_4( "%s %s (%u) aKeyId=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aKeyId );
-    INFO_4( "%s %s (%u) aValue=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aValue );
-    if ( aPubSubUid == KPSUidCoreApplicationUIs )
-        {
-        switch ( aKeyId )
-            {
-            case KCoreAppUIsAutolockStatus:
-                {
-                INFO_1( "CLockAppDevicelockControl::HandlePubSubNotify - KCoreAppUIsAutolockStatus = %d", aValue );
-                // Autolock used to react to this PubSub key - but its unsafe and
-                // in future API will be used, and the key will be published by Lockapp
-                INFO_1( "CLockAppDevicelockControl::HandlePubSubNotify - nothing done. LockApp reacts only to API = %d", aValue );
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Devicelock UI key events are handled trough here.
-// ---------------------------------------------------------------------------
-TKeyResponse CLockAppDevicelockControl::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    INFO_4( "%s (%u) aKeyEvent.iCode=%x aType=%x", __FILE__, __LINE__, aKeyEvent.iCode, aType );
-    INFO_4( "%s %s (%u) iActive=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, iActive );
-    if ( iActive )
-        {
-    		if(AknLayoutUtils::PenEnabled())
-    			{
-    			if(aKeyEvent.iCode == EKeyDeviceF)	// any Type
-    				{
-    				HandleUnlockCommandL( );
-    				}
-    			}
-        if ( aType == EEventKeyDown )
-            {
-            if ( !iShowingSecCodeQuery )
-                {
-                switch ( iKeyPattern->HandleKeyEvent( aKeyEvent.iScanCode ) )
-                    {
-                    case EPatternPrimaryMatch:
-                        HandleUnlockCommandL( );
-                        break;
-                    default:
-                        break;
-                    }
-                }
-            }
-        }
-    return EKeyWasConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// Handle unlock command
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleUnlockCommandL( )
-    {
-    INFO( "CLockAppDevicelockControl::HandleUnlockCommandL" );
-    // inform sysap to put lights on left soft key press
-    SendMessageToSysAp( EEikKeyLockLightsOnRequest );
-		INFO_4( "%s %s (%u) iPhoneInitialized=%x -> 10 ", __FILE__, __PRETTY_FUNCTION__, __LINE__, iPhoneInitialized );
-		iPhoneInitialized=10;
-    CSecurityHandler* handler = new (ELeave) CSecurityHandler( iPhone );
-		INFO_4( "%s %s (%u) got handler=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 );
-    CleanupStack::PushL( handler );
-    TSecUi::InitializeLibL( );
-		INFO_4( "%s %s (%u) got TSecUi::InitializeLibL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 );
-    iShowingSecCodeQuery = ETrue;
-    TRAPD(err, {
-								INFO_4( "%s %s (%u) before AskSecCodeInAutoLockL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 );
-                TBool ret = handler->AskSecCodeInAutoLockL();
-								INFO_4( "%s %s (%u) after AskSecCodeInAutoLockL=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, ret );
-                INFO_1( "CLockAppDevicelockControl::HandleUnlockCommandL - AskSecCodeInAutoLockL = %d", ret );
-                if ( ret )
-                    {
-                    iStateControl.DisableDevicelockL();
-                    }
-                })
-    ERROR(err, "CLockAppDevicelockControl::HandleUnlockCommandL - AskSecCodeInAutoLockL");
-    iShowingSecCodeQuery = EFalse;
-    TSecUi::UnInitializeLib( );
-    CleanupStack::PopAndDestroy( handler );
-    }
-
-// ---------------------------------------------------------------------------
-// Get autolock timeout (in seconds)
-// ---------------------------------------------------------------------------
-TInt CLockAppDevicelockControl::GetAutoLockTimeout( )
-    {
-    TInt timeoutInMinutes = 0;
-    iCRAutoLockTime->GetValue( timeoutInMinutes );
-    return timeoutInMinutes * 60;
-    }
-
-// ----------------------------------------------------------
-// Starts monitoring user activity
-// ----------------------------------------------------------
-void CLockAppDevicelockControl::StartActivityMonitoringL( )
-    {
-    __ASSERT_DEBUG( iActivityManager, DoPanic(ELockIllegalState));
-    if ( iActivityManager && !iActivityManager->IsActive() )
-        {
-        TInt value = GetAutoLockTimeout( );
-        INFO_1( "CLockAppDevicelockControl::StartActivityMonitoringL - %d sec", value);
-        if ( value )
-            {
-            iActivityManager->Start( value,
-                    TCallBack( HandleInactiveEventL, this ),
-                    TCallBack( HandleActiveEventL, this ) );
-            }
-        else
-            {
-            iActivityManager->Start( KAutoDeviceLockOff,
-                    TCallBack(HandleInactiveEventL, this ),
-                    TCallBack(HandleActiveEventL, this ) );
-            }
-        }
-    }
-
-// ----------------------------------------------------------
-// Gets autolock period and starts monitoring user activity
-// ----------------------------------------------------------
-void CLockAppDevicelockControl::ResetInactivityTimeout( )
-    {
-    __ASSERT_DEBUG( iActivityManager, DoPanic(ELockIllegalState));
-    if ( iActivityManager )
-        {
-        TInt value = GetAutoLockTimeout( );
-        INFO_1( "CLockAppDevicelockControl::ResetInactivityTimeout - %d sec", value);
-        if ( value )
-            {
-            iActivityManager->SetInactivityTimeout( value );
-            }
-        else
-            {
-            iActivityManager->SetInactivityTimeout( KAutoDeviceLockOff );
-            }
-        }
-    }
-
-// ----------------------------------------------------------
-// Stop monitoring user activity.
-// ----------------------------------------------------------
-void CLockAppDevicelockControl::StopActivityMonitoring( )
-    {
-    __ASSERT_DEBUG( iActivityManager, DoPanic(ELockIllegalState));
-    if ( iActivityManager )
-        {
-        iActivityManager->Cancel( );
-        }
-    }
-
-// ----------------------------------------------------------
-// Handle Active event. Called by ActivityManager
-// ----------------------------------------------------------
-TInt CLockAppDevicelockControl::HandleActiveEventL(TAny* /*aPtr*/)
-    {
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------
-// Handles InActive event. Called by ActivityManager
-// ----------------------------------------------------------
-TInt CLockAppDevicelockControl::HandleInactiveEventL(TAny* aPtr )
-    {
-    CLockAppDevicelockControl* devicelock = STATIC_CAST(CLockAppDevicelockControl*, aPtr);
-    if ( devicelock->GetAutoLockTimeout( ) )
-        {
-        devicelock->iStateControl.EnableDevicelockL( EDevicelockTimer );
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// Set custom status pane visible
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::ShowStatusPane( const TBool aVisible )
-    {
-    CEikStatusPane* statuspane = iAvkonAppUi->StatusPane();
-    if ( statuspane )
-        {
-        statuspane->MakeVisible( aVisible );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handle UI commands received from the child controls
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::ProcessCommandL(TInt aCommandId)
-    {
-    INFO_1("CLockAppDevicelockControl::ProcessCommandL : %d ", aCommandId );
-    }
-
-TInt CLockAppDevicelockControl::CountComponentControls() const
-    {
-    return 2;
-    }
-
-CCoeControl* CLockAppDevicelockControl::ComponentControl(TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iCba;
-        case 1:
-            return iContainer;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Notification if layout changes.
-// ---------------------------------------------------------------------------
-void CLockAppDevicelockControl::HandleResourceChange(TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch && iCba )
-        {
-        TRect screenRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
-        iCba->SetBoundingRect( screenRect );
-        }
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-// END OF FILE