phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp
branchRCL_3
changeset 23 5586b4d2ec3e
parent 0 e686773b3f54
child 26 0d28c1c5b6dd
equal deleted inserted replaced
21:b3431bff8c19 23:5586b4d2ec3e
   128                 aCommSelector  ) :
   128                 aCommSelector  ) :
   129             iObserver( aObserver ),
   129             iObserver( aObserver ),
   130             iPriorities( aPriorities ),
   130             iPriorities( aPriorities ),
   131             iRskBack( aRskBack ),
   131             iRskBack( aRskBack ),
   132             iFieldTypeSelector ( aFieldTypeSelector ),
   132             iFieldTypeSelector ( aFieldTypeSelector ),
   133             iCommMethod( aCommSelector )
   133             iCommMethod( aCommSelector ),
       
   134             iContactRetrieved( EFalse )
   134     {
   135     {
   135     }
   136     }
   136 
   137 
   137 // --------------------------------------------------------------------------
   138 // --------------------------------------------------------------------------
   138 // CPbk2CommAddressSelectPhase::~CPbk2CommAddressSelectPhase
   139 // CPbk2CommAddressSelectPhase::~CPbk2CommAddressSelectPhase
   241 //
   242 //
   242 void CPbk2CommAddressSelectPhase::LaunchServicePhaseL()
   243 void CPbk2CommAddressSelectPhase::LaunchServicePhaseL()
   243     {
   244     {
   244     // Start by retrieving first contact
   245     // Start by retrieving first contact
   245     iState = EMainContactRetrieving;
   246     iState = EMainContactRetrieving;
       
   247     iContactRetrieved = ETrue;
   246     RetrieveContactL();
   248     RetrieveContactL();
   247     }
   249     }
   248 
   250 
   249 // --------------------------------------------------------------------------
   251 // --------------------------------------------------------------------------
   250 // CPbk2CommAddressSelectPhase::CancelServicePhase
   252 // CPbk2CommAddressSelectPhase::CancelServicePhase
   579     if (!iPresenceIconsRetrieved)
   581     if (!iPresenceIconsRetrieved)
   580         {
   582         {
   581         // Error occured, destroy presence icon array
   583         // Error occured, destroy presence icon array
   582         iPresenceIconsRetrieved = ETrue;
   584         iPresenceIconsRetrieved = ETrue;
   583         iPresenceIconArray.ResetAndDestroy();
   585         iPresenceIconArray.ResetAndDestroy();
   584     
   586         //Needn't to launch address fetch dialog if contact had been retrieved,
   585         // start address fetch dialog, if it waits for presence icons
   587         //because it will start this dialog after retrieve the contact,
   586         TRAPD( err, DoSelectAddressesL() );
   588         //avoid multiple launching of the select dialog
   587         if ( err != KErrNone )
   589         if ( !iContactRetrieved )
   588             {
   590             {
   589             iObserver.PhaseError( *this, err );
   591             // Launch the address fetch dialog if it's waiting for presence icons.
   590             }
   592             TRAPD( err, DoSelectAddressesL() );
       
   593             if ( err != KErrNone )
       
   594                 {
       
   595                 iObserver.PhaseError( *this, err );
       
   596                 }
       
   597         	}
   591         }
   598         }
   592     }
   599     }
   593 
   600 
   594 // --------------------------------------------------------------------------
   601 // --------------------------------------------------------------------------
   595 // CPbk2CommAddressSelectPhase::ReceiveIconInfosL
   602 // CPbk2CommAddressSelectPhase::ReceiveIconInfosL