phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewActivator.cpp
branchRCL_3
changeset 18 d4f567ce2e7c
parent 0 e686773b3f54
equal deleted inserted replaced
17:2666d9724c76 18:d4f567ce2e7c
    19 
    19 
    20 // INCLUDE FILES
    20 // INCLUDE FILES
    21 #include "CxSPViewActivator.h"
    21 #include "CxSPViewActivator.h"
    22 #include <CxSPViewData.h>
    22 #include <CxSPViewData.h>
    23 #include "CxSPViewInfo.h"
    23 #include "CxSPViewInfo.h"
       
    24 #include <Pbk2ViewId.hrh>
    24 
    25 
    25 
    26 
    26 // System includes
    27 // System includes
    27 #include <aknViewAppUi.h>
    28 #include <aknViewAppUi.h>
    28 
    29 
   135         else
   136         else
   136             {
   137             {
   137             newViewId = viewID;
   138             newViewId = viewID;
   138             }
   139             }
   139     
   140     
   140         aMessage.Complete(err);
   141         // If err is KErrNone or KErrNotFound, complete client's request with KErrNone. 
   141     
   142         // The reason is even if client passed an invalid view id to xsp server, 
   142         if(err == KErrNone)
   143         // the server will launch phonebook namelist view instead. 
       
   144         if ( KErrNone == err || KErrNotFound == err )
       
   145         	{
       
   146             aMessage.Complete( KErrNone );
       
   147         	}
       
   148         else
       
   149         	{
       
   150             aMessage.Complete( err );
       
   151         	}
       
   152     
       
   153         if( err == KErrNone )
   143             {
   154             {
   144             // Make view id
   155             // Make view id
   145             const TVwsViewId viewId(TUid::Uid(KUid), TUid::Uid(newViewId));
   156             const TVwsViewId viewId( TUid::Uid( KUid ), TUid::Uid( newViewId ) );
   146             // Activate the view
   157             // Activate the view
   147             static_cast<CAknViewAppUi*>(CCoeEnv::Static()->AppUi())->ActivateViewL(
   158             static_cast<CAknViewAppUi*>(CCoeEnv::Static()->AppUi())->ActivateViewL(
   148                                                         viewId, CPbk2ViewState::Uid(), *paramBuf);
   159                                                         viewId, CPbk2ViewState::Uid(), *paramBuf);
   149             }
   160             }
   150     
   161         else if ( err == KErrNotFound )
       
   162         	{
       
   163             // Activate phonebook namelist view if valid view id can't be found
       
   164             const TVwsViewId viewId( TUid::Uid( KUid ), TUid::Uid( EPbk2NamesListViewId ) );
       
   165             static_cast<CAknViewAppUi*>( CCoeEnv::Static()->AppUi() )->ActivateViewL(
       
   166                                                         viewId, CPbk2ViewState::Uid(), *paramBuf );        
       
   167         	}
       
   168         
   151         CleanupStack::PopAndDestroy();  // paramBuf;
   169         CleanupStack::PopAndDestroy();  // paramBuf;
   152         }
   170         }
   153     }
   171     }
   154 
   172 
   155 void CxSPViewActivator::ActivateView2AsyncL(const RMessage2 &aMessage)
   173 void CxSPViewActivator::ActivateView2AsyncL(const RMessage2 &aMessage)