phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactNameConstructionPolicy.cpp
branchRCL_3
changeset 32 2828b4d142c0
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
--- a/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactNameConstructionPolicy.cpp	Tue Apr 27 16:23:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactNameConstructionPolicy.cpp	Tue May 11 16:00:21 2010 +0300
@@ -22,12 +22,15 @@
 #include <CPbk2SortOrderManager.h>
 #include <Pbk2ContactNameFormatterFactory.h>
 #include <MPbk2ContactNameFormatter.h>
+#include <MPbk2ContactNameFormatter3.h>
 #include <CVPbkContactFieldIterator.h>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
 #include <CVPbkFieldTypeRefsList.h>
 
+#include <featmgr.h>
+
 // --------------------------------------------------------------------------
 // CPbk2ContactNameConstructionPolicy::CPbk2ContactNameConstructionPolicy
 // --------------------------------------------------------------------------
@@ -46,6 +49,7 @@
     {
     delete iSortOrderManager;
     delete iNameFormatter;
+    FeatureManager::UnInitializeLib();
     }
 
 // --------------------------------------------------------------------------
@@ -74,6 +78,7 @@
 
     iNameFormatter = Pbk2ContactNameFormatterFactory::CreateL
         ( iMasterFieldTypeList, *iSortOrderManager );
+    FeatureManager::InitializeLibL();
     }
 
 // --------------------------------------------------------------------------
@@ -85,8 +90,18 @@
         ( const MVPbkBaseContactFieldCollection& aFieldCollection,
           CVPbkFieldTypeRefsList& aFieldTypeRefsList )
     {
-    return iNameFormatter->ActualTitleFieldsLC
-        ( aFieldTypeRefsList, aFieldCollection );
+    if( FeatureManager::FeatureSupported( KFeatureIdFfContactsCompanyNames ) )
+        {
+        MPbk2ContactNameFormatter3* nameformatterExtension =
+                reinterpret_cast<MPbk2ContactNameFormatter3*>( iNameFormatter->
+                ContactNameFormatterExtension( MPbk2ContactNameFormatterExtension3Uid ) );
+        
+        if ( nameformatterExtension )
+            {
+            return nameformatterExtension->TitleWithCompanyNameFieldsLC( aFieldTypeRefsList, aFieldCollection );
+            }
+        }
+    return iNameFormatter->ActualTitleFieldsLC( aFieldTypeRefsList, aFieldCollection );
     }
 
 // End of File