phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp
branchRCL_3
changeset 15 2a26698d78ba
parent 14 24062c24fe38
child 25 91c2fb4b78df
equal deleted inserted replaced
14:24062c24fe38 15:2a26698d78ba
    17 
    17 
    18 
    18 
    19 // INCLUDES
    19 // INCLUDES
    20 #include <StringLoader.h>
    20 #include <StringLoader.h>
    21 #include <cpephonemodelif.h>
    21 #include <cpephonemodelif.h>
    22 #include <featmgr.h>
       
    23 #include <telephonyvariant.hrh>
       
    24 #include "cphoneconferenceandwaiting.h"
    22 #include "cphoneconferenceandwaiting.h"
    25 #include "mphonestatemachine.h"
    23 #include "mphonestatemachine.h"
    26 #include "phoneviewcommanddefinitions.h"
    24 #include "phoneviewcommanddefinitions.h"
    27 #include "tphonecmdparamcallheaderdata.h"
    25 #include "tphonecmdparamcallheaderdata.h"
    28 #include "phonestatedefinitionsgsm.h"
    26 #include "phonestatedefinitionsgsm.h"
    32 #include "tphonecmdparamcallstatedata.h"
    30 #include "tphonecmdparamcallstatedata.h"
    33 #include "cphonemainresourceresolver.h"
    31 #include "cphonemainresourceresolver.h"
    34 #include "phonerssbase.h"
    32 #include "phonerssbase.h"
    35 #include "tphonecmdparamglobalnote.h"
    33 #include "tphonecmdparamglobalnote.h"
    36 #include "phoneui.hrh"
    34 #include "phoneui.hrh"
    37 #include "cphonecenrepproxy.h"
       
    38 #include "mphonestorage.h"
       
    39 
    35 
    40 // ================= MEMBER FUNCTIONS =======================
    36 // ================= MEMBER FUNCTIONS =======================
    41 
    37 
    42 // C++ default constructor can NOT contain any code, that
    38 // C++ default constructor can NOT contain any code, that
    43 // might leave.
    39 // might leave.
   165             
   161             
   166         default:
   162         default:
   167             // do base operation
   163             // do base operation
   168             CPhoneConference::HandleKeyMessageL( aMessage, aCode );
   164             CPhoneConference::HandleKeyMessageL( aMessage, aCode );
   169             break;
   165             break;
   170         }
       
   171     }
       
   172 
       
   173 // -----------------------------------------------------------
       
   174 // CPhoneConferenceAndWaiting::HandleKeyEventL
       
   175 // -----------------------------------------------------------
       
   176 //
       
   177 void CPhoneConferenceAndWaiting::HandleKeyEventL(
       
   178     const TKeyEvent& aKeyEvent,
       
   179     TEventCode aEventCode )
       
   180     {
       
   181     if( EKeyDeviceF == aKeyEvent.iCode )
       
   182         {
       
   183         __PHONELOG( EBasic, EPhoneUIStates,
       
   184             "CPhoneConferenceAndWaiting::HandleKeyMessageL-deviceF" );
       
   185         HandleHoldSwitchL();
       
   186         }
   166         }
   187     }
   167     }
   188 
   168 
   189 // -----------------------------------------------------------
   169 // -----------------------------------------------------------
   190 // CPhoneConferenceAndWaiting::HandleErrorL
   170 // CPhoneConferenceAndWaiting::HandleErrorL
   284 //
   264 //
   285 void CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL( TInt aCallId )
   265 void CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL( TInt aCallId )
   286     {
   266     {
   287     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL()");
   267     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL()");
   288     
   268     
   289     if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
       
   290         && iStateMachine->PhoneStorage()->IsScreenLocked() )
       
   291         {
       
   292         EnableCallUIL();
       
   293         }
       
   294     
       
   295     // Reset blocked keys list
       
   296     iStateMachine->PhoneStorage()->ResetBlockedKeysList();
       
   297     
       
   298     // Effect is shown when dialer exist.
   269     // Effect is shown when dialer exist.
   299     TBool effectStarted ( EFalse );
   270     TBool effectStarted ( EFalse );
   300     if ( !NeedToReturnToForegroundAppL() )
   271     if ( !NeedToReturnToForegroundAppL() )
   301         {
   272         {
   302         BeginTransEffectLC( ENumberEntryOpen );
   273         BeginTransEffectLC( ENumberEntryOpen );
   403                 // Return phone to the background if send to background is needed.
   374                 // Return phone to the background if send to background is needed.
   404                 iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
   375                 iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
   405                 }
   376                 }
   406             }
   377             }
   407         
   378         
   408         if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
       
   409             && iStateMachine->PhoneStorage()->IsScreenLocked() )
       
   410             {
       
   411             EnableCallUIL();
       
   412             }
       
   413         
       
   414         // Reset blocked keys list
       
   415         iStateMachine->PhoneStorage()->ResetBlockedKeysList();
       
   416 
       
   417         if ( iViewCommandHandle->HandleCommandL( EPhoneViewIsConferenceInExpandedMode ) 
   379         if ( iViewCommandHandle->HandleCommandL( EPhoneViewIsConferenceInExpandedMode ) 
   418                 == EPhoneViewResponseSuccess )
   380                 == EPhoneViewResponseSuccess )
   419             {
   381             {
   420             SetTouchPaneButtons( EPhoneParticipantListButtons );
   382             SetTouchPaneButtons( EPhoneParticipantListButtons );
   421             }
   383             }
   497             if ( IsNumberEntryVisibleL() )
   459             if ( IsNumberEntryVisibleL() )
   498                 {
   460                 {
   499                 SetNumberEntryVisibilityL(EFalse);   
   461                 SetNumberEntryVisibilityL(EFalse);   
   500                 }
   462                 }
   501             
   463             
   502             // Check if HW Keys or Call UI should be disabled
       
   503             CheckDisableHWKeysAndCallUIL();
       
   504             
       
   505             SetTouchPaneButtons( EPhoneIncomingCallButtons );
   464             SetTouchPaneButtons( EPhoneIncomingCallButtons );
   506             SetTouchPaneButtonEnabled( EPhoneCallComingCmdSilent );
   465             SetTouchPaneButtonEnabled( EPhoneCallComingCmdSilent );
   507             SetRingingTonePlaybackL( iRingingCallId );          
   466             SetRingingTonePlaybackL( iRingingCallId );          
   508             SetToolbarDimming( ETrue );
   467             SetToolbarDimming( ETrue );
   509             iStateMachine->ChangeState( EPhoneStateIncoming );
   468             iStateMachine->ChangeState( EPhoneStateIncoming );
   517                 SetNumberEntryVisibilityL(ETrue);
   476                 SetNumberEntryVisibilityL(ETrue);
   518                 }
   477                 }
   519             // Go to waiting in single state
   478             // Go to waiting in single state
   520             UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
   479             UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
   521             
   480             
   522             // Check if HW Keys or Call UI should be disabled
       
   523             CheckDisableHWKeysAndCallUIL();
       
   524             
       
   525             SetTouchPaneButtons( EPhoneWaitingCallButtons );             
   481             SetTouchPaneButtons( EPhoneWaitingCallButtons );             
   526             iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
   482             iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
   527             break;
   483             break;
   528             
   484             
   529         case ETwoActiveCalls:
   485         case ETwoActiveCalls:
   532                 // Show the number entry if it exists
   488                 // Show the number entry if it exists
   533                 SetNumberEntryVisibilityL(ETrue);
   489                 SetNumberEntryVisibilityL(ETrue);
   534                 }
   490                 }
   535             // Go to two singles and waiting state
   491             // Go to two singles and waiting state
   536             UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
   492             UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
   537             
       
   538             // Check if HW Keys or Call UI should be disabled
       
   539             CheckDisableHWKeysAndCallUIL();
       
   540             
   493             
   541             SetTouchPaneButtons( EPhoneWaitingCallButtons );               
   494             SetTouchPaneButtons( EPhoneWaitingCallButtons );               
   542 
   495 
   543             iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
   496             iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
   544             break; 
   497             break;