diff -r bab96b7ed1a4 -r f39ed5e045e0 phoneapp/phoneuicontrol/src/cphonestate.cpp --- a/phoneapp/phoneuicontrol/src/cphonestate.cpp Tue Jun 15 14:14:38 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp Thu Jul 22 16:33:21 2010 +0100 @@ -52,6 +52,7 @@ #include #include #include +#include #include "phoneui.pan" #include "cphonestate.h" @@ -188,6 +189,7 @@ HandleAudioOutputChangedL(); // Go to current state implementation iCbaManager->UpdateInCallCbaL(); + SetTouchPaneButtons(0); break; case MEngineMonitor::EPEMessageAvailableAudioOutputsChanged: @@ -196,6 +198,7 @@ { // Go to current state implementation iCbaManager->UpdateInCallCbaL(); + SetTouchPaneButtons(0); } break; @@ -208,7 +211,8 @@ break; case MEngineMonitor::EPEMessageCallWaiting: - SendGlobalInfoNoteL( EPhoneWaitingText ); + // No need to send waiting notification for user. + //SendGlobalInfoNoteL( EPhoneWaitingText, ETrue ); break; case MEngineMonitor::EPEMessageProfileChanged: @@ -235,7 +239,7 @@ break; case MEngineMonitor::EPEMessageTransferDone: - SendGlobalInfoNoteL( EPhoneInCallTransferred ); + SendGlobalInfoNoteL( EPhoneInCallTransferred, ETrue ); break; case MEngineMonitor::EPEMessageInitiatedEmergencyCall: @@ -246,27 +250,15 @@ HandleInitiatedEmergencyWhileActiveVideoL(); break; - case MEngineMonitor::EPEMessageShowIMEI: - // Stop playing DTMF tone - iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF ); - HandleShowImeiL(); - break; - - case MEngineMonitor::EPEMessageCallSecureStatusChanged: - HandleCallSecureStatusChangeL( aCallId ); - - if ( iCustomization ) - { - iCustomization->HandlePhoneEngineMessageL( aMessage, - aCallId ); - } - break; - - case MEngineMonitor::EPEMessageActivateWarrantyMode: - // Stop playing DTMF tone - iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF ); - HandleShowLifeTimerL(); - break; + case MEngineMonitor::EPEMessageCallSecureStatusChanged: + HandleCallSecureStatusChangeL( aCallId ); + + if ( iCustomization ) + { + iCustomization->HandlePhoneEngineMessageL( aMessage, + aCallId ); + } + break; case MEngineMonitor::EPEMessageIssuingUSSDRequest: { @@ -365,14 +357,6 @@ HandleCugInUseNoteL(); break; - // *#2873# - case MEngineMonitor::EPEMessageBTDebugMode: - accessoryBtHandler = CPhoneAccessoryBTHandler::NewLC( - iViewCommandHandle, iStateMachine, this ); - accessoryBtHandler->SetBTDebugModeL(); - CleanupStack::PopAndDestroy( accessoryBtHandler ); - break; - default: TBool handled( EFalse ); @@ -415,6 +399,8 @@ booleanParam.SetBoolean( audioMute ); iViewCommandHandle->ExecuteCommandL( EPhoneViewActivateMuteUIChanges, &booleanParam ); + + SetTouchPaneButtons(0); } // ----------------------------------------------------------- @@ -825,14 +811,25 @@ void CPhoneState::HandleChangedCallDurationL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleChangedCallDurationL() "); - // Get the call duration - TTimeIntervalSeconds seconds = - iStateMachine->PhoneEngineInfo()->CallDuration( aCallId ); - - TPhoneCmdParamInteger time; - time.SetInteger(seconds.Int()); - iViewCommandHandle->ExecuteCommandL(EPhoneViewUpdateCallHeaderCallDuration, aCallId, &time); - } + + TInt ret = KErrNone; + TInt isDisplayOn; + + ret = HAL::Get( HALData::EDisplayState, isDisplayOn ); + + // Update only if the display is on or if HAL::Get returns an error, + // in which case display value cannot be trusted. + if ( ret || isDisplayOn ) + { + // Get the call duration + TTimeIntervalSeconds seconds = + iStateMachine->PhoneEngineInfo()->CallDuration( aCallId ); + + TPhoneCmdParamInteger time; + time.SetInteger(seconds.Int()); + iViewCommandHandle->ExecuteCommandL(EPhoneViewUpdateCallHeaderCallDuration, aCallId, &time); + } + } // ----------------------------------------------------------------------------- // CPhoneState::HandleRemoteBusyL @@ -841,8 +838,13 @@ void CPhoneState::HandleRemoteBusyL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleRemoteBusyL( ) "); - ShowNumberBusyNoteL(); - + + TPEErrorInfo info; + info.iCallId = aCallId; + info.iErrorCode = ECCPErrorBusy; + info.iErrorType = EPECcp; + CPhoneMainErrorMessagesHandler::Instance()->ShowErrorSpecificNoteL( info ); + const TPECallType callType = iStateMachine->PhoneEngineInfo()->CallTypeCommand(); @@ -1773,7 +1775,7 @@ __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::DecreaseAudioVolumeL - audio output =%d", output ); if( output == EPETTY ) { - SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl ); + SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue ); } else { @@ -1797,7 +1799,7 @@ __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IncreaseAudioVolumeL - audio output =%d", output ); if( output == EPETTY ) { - SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl ); + SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue ); } else { @@ -2152,11 +2154,11 @@ // ----------------------------------------------------------- // EXPORT_C void CPhoneState::CaptureKeysDuringCallNotificationL( - TBool aCaptured ) + TBool /*aCaptured*/ ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CaptureKeysDuringCallNotificationL( ) "); // Determine which view command to execute based on the capture status - const TInt viewCommandId = aCaptured ? + /*const TInt viewCommandId = aCaptured ? EPhoneViewStartCapturingKey : EPhoneViewStopCapturingKey; @@ -2176,7 +2178,7 @@ cameraKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents ); iViewCommandHandle->ExecuteCommandL( viewCommandId, &cameraKeyCaptureParam ); - } + }*/ } // ----------------------------------------------------------- @@ -2211,8 +2213,7 @@ if( iCustomization ) { TBuf inCallNumberText( KNullDesC ); - // incall number text could be 'Call 1', 'Call 2', ... - CallheaderManagerL()->GetInCallNumberTextL( aCallId, inCallNumberText ); + // to check if we have VoIP call in question and fix // parameters if needed iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam, @@ -2474,7 +2475,8 @@ // CPhoneState::SendGlobalInfoNoteL // --------------------------------------------------------- // -EXPORT_C void CPhoneState::SendGlobalInfoNoteL( TInt aResourceId ) +EXPORT_C void CPhoneState::SendGlobalInfoNoteL( + TInt aResourceId, TBool aNotificationDialog ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalInfoNoteL( ) "); __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); @@ -2494,7 +2496,8 @@ CPhoneMainResourceResolver::Instance()-> ResolveResourceID( aResourceId ) ); globalNoteParam.SetTone( EAvkonSIDInformationTone ); - + globalNoteParam.SetNotificationDialog( aNotificationDialog ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -2504,7 +2507,8 @@ // CPhoneUIController::SendGlobalWarningNoteL // --------------------------------------------------------- // -EXPORT_C void CPhoneState::SendGlobalWarningNoteL( TInt aResourceId ) +EXPORT_C void CPhoneState::SendGlobalWarningNoteL( + TInt aResourceId, TBool aNotificationDialog ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalWarningNoteL( ) "); __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); @@ -2524,7 +2528,8 @@ CPhoneMainResourceResolver::Instance()-> ResolveResourceID( aResourceId ) ); globalNoteParam.SetTone( EAvkonSIDWarningTone ); - + globalNoteParam.SetNotificationDialog( aNotificationDialog ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -2534,7 +2539,8 @@ // CPhoneUIController::SendGlobalErrorNoteL // --------------------------------------------------------- // -EXPORT_C void CPhoneState::SendGlobalErrorNoteL( TInt aResourceId ) +EXPORT_C void CPhoneState::SendGlobalErrorNoteL( + TInt aResourceId, TBool aNotificationDialog ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalErrorNoteL( ) "); __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); @@ -2553,6 +2559,7 @@ CPhoneMainResourceResolver::Instance()-> ResolveResourceID( aResourceId ) ); globalNoteParam.SetTone( CAknNoteDialog::EErrorTone ); + globalNoteParam.SetNotificationDialog( aNotificationDialog ); iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); @@ -2570,7 +2577,7 @@ iViewCommandHandle, iStateMachine, this ); if ( !bt->SetHandsfreeModeL( aHandsfreeMode )) { - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } CleanupStack::PopAndDestroy( bt ); } @@ -2586,7 +2593,7 @@ iViewCommandHandle, iStateMachine, this ); if ( !bt->SetBTHandsfreeModeL( aHandsfreeMode )) { - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } CleanupStack::PopAndDestroy( bt ); } @@ -2849,38 +2856,6 @@ } // ----------------------------------------------------------- -// CPhoneState::HandleShowImeiL -// ----------------------------------------------------------- -// -void CPhoneState::HandleShowImeiL() - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleShowImeiL( ) "); - - // Fetch IMEI - TBuf serialNumber; - TPEPhoneIdentityParameters phoneIdentityParameters = - iStateMachine->PhoneEngineInfo()->PhoneIdentityParameters(); - serialNumber = phoneIdentityParameters.iSerialNumber; - - HBufC* imeiNoteText = StringLoader::LoadLC( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( - EPhonePhoneImeiString ), serialNumber ); - - TPhoneCmdParamGlobalNote noteParam; - noteParam.SetType( EAknGlobalInformationNote ); - noteParam.SetTone( EAvkonSIDInformationTone ); - noteParam.SetText( *imeiNoteText ); - noteParam.SetTimeout( KPhoneNoteNoTimeout ); - - iViewCommandHandle->ExecuteCommandL( - EPhoneViewShowGlobalNote, - ¬eParam ); - - CleanupStack::PopAndDestroy( imeiNoteText ); - } - -// ----------------------------------------------------------- // CPhoneState::HandleCallSecureStatusChangeL // ----------------------------------------------------------- // @@ -2908,53 +2883,6 @@ &callHeaderParam ); } -// ----------------------------------------------------------- -// CPhoneState::HandleShowLifeTimerL -// ----------------------------------------------------------- -// -void CPhoneState::HandleShowLifeTimerL() - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleShowLifeTimerL( ) "); - - // Fetch LifeTime - TPELifeTimeData lifeTimeData = - iStateMachine->PhoneEngineInfo()->LifeTimerData(); - - TLocale locale; - TBuf lifetimerText; - lifetimerText.NumFixedWidth( - lifeTimeData.iHours, - EDecimal, - KPhoneLifeTimerHoursLength ); - - lifetimerText.Append(locale.TimeSeparator( KTimerMinuteSeparator ) ); - - TBuf mins; - mins.NumFixedWidth( - lifeTimeData.iMinutes, - EDecimal, - KPhoneLifeTimerMinutesLength ); - - lifetimerText.Append(mins); - - HBufC* buf = StringLoader::LoadLC( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( - EPhoneLifeTimeFormat ), lifetimerText ); - - TPhoneCmdParamGlobalNote noteParam; - noteParam.SetType( EAknGlobalInformationNote ); - noteParam.SetTone( EAvkonSIDInformationTone ); - noteParam.SetText( *buf ); - noteParam.SetTimeout( KPhoneNoteNoTimeout ); - - iViewCommandHandle->ExecuteCommandL( - EPhoneViewShowGlobalNote, - ¬eParam ); - - CleanupStack::PopAndDestroy( buf ); - } - // --------------------------------------------------------- // CPhoneState::IsVideoCall // --------------------------------------------------------- @@ -3440,6 +3368,7 @@ CPhoneMainResourceResolver::Instance()-> ResolveResourceID( resource ) ); globalNoteParam.SetTone( EAvkonSIDInformationTone ); + globalNoteParam.SetNotificationDialog( ETrue ); iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -3456,6 +3385,11 @@ KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus ) > EAutolockOff; + __PHONELOG1( EBasic, + EPhoneControl, + "CPhoneState::IsAutoLockOn() Status: %d", + phoneIsLocked ); + return phoneIsLocked; } @@ -3500,6 +3434,25 @@ { if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) { + TPhoneCmdParamBoolean muteParam; + muteParam.SetBoolean( iStateMachine->PhoneEngineInfo()->AudioMute() ); + iViewCommandHandle->ExecuteCommand(EPhoneViewSetMuteFlag,&muteParam); + + const TPEAudioOutput audioOutput = + iStateMachine->PhoneEngineInfo()->AudioOutput(); + + TBool btAvailable = iStateMachine->PhoneEngineInfo()->AudioOutputAvailable( + EPEBTAudioAccessory ); + + TPhoneCmdParamBoolean btParam; + btParam.SetBoolean( audioOutput == EPEBTAudioAccessory ); + iViewCommandHandle->ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam); + + TPhoneCmdParamBoolean btAvailableParam; + btAvailableParam.SetBoolean( btAvailable ); + iViewCommandHandle->ExecuteCommand( + EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam); + TBool emergency( EPEStateIdle != iStateMachine->PhoneEngineInfo()->CallState( KPEEmergencyCallId ) ); TPhoneCmdParamBoolean booleanParam; @@ -3944,13 +3897,14 @@ globalNoteParam.SetTextResourceId( CPhoneMainResourceResolver::Instance()-> ResolveResourceID( EPhoneCallWaitingWithLabel ) ); - + globalNoteParam.SetNotificationDialog( ETrue ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } else { - SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel ); + SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel, ETrue ); } } @@ -4709,6 +4663,11 @@ // EXPORT_C void CPhoneState::SetBackButtonActive( TBool aActive ) { + if(IsAutoLockOn() && aActive) { + // keep back button dimmed device lock case + return; + } + if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) { TPhoneCmdParamBoolean booleanParam;