--- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Wed Sep 01 12:30:10 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Tue Sep 14 21:18:17 2010 +0300
@@ -21,6 +21,8 @@
#include <telephonydomainpskeys.h>
#include <UikonInternalPSKeys.h>
#include <ccpdefs.h>
+#include <phoneui.rsg>
+#include <telephonyvariant.hrh>
#include "phoneui.pan"
#include "phonerssbase.h"
@@ -34,6 +36,7 @@
#include "tphonecmdparamglobalnote.h"
#include "tphonecmdparamnote.h"
#include "cphonemainresourceresolver.h"
+#include "cphonecenrepproxy.h"
// ================= MEMBER FUNCTIONS =======================
@@ -110,9 +113,32 @@
TPhoneCmdParamGlobalNote globalNoteParam;
globalNoteParam.SetType( EAknGlobalInformationNote );
- globalNoteParam.SetTextResourceId(
- CPhoneMainResourceResolver::Instance()->
- ResolveResourceID( aResourceId ) );
+
+ if ( CPhoneCenRepProxy::Instance()->
+ IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
+ {
+ // Show varied note if clear code customization is enabled
+ TInt variedNote( KErrNotFound );
+ //Get varied resource
+ variedNote = ResourceVariation();
+ if ( variedNote != KErrNotFound )
+ {
+ globalNoteParam.SetTextResourceId( variedNote );
+ }
+ else
+ {
+ // If varied resource is not found, show original note.
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
+ }
+ else
+ {
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
globalNoteParam.SetTone( EAvkonSIDInformationTone );
iViewCommandHandle->ExecuteCommandL(
@@ -143,9 +169,32 @@
TPhoneCmdParamGlobalNote globalNoteParam;
globalNoteParam.SetType( EAknGlobalErrorNote );
- globalNoteParam.SetTextResourceId(
- CPhoneMainResourceResolver::Instance()->
- ResolveResourceID( aResourceId ) );
+
+ if ( CPhoneCenRepProxy::Instance()->
+ IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
+ {
+ // Show varied note if clear code customization is enabled
+ TInt variedNote( KErrNotFound );
+ //Get varied resource
+ variedNote = ResourceVariation();
+ if ( variedNote != KErrNotFound )
+ {
+ globalNoteParam.SetTextResourceId( variedNote );
+ }
+ else
+ {
+ // If varied resource is not found, show original note.
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
+ }
+ else
+ {
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
globalNoteParam.SetTone( CAknNoteDialog::EErrorTone );
iViewCommandHandle->ExecuteCommandL(
@@ -176,9 +225,32 @@
TPhoneCmdParamGlobalNote globalNoteParam;
globalNoteParam.SetType( EAknGlobalWarningNote );
- globalNoteParam.SetTextResourceId(
- CPhoneMainResourceResolver::Instance()->
- ResolveResourceID( aResourceId ) );
+
+ if ( CPhoneCenRepProxy::Instance()->
+ IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) )
+ {
+ // Show varied note if clear code customization is enabled
+ TInt variedNote( KErrNotFound );
+ //Get varied resource
+ variedNote = ResourceVariation();
+ if ( variedNote != KErrNotFound )
+ {
+ globalNoteParam.SetTextResourceId( variedNote );
+ }
+ else
+ {
+ // If varied resource is not found, show original note.
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
+ }
+ else
+ {
+ globalNoteParam.SetTextResourceId(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( aResourceId ) );
+ }
globalNoteParam.SetTone( EAvkonSIDWarningTone );
iViewCommandHandle->ExecuteCommandL(
@@ -209,6 +281,7 @@
__PHONELOG1( EBasic, EPhoneControl,
"PhoneUIControl: CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL - aErrorInfo.iErrorCode =%d ",
aErrorInfo.iErrorCode);
+ iCallId = aErrorInfo.iCallId;
switch( aErrorInfo.iErrorCode )
{
@@ -497,7 +570,7 @@
case ECCPErrorCCRecoveryOnTimerExpiry:
if( IsVideoCall( aErrorInfo.iCallId ) )
{
- SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported );
+ SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue16 );
}
break;
@@ -567,6 +640,7 @@
aErrorInfo.iErrorCode);
break;
}
+ iCallId = KErrNotFound;
}
// -----------------------------------------------------------
@@ -607,4 +681,124 @@
->CallType( aCallId )== EPECallTypeCSVoice );
}
+// -----------------------------------------------------------------------------
+// CPhoneErrorMessagesHandler::ResourceVariation
+// -----------------------------------------------------------------------------
+TInt CPhoneErrorMessagesHandler::ResourceVariation() const
+ {
+ TInt resource( KErrNotFound );
+
+ TInt callId = (KErrNotFound == iCallId) ?
+ iStateMachine->PhoneEngineInfo()->CallId() :
+ iCallId;
+
+ //get exit code error from EngineInfo
+ TInt callError = iStateMachine->PhoneEngineInfo()->ProtocolError( callId );
+
+ switch( callError )
+ {
+ case KErrGsmCCUnassignedNumber:
+ resource = R_NOTE_VAR_CAUSE_1;
+ break;
+
+ case KErrGsmCCNoRouteToDestination:
+ resource = R_NOTE_VAR_CAUSE_3;
+ break;
+
+ case KErrGsmCCOperatorDeterminedBarring:
+ resource = R_NOTE_VAR_CAUSE_8;
+ break;
+
+ case KErrGsmCCUserBusy:
+ resource = R_NOTE_VAR_CAUSE_17;
+ break;
+
+ case KErrGsmCCUserNotResponding:
+ resource = R_NOTE_VAR_CAUSE_18;
+ break;
+
+ case KErrGsmCCCallRejected:
+ resource = R_NOTE_VAR_CAUSE_21;
+ break;
+
+ case KErrGsmCCNumberChanged:
+ resource = R_NOTE_VAR_CAUSE_22;
+ break;
+
+ case KErrGsmCCDestinationOutOfOrder:
+ resource = R_NOTE_VAR_CAUSE_27;
+ break;
+
+ case KErrGsmCCFacilityRejected:
+ resource = R_NOTE_VAR_CAUSE_29;
+ break;
+
+ case KErrGsmCCNetworkOutOfOrder:
+ resource = R_NOTE_VAR_CAUSE_38;
+ break;
+
+ case KErrGsmCCTemporaryFailure:
+ resource = R_NOTE_VAR_CAUSE_41;
+ break;
+
+ case KErrGsmCCSwitchingEquipmentCongestion:
+ resource = R_NOTE_VAR_CAUSE_42;
+ break;
+
+ case KErrGsmCCAccessInformationDiscarded:
+ resource = R_NOTE_VAR_CAUSE_43;
+ break;
+
+ case KErrGsmCCRequestedChannelNotAvailable:
+ resource = R_NOTE_VAR_CAUSE_44;
+ break;
+
+ case KErrGsmCCResourceNotAvailable:
+ resource = R_NOTE_VAR_CAUSE_47;
+ break;
+
+ case KErrGsmCCIncomingCallsBarredInCug:
+ resource = R_NOTE_VAR_CAUSE_55;
+ break;
+
+ case KErrGsmCCBearerCapabilityNotAuthorised:
+ resource = R_NOTE_VAR_CAUSE_57;
+ break;
+
+ case KErrGsmCCServiceNotAvailable:
+ resource = R_NOTE_VAR_CAUSE_63;
+ break;
+
+ case KErrGsmCCBearerServiceNotImplemented:
+ resource = R_NOTE_VAR_CAUSE_65;
+ break;
+
+ case KErrGsmCCRequestedFacilityNotImplemented:
+ resource = R_NOTE_VAR_CAUSE_69;
+ break;
+
+ case KErrGsmCCUserNotInCug:
+ resource = R_NOTE_VAR_CAUSE_87;
+ break;
+
+ case KErrGsmCCIncompatibleDestination:
+ resource = R_NOTE_VAR_CAUSE_88;
+ break;
+
+ case KErrGsmCCSemanticallyIncorrectMessage:
+ resource = R_NOTE_VAR_CAUSE_95;
+ break;
+
+ case KErrGsmCCUnspecifiedProtocolError:
+ resource = R_NOTE_VAR_CAUSE_111;
+ break;
+
+ case KErrGsmCCUnspecifiedInterworkingError:
+ resource = R_NOTE_VAR_CAUSE_127;
+ break;
+ default:
+ break;
+ }
+ return resource;
+ }
// End of File