phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp
branchRCL_3
changeset 81 c26cc2a7c548
parent 69 8baf28733c3d
equal deleted inserted replaced
73:e30d4a1b8bad 81:c26cc2a7c548
    19 // INCLUDES
    19 // INCLUDES
    20 #include <mpeengineinfo.h>
    20 #include <mpeengineinfo.h>
    21 #include <telephonydomainpskeys.h>
    21 #include <telephonydomainpskeys.h>
    22 #include <UikonInternalPSKeys.h>
    22 #include <UikonInternalPSKeys.h>
    23 #include <ccpdefs.h>
    23 #include <ccpdefs.h>
    24 #include <phoneui.rsg>
       
    25 #include <telephonyvariant.hrh>
       
    26 
    24 
    27 #include "phoneui.pan"
    25 #include "phoneui.pan"
    28 #include "phonerssbase.h"
    26 #include "phonerssbase.h"
    29 #include "cphoneerrormessageshandler.h"
    27 #include "cphoneerrormessageshandler.h"
    30 #include "cphonemainerrormessageshandler.h"
    28 #include "cphonemainerrormessageshandler.h"
    34 #include "cphonepubsubproxy.h"
    32 #include "cphonepubsubproxy.h"
    35 #include "tphonecmdparamboolean.h"
    33 #include "tphonecmdparamboolean.h"
    36 #include "tphonecmdparamglobalnote.h"
    34 #include "tphonecmdparamglobalnote.h"
    37 #include "tphonecmdparamnote.h"
    35 #include "tphonecmdparamnote.h"
    38 #include "cphonemainresourceresolver.h"
    36 #include "cphonemainresourceresolver.h"
    39 #include "cphonecenrepproxy.h"
       
    40 
    37 
    41 
    38 
    42 // ================= MEMBER FUNCTIONS =======================
    39 // ================= MEMBER FUNCTIONS =======================
    43 
    40 
    44 // C++ default constructor can NOT contain any code, that
    41 // C++ default constructor can NOT contain any code, that
   111         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,    &globalNotifierParam );
   108         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,    &globalNotifierParam );
   112             
   109             
   113         TPhoneCmdParamGlobalNote globalNoteParam;
   110         TPhoneCmdParamGlobalNote globalNoteParam;
   114       
   111       
   115         globalNoteParam.SetType( EAknGlobalInformationNote );
   112         globalNoteParam.SetType( EAknGlobalInformationNote );
   116         
   113         globalNoteParam.SetTextResourceId( 
   117         if ( CPhoneCenRepProxy::Instance()->
   114             CPhoneMainResourceResolver::Instance()->
   118                 IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
   115             ResolveResourceID( aResourceId ) );
   119             {
       
   120 			// Show varied note if clear code customization is enabled
       
   121             TInt variedNote( KErrNotFound );
       
   122             //Get varied resource
       
   123             variedNote = ResourceVariation();
       
   124             if ( variedNote != KErrNotFound )
       
   125                 {
       
   126                 globalNoteParam.SetTextResourceId( variedNote );
       
   127                 }
       
   128             else
       
   129                 {
       
   130 				// If varied resource is not found, show original note.
       
   131                 globalNoteParam.SetTextResourceId( 
       
   132                     CPhoneMainResourceResolver::Instance()->
       
   133                     ResolveResourceID( aResourceId ) );
       
   134                 }
       
   135             }
       
   136         else
       
   137             {
       
   138             globalNoteParam.SetTextResourceId( 
       
   139                 CPhoneMainResourceResolver::Instance()->
       
   140                 ResolveResourceID( aResourceId ) );
       
   141             }
       
   142         globalNoteParam.SetTone( EAvkonSIDInformationTone );
   116         globalNoteParam.SetTone( EAvkonSIDInformationTone );
   143 
   117 
   144         iViewCommandHandle->ExecuteCommandL( 
   118         iViewCommandHandle->ExecuteCommandL( 
   145             EPhoneViewShowGlobalNote, &globalNoteParam );    
   119             EPhoneViewShowGlobalNote, &globalNoteParam );    
   146         }
   120         }
   167              EPhoneViewSetGlobalNotifiersDisabled,
   141              EPhoneViewSetGlobalNotifiersDisabled,
   168             &globalNotifierParam );
   142             &globalNotifierParam );
   169             
   143             
   170         TPhoneCmdParamGlobalNote globalNoteParam;
   144         TPhoneCmdParamGlobalNote globalNoteParam;
   171         globalNoteParam.SetType( EAknGlobalErrorNote );
   145         globalNoteParam.SetType( EAknGlobalErrorNote );
   172         
   146         globalNoteParam.SetTextResourceId( 
   173         if (  CPhoneCenRepProxy::Instance()->
   147             CPhoneMainResourceResolver::Instance()->
   174                 IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
   148             ResolveResourceID( aResourceId ) );
   175             {
       
   176 			// Show varied note if clear code customization is enabled
       
   177             TInt variedNote( KErrNotFound );
       
   178             //Get varied resource
       
   179             variedNote = ResourceVariation();
       
   180             if ( variedNote != KErrNotFound )
       
   181                 {
       
   182                 globalNoteParam.SetTextResourceId( variedNote );
       
   183                 }
       
   184             else
       
   185                 {
       
   186 				// If varied resource is not found, show original note.
       
   187                 globalNoteParam.SetTextResourceId( 
       
   188                     CPhoneMainResourceResolver::Instance()->
       
   189                     ResolveResourceID( aResourceId ) );
       
   190                 }
       
   191             }
       
   192         else
       
   193             {
       
   194             globalNoteParam.SetTextResourceId( 
       
   195                 CPhoneMainResourceResolver::Instance()->
       
   196                 ResolveResourceID( aResourceId ) );
       
   197             }
       
   198         globalNoteParam.SetTone( CAknNoteDialog::EErrorTone );
   149         globalNoteParam.SetTone( CAknNoteDialog::EErrorTone );
   199 
   150 
   200         iViewCommandHandle->ExecuteCommandL(  
   151         iViewCommandHandle->ExecuteCommandL(  
   201             EPhoneViewShowGlobalNote, &globalNoteParam );
   152             EPhoneViewShowGlobalNote, &globalNoteParam );
   202         }
   153         }
   223             EPhoneViewSetGlobalNotifiersDisabled,
   174             EPhoneViewSetGlobalNotifiersDisabled,
   224             &globalNotifierParam );
   175             &globalNotifierParam );
   225             
   176             
   226         TPhoneCmdParamGlobalNote globalNoteParam;
   177         TPhoneCmdParamGlobalNote globalNoteParam;
   227         globalNoteParam.SetType( EAknGlobalWarningNote );
   178         globalNoteParam.SetType( EAknGlobalWarningNote );
   228         
   179         globalNoteParam.SetTextResourceId( 
   229         if ( CPhoneCenRepProxy::Instance()->
   180             CPhoneMainResourceResolver::Instance()->
   230                 IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
   181             ResolveResourceID( aResourceId ) );
   231             {
       
   232 			// Show varied note if clear code customization is enabled
       
   233             TInt variedNote( KErrNotFound );
       
   234             //Get varied resource
       
   235             variedNote = ResourceVariation();
       
   236             if ( variedNote != KErrNotFound )
       
   237                 {
       
   238                 globalNoteParam.SetTextResourceId( variedNote );
       
   239                 }
       
   240             else
       
   241                 {
       
   242 				// If varied resource is not found, show original note.
       
   243                 globalNoteParam.SetTextResourceId( 
       
   244                     CPhoneMainResourceResolver::Instance()->
       
   245                     ResolveResourceID( aResourceId ) );
       
   246                 }
       
   247             }
       
   248         else
       
   249             {
       
   250             globalNoteParam.SetTextResourceId( 
       
   251                 CPhoneMainResourceResolver::Instance()->
       
   252                 ResolveResourceID( aResourceId ) );
       
   253             }
       
   254         globalNoteParam.SetTone( EAvkonSIDWarningTone );
   182         globalNoteParam.SetTone( EAvkonSIDWarningTone );
   255 
   183 
   256         iViewCommandHandle->ExecuteCommandL( 
   184         iViewCommandHandle->ExecuteCommandL( 
   257             EPhoneViewShowGlobalNote, &globalNoteParam );
   185             EPhoneViewShowGlobalNote, &globalNoteParam );
   258         }
   186         }
   279     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL()");
   207     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL()");
   280     
   208     
   281     __PHONELOG1( EBasic, EPhoneControl,
   209     __PHONELOG1( EBasic, EPhoneControl,
   282             "PhoneUIControl: CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL - aErrorInfo.iErrorCode =%d ",
   210             "PhoneUIControl: CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL - aErrorInfo.iErrorCode =%d ",
   283             aErrorInfo.iErrorCode);
   211             aErrorInfo.iErrorCode);
   284     iCallId = aErrorInfo.iCallId;
       
   285 
   212 
   286     switch( aErrorInfo.iErrorCode )
   213     switch( aErrorInfo.iErrorCode )
   287         {
   214         {
   288         case ECCPErrorRejected:
   215         case ECCPErrorRejected:
   289         case ECCPRequestFailure:
   216         case ECCPRequestFailure:
   638                 EPhoneControl,
   565                 EPhoneControl,
   639                 "PHONEUI_ERROR: CPhoneErrorMessagesHandler::HandleErrorL - Error received (err=%d)",
   566                 "PHONEUI_ERROR: CPhoneErrorMessagesHandler::HandleErrorL - Error received (err=%d)",
   640                 aErrorInfo.iErrorCode);
   567                 aErrorInfo.iErrorCode);
   641             break;
   568             break;
   642         } 
   569         } 
   643     iCallId = KErrNotFound;
       
   644     }    
   570     }    
   645 
   571 
   646 // -----------------------------------------------------------
   572 // -----------------------------------------------------------
   647 // CPhoneErrorMessagesHandler::IsVideoCall
   573 // CPhoneErrorMessagesHandler::IsVideoCall
   648 // -----------------------------------------------------------
   574 // -----------------------------------------------------------
   679      
   605      
   680     return ( iStateMachine->PhoneEngineInfo()
   606     return ( iStateMachine->PhoneEngineInfo()
   681             ->CallType( aCallId )== EPECallTypeCSVoice );
   607             ->CallType( aCallId )== EPECallTypeCSVoice );
   682 	}
   608 	}
   683 
   609 
   684 // -----------------------------------------------------------------------------
       
   685 // CPhoneErrorMessagesHandler::ResourceVariation
       
   686 // -----------------------------------------------------------------------------
       
   687 TInt CPhoneErrorMessagesHandler::ResourceVariation() const
       
   688     {
       
   689     TInt resource( KErrNotFound );
       
   690     
       
   691     TInt callId = (KErrNotFound == iCallId) ? 
       
   692         iStateMachine->PhoneEngineInfo()->CallId() :
       
   693         iCallId;
       
   694 
       
   695     //get exit code error from EngineInfo
       
   696     TInt callError = iStateMachine->PhoneEngineInfo()->ProtocolError( callId );
       
   697     
       
   698     switch( callError )
       
   699             {
       
   700             case KErrGsmCCUnassignedNumber:
       
   701                 resource = R_NOTE_VAR_CAUSE_1;                
       
   702                 break;
       
   703                 
       
   704             case KErrGsmCCNoRouteToDestination:
       
   705                 resource = R_NOTE_VAR_CAUSE_3;                
       
   706                 break;
       
   707    
       
   708             case KErrGsmCCOperatorDeterminedBarring:
       
   709                 resource = R_NOTE_VAR_CAUSE_8;                
       
   710                 break;
       
   711                    
       
   712             case KErrGsmCCUserBusy:
       
   713                 resource = R_NOTE_VAR_CAUSE_17;                
       
   714                 break;
       
   715                 
       
   716             case KErrGsmCCUserNotResponding:
       
   717                 resource = R_NOTE_VAR_CAUSE_18;                
       
   718                 break;
       
   719                 
       
   720             case KErrGsmCCCallRejected:
       
   721                 resource = R_NOTE_VAR_CAUSE_21;
       
   722                 break;
       
   723                 
       
   724             case KErrGsmCCNumberChanged:
       
   725                 resource = R_NOTE_VAR_CAUSE_22;
       
   726                 break;
       
   727                 
       
   728             case KErrGsmCCDestinationOutOfOrder:
       
   729                 resource = R_NOTE_VAR_CAUSE_27;
       
   730                 break;
       
   731 
       
   732             case KErrGsmCCFacilityRejected:
       
   733                 resource = R_NOTE_VAR_CAUSE_29;                
       
   734                 break;
       
   735                 
       
   736             case KErrGsmCCNetworkOutOfOrder:
       
   737                 resource = R_NOTE_VAR_CAUSE_38;                
       
   738                 break;
       
   739                 
       
   740             case KErrGsmCCTemporaryFailure:
       
   741                 resource = R_NOTE_VAR_CAUSE_41;                
       
   742                 break;
       
   743                 
       
   744             case KErrGsmCCSwitchingEquipmentCongestion:
       
   745                 resource = R_NOTE_VAR_CAUSE_42;                
       
   746                 break;
       
   747                 
       
   748             case KErrGsmCCAccessInformationDiscarded:
       
   749                 resource = R_NOTE_VAR_CAUSE_43;                
       
   750                 break;
       
   751                 
       
   752             case KErrGsmCCRequestedChannelNotAvailable:
       
   753                 resource = R_NOTE_VAR_CAUSE_44;                
       
   754                 break;
       
   755                 
       
   756             case KErrGsmCCResourceNotAvailable:
       
   757                 resource = R_NOTE_VAR_CAUSE_47;                
       
   758                 break;
       
   759                 
       
   760             case KErrGsmCCIncomingCallsBarredInCug:
       
   761                 resource = R_NOTE_VAR_CAUSE_55;                
       
   762                 break;
       
   763                 
       
   764             case KErrGsmCCBearerCapabilityNotAuthorised:
       
   765                 resource = R_NOTE_VAR_CAUSE_57;                
       
   766                 break;
       
   767                 
       
   768             case KErrGsmCCServiceNotAvailable:
       
   769                 resource = R_NOTE_VAR_CAUSE_63;                
       
   770                 break;
       
   771                 
       
   772             case KErrGsmCCBearerServiceNotImplemented:
       
   773                 resource = R_NOTE_VAR_CAUSE_65;                
       
   774                 break;
       
   775                 
       
   776             case KErrGsmCCRequestedFacilityNotImplemented:
       
   777                 resource = R_NOTE_VAR_CAUSE_69;                
       
   778                 break;
       
   779                 
       
   780             case KErrGsmCCUserNotInCug:
       
   781                 resource = R_NOTE_VAR_CAUSE_87;                
       
   782                 break;
       
   783                 
       
   784             case KErrGsmCCIncompatibleDestination:
       
   785                 resource = R_NOTE_VAR_CAUSE_88;                
       
   786                 break;
       
   787                 
       
   788             case KErrGsmCCSemanticallyIncorrectMessage:
       
   789                 resource = R_NOTE_VAR_CAUSE_95;                
       
   790                 break;
       
   791                 
       
   792             case KErrGsmCCUnspecifiedProtocolError:
       
   793                 resource = R_NOTE_VAR_CAUSE_111;                
       
   794                 break;
       
   795                 
       
   796             case KErrGsmCCUnspecifiedInterworkingError:
       
   797                 resource = R_NOTE_VAR_CAUSE_127;
       
   798                 break;
       
   799             default:
       
   800                 break;
       
   801             }  
       
   802     return resource;
       
   803     }
       
   804 // End of File
   610 // End of File