terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp
branchRCL_3
changeset 11 06f47423ecee
parent 9 57a65a3a658c
child 13 86979fe66c4c
equal deleted inserted replaced
9:57a65a3a658c 11:06f47423ecee
     1 /*
     1 /*
     2 * Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    31 #include <centralrepository.h>
    31 #include <centralrepository.h>
    32 #include <AknIncallBubbleNotify.h>
    32 #include <AknIncallBubbleNotify.h>
    33 #include <e32property.h>
    33 #include <e32property.h>
    34 #include <ctsydomainpskeys.h>
    34 #include <ctsydomainpskeys.h>
    35 #include "SCPCodePrivateCRKeys.h"
    35 #include "SCPCodePrivateCRKeys.h"
       
    36 #include <featmgr.h>
       
    37 
    36 /*#ifdef _DEBUG
    38 /*#ifdef _DEBUG
    37 #define __SCP_DEBUG
    39 #define __SCP_DEBUG
    38 #endif // _DEBUG
    40 #endif // _DEBUG
    39 
    41 
    40 // Define this so the precompiler in CW 3.1 won't complain about token pasting,
    42 // Define this so the precompiler in CW 3.1 won't complain about token pasting,
   260 	RProperty::Get(KPSUidCtsyCallInformation, KCTsyCallState,var);
   262 	RProperty::Get(KPSUidCtsyCallInformation, KCTsyCallState,var);
   261 	Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): EPSCTsyCallStateNone %d"),var ));
   263 	Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): EPSCTsyCallStateNone %d"),var ));
   262     // we are already on forgeround, need to update priority differently
   264     // we are already on forgeround, need to update priority differently
   263 	if (var != EPSCTsyCallStateNone)
   265 	if (var != EPSCTsyCallStateNone)
   264 	{
   266 	{
   265 		if (iECSSupport)
   267 		// If the call is made during device startup have the priority as normal
       
   268 		if (iECSSupport && (iButtons == RSCPClient::SCP_OK))
   266 		{
   269 		{
   267 		iEikonEnv->RootWin().SetOrdinalPosition(1,ECoeWinPriorityNormal);
   270 		iEikonEnv->RootWin().SetOrdinalPosition(1,ECoeWinPriorityNormal);
   268 		}
   271 		}
   269 	
   272 	
   270 	}
   273 	}
   414 	    {
   417 	    {
   415         //if (AknLayoutUtils::PenEnabled())
   418         //if (AknLayoutUtils::PenEnabled())
   416             {
   419             {
   417             if (iECSSupport)
   420             if (iECSSupport)
   418                 {
   421                 {
   419                 if (iEcsDetector->State()== CAknEcsDetector::ECompleteMatch)
   422                 if ( iEcsDetector->State() == CAknEcsDetector::ECompleteMatch ||
       
   423                      iEcsDetector->State() == CAknEcsDetector::EServiceNumMatch )
   420                     {
   424                     {
   421                     iEcsDetector->AddChar( (TText)(EKeyPhoneSend) );
   425                     iEcsDetector->AddChar( (TText)(EKeyPhoneSend) );
   422                     
   426                     
   423                     }   
   427                     }   
   424                 else
   428                 else
   697 // 
   701 // 
   698 // ---------------------------------------------------------
   702 // ---------------------------------------------------------
   699 //
   703 //
   700 void CSCPQueryDialog::HandleEcsEvent(CAknEcsDetector* aDetector, 
   704 void CSCPQueryDialog::HandleEcsEvent(CAknEcsDetector* aDetector, 
   701                                      CAknEcsDetector::TState aUpdatedState)
   705                                      CAknEcsDetector::TState aUpdatedState)
   702     {   
   706     {
   703     (void)aDetector; // Not used
   707     (void)aDetector; // Not used
   704     
       
   705     TInt err;
   708     TInt err;
       
   709 
       
   710     // Check if service calling feature is enabled
       
   711     TBool serviceCallEnabled( EFalse );
       
   712     TRAP( err, FeatureManager::InitializeLibL() );
       
   713     if ( err == KErrNone )
       
   714         {
       
   715         serviceCallEnabled = FeatureManager::FeatureSupported( 
       
   716             KFeatureIdFfServiceCallWhilePhoneLocked );
       
   717         FeatureManager::UnInitializeLib();
       
   718         }
       
   719 
   706     if ( ( aUpdatedState == CAknEcsDetector::ECompleteMatchThenSendKey ) || 
   720     if ( ( aUpdatedState == CAknEcsDetector::ECompleteMatchThenSendKey ) || 
   707          ( aUpdatedState == CAknEcsDetector::ECallAttempted ) )
   721          ( aUpdatedState == CAknEcsDetector::ECallAttempted ) )
   708         {
   722         {
   709         // Call attempted, cancel the query
   723         // Call attempted, cancel the query
   710         iEMCallActivated = ETrue; // OfferKeyEventL will close the dialog         
   724         iEMCallActivated = ETrue; // OfferKeyEventL will close the dialog         
   711         }        
   725         }
   712     else if ( aUpdatedState == CAknEcsDetector::ECompleteMatch )    
   726     else if ( aUpdatedState == CAknEcsDetector::ECompleteMatch ||
   713         {                
   727               ( serviceCallEnabled && aUpdatedState == CAknEcsDetector::EServiceNumMatch ) )
       
   728         {
   714         iShowingEMNumber = ETrue;
   729         iShowingEMNumber = ETrue;
   715         }
   730         }
   716     else if ( iShowingEMNumber )
   731     else if ( iShowingEMNumber )
   717         {
   732         {
   718         // Cancel Em-number display
   733         // Cancel Em-number display