diff -r 41a7f70b3818 -r 5266b1f337bd phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp --- a/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp Tue Aug 31 15:14:29 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp Wed Sep 01 12:30:10 2010 +0100 @@ -100,7 +100,7 @@ switch ( aMessage ) { case MEngineMonitor::EPEMessageCallBarred: - SendGlobalInfoNoteL( EPhoneActiveBarrings, ETrue ); + SendGlobalInfoNoteL( EPhoneActiveBarrings ); break; case MEngineMonitor::EPEMessageIncCallIsForw: @@ -108,19 +108,29 @@ break; case MEngineMonitor::EPEMessageIncCallForwToC: - SendGlobalInfoNoteL( EPhoneMtCallDiverting, ETrue ); + SendGlobalInfoNoteL( EPhoneMtCallDiverting ); break; case MEngineMonitor::EPEMessageOutCallForwToC: - SendGlobalInfoNoteL( EPhoneDiverting, ETrue ); + SendGlobalInfoNoteL( EPhoneDiverting ); break; + case MEngineMonitor::EPEMessageShowVersion: + HandleShowVersionL(); + break; + case MEngineMonitor::EPEMessageIssuedSSRequest: { __PHONELOG( EBasic, EPhoneUIStates, "CPhoneGeneralGsmMessagesHandler::EPEMessageIssuedSSRequest" ); + + TPhoneCmdParamBoolean booleanParam; + booleanParam.SetBoolean( EFalse ); + iViewCommandHandle.ExecuteCommandL( + EPhoneViewSetBlockingDialogStatus, + &booleanParam ); break; } @@ -155,26 +165,47 @@ EPhoneViewSetGlobalNotifiersDisabled, &globalNotifierParam ); + TPhoneCmdParamBoolean booleanParam; + booleanParam.SetBoolean( ETrue ); + iViewCommandHandle.ExecuteCommandL( + EPhoneViewSetBlockingDialogStatus, + &booleanParam ); + // Get active call count TPhoneCmdParamInteger activeCallCount; iViewCommandHandle.ExecuteCommandL( EPhoneViewGetCountOfActiveCalls, &activeCallCount ); + if( !activeCallCount.Integer() ) + { + __PHONELOG( + EBasic, + EPhoneUIStates, + "CPhoneGeneralGsmMessagesHandler::EPEMessageIssuingSSRequest no active call" ); + // Ensure that the dialer is activated to display local notes and dialogs properly. + TPhoneCmdParamAppInfo param; + param.SetAppUid( KUidPhoneApplication ); + param.SetViewUid( KUidViewId ); + param.SetCustomMessageId( TUid::Uid( KTouchDiallerViewCommand ) ); + iViewCommandHandle.ExecuteCommandL( + EPhoneViewActivateAppViewWithCustomMessage, + ¶m ); + } // Remove phoneumber query iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveQuery ); break; } case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful: - SendGlobalErrorNoteL( EPhoneSSNotifCLIRSupprReject, ETrue ); + SendGlobalErrorNoteL( EPhoneSSNotifCLIRSupprReject ); break; case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: - SendGlobalInfoNoteL( EPhoneAllIncomingCallsDiverted, ETrue ); + SendGlobalInfoNoteL( EPhoneAllIncomingCallsDiverted ); break; case MEngineMonitor::EPEMessageForwardConditionallyModeActive: - SendGlobalInfoNoteL( EPhoneActiveDiverts, ETrue ); + SendGlobalInfoNoteL( EPhoneActiveDiverts ); break; default: @@ -186,8 +217,7 @@ // CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL // --------------------------------------------------------- // -void CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL( - TInt aResourceId, TBool aNotificationDialog ) +void CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL( TInt aResourceId ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL()" ); @@ -202,14 +232,12 @@ &globalNotifierParam ); TPhoneCmdParamGlobalNote globalNoteParam; - PhoneNotificationType type = aNotificationDialog ? - EPhoneNotificationDialog : EPhoneMessageBoxInformation; - globalNoteParam.SetType( type ); + globalNoteParam.SetType( EAknGlobalInformationNote ); globalNoteParam.SetTextResourceId( CPhoneMainResourceResolver::Instance()-> ResolveResourceID( aResourceId ) ); - globalNoteParam.SetNotificationDialog( aNotificationDialog ); + globalNoteParam.SetTone( EAvkonSIDInformationTone ); iViewCommandHandle.ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); @@ -224,17 +252,83 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL()" ); + } + +// ----------------------------------------------------------- +// CPhoneGeneralGsmMessagesHandler::HandleShowVersionL +// ----------------------------------------------------------- +// +void CPhoneGeneralGsmMessagesHandler::HandleShowVersionL() + { + __LOGMETHODSTARTEND( EPhoneUIStates, + "CPhoneGeneralGsmMessagesHandler::HandleShowVersionL()" ); + if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) ) + { + iViewCommandHandle.ExecuteCommandL( EPhoneViewClearNumberEntryContent ); + } + else + { + // Remove number entry from screen + iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + } + + +#ifdef __SYNCML_DM + // Launch DM UI + RWsSession sess = CCoeEnv::Static()->WsSession(); + RApaLsSession apaLsSession; + + TApaTaskList appList( sess ); + TApaTask bring = appList.FindApp( KDeviceManagerUid ); + + if ( bring.Exists() ) + { + bring.BringToForeground(); + } + else + { + if( !apaLsSession.Handle() ) + { + User::LeaveIfError(apaLsSession.Connect()); + } + CleanupClosePushL( apaLsSession ); + TThreadId thread; + User::LeaveIfError( apaLsSession.StartDocument(KNullDesC, KDeviceManagerUid, thread) ); + CleanupStack::PopAndDestroy( &apaLsSession ); + } + + // Stop dtmf tone. Long key press case key up event go to + // device manager application. + iStateMachine.SendPhoneEngineMessage( + MPEPhoneModel::EPEMessageEndDTMF ); - iActiveState.SetDivertIndication( ETrue ); +#else + // Fetch version number + TPEPhoneIdentityParameters phoneIdentityParameters = iStateMachine. + PhoneEngineInfo()->PhoneIdentityParameters(); + + // Add it to the resource string + HBufC* buf = HBufC::NewLC( KSysUtilVersionTextLength ); + buf->Des().Format( phoneIdentityParameters.iRevision ); + + TPhoneCmdParamNote noteParam; + noteParam.SetType( EPhoneNoteCustom ); + noteParam.SetResourceId( CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneInformationWaitNote ) ); + noteParam.SetText( *buf ); + // Display note + iViewCommandHandle.ExecuteCommandL( EPhoneViewShowNote, ¬eParam ); + + CleanupStack::PopAndDestroy( buf ); +#endif } // --------------------------------------------------------- // CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL // --------------------------------------------------------- // -void CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL( - TInt aResourceId, TBool aNotificationDialog ) +void CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL( TInt aResourceId ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL()" ); @@ -250,14 +344,12 @@ &globalNotifierParam ); TPhoneCmdParamGlobalNote globalNoteParam; - PhoneNotificationType type = aNotificationDialog ? - EPhoneNotificationDialog : EPhoneMessageBoxInformation; - globalNoteParam.SetType( type ); + globalNoteParam.SetType( EAknGlobalErrorNote ); globalNoteParam.SetTextResourceId( CPhoneMainResourceResolver::Instance()-> ResolveResourceID( aResourceId ) ); - globalNoteParam.SetNotificationDialog( aNotificationDialog ); - + globalNoteParam.SetTone( CAknNoteDialog::EErrorTone ); + iViewCommandHandle.ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); }