Revision: 201019 RCL_3 PDK_3.0.0
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 25 May 2010 12:27:36 +0300
branchRCL_3
changeset 19 76f25fb7a6a1
parent 18 36d367c62acb
child 20 6b620215f837
Revision: 201019 Kit: 2010121
imstutils/imconnectionprovider/inc/icplogger.h
imstutils/imconversationview/imcmslauncherplugin/src/imcmslauncherplugin.cpp
imstutils/imconversationview/imcvuiapp/src/cimcvappsmileicongrid.cpp
imstutils/imconversationview/inc/imcvlogger.h
imstutils/xmppadapter/inc/xmppadapterlogger.h
servicewidget/inc/swpdebugtrace.h
servicewidget/servicewidgetdatapublisher/inc/cservicewidgetcontentpublisher.h
servicewidget/servicewidgetdatapublisher/src/cservicewidgetcontentpublisher.cpp
servicewidget/servicewidgetdatapublisher/src/cservicewidgetplugin.cpp
uiservicetab/inc/vimpstbuilddefinitions.h
uiservicetab/inc/vimpstdebugprint.h
uiservicetab/vimpstcmdprocess/group/vimpstcmdprocess.mmp
uiservicetab/vimpstcmdprocess/src/cvimpstprocessArray.cpp
uiservicetab/vimpstengine/eabi/vimpstengineu.def
uiservicetab/vimpstengine/group/vimpstengine.mmp
uiservicetab/vimpstengine/src/cvimpstengine.cpp
uiservicetab/vimpstengine/src/cvimpstenginesearchmgrextention.cpp
uiservicetab/vimpststorage/group/vimpststorage.mmp
uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp
uiservicetab/vimpstui/group/vimpstui.mmp
uiservicetab/vimpstutils/group/vimpstutils.mmp
--- a/imstutils/imconnectionprovider/inc/icplogger.h	Tue May 11 16:01:07 2010 +0300
+++ b/imstutils/imconnectionprovider/inc/icplogger.h	Tue May 25 12:27:36 2010 +0300
@@ -20,6 +20,15 @@
 #ifndef __ICPLOGGER_H__
 #define __ICPLOGGER_H__
 
+#ifdef __WINS__
+ #ifdef _DEBUG
+    #define ICP_ENABLE_DEBUG_LOGS // for WINS UDEB
+ #endif
+#else
+ #ifdef _DEBUG     
+    #define ICP_ENABLE_DEBUG_LOGS // for device UDEB
+ #endif
+#endif
 #define SCP_TP_PRINT(s) L##s
 #define SCP_STRA_PRINT(s) SCP_TP_PRINT(s)
 #define SCP_STR_PRINT(t) SCP_STRA_PRINT("[SCP]") L##t
@@ -103,6 +112,7 @@
 
 inline void IcpDebugWriteFormat(TRefByValue<const TDesC> aFmt,...)
     {
+#ifdef ICP_ENABLE_DEBUG_LOGS
     _LIT(KDir, "icp");
     _LIT(KName, "icp.log");
 
@@ -111,6 +121,7 @@
     VA_START(args,aFmt);
     RFileLogger::WriteFormat(KDir, KName, EFileLoggingModeAppend, aFmt, args);
     VA_END(args);
+#endif
     }
 
 #endif  // __SCPLOGGER_H__
--- a/imstutils/imconversationview/imcmslauncherplugin/src/imcmslauncherplugin.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/imstutils/imconversationview/imcmslauncherplugin/src/imcmslauncherplugin.cpp	Tue May 25 12:27:36 2010 +0300
@@ -145,7 +145,7 @@
 	if (KErrNotFound != serviceId)
 		{
 		//if valid service
-		TInt err = IMCVLauncher::LaunchImConversationViewL(activeViewId, serviceId, userId->Des());	
+		TInt err = IMCVLauncher::LaunchImConversationViewL(activeViewId, serviceId, userId->Des(), CmsParameter()->DisplayName());	
 		CleanupStack::PopAndDestroy();
 		User::LeaveIfError(err);
 		return;		
--- a/imstutils/imconversationview/imcvuiapp/src/cimcvappsmileicongrid.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/imstutils/imconversationview/imcvuiapp/src/cimcvappsmileicongrid.cpp	Tue May 25 12:27:36 2010 +0300
@@ -30,20 +30,20 @@
 #include <AknDef.h>
 #include "imcvlogger.h"
 #include "imcvuiapputils.h"
+#include "mimcvtapeventobserver.h"
 
-#include "mimcvtapeventobserver.h"
 
 // CONSTANTS
-
-    // -- The (KTopLeft_x,KTopLeft_y) and (KBottomRight_x,KBottomRight_y) are the co ordinates of the 
-    // topleft and bottomright points of the first cell in the grid.
-    // These co-ordinates to draw the grid lines and the logic to draw the grid lines is based on the topleft 
-    //and bottomright points of the first cell in the grid
+// The (KTopLeft_x,KTopLeft_y) and (KBottomRight_x,KBottomRight_y) are the co ordinates of the 
+// topleft and bottomright points of the first cell in the grid.
+// These co-ordinates to draw the grid lines and the logic to draw the grid lines is based on the topleft 
+// and bottomright points of the first cell in the grid.
 #define KTopLeft_x 56
 #define KTopLeft_y 55
 #define KBottomRight_x 105
 #define KBottomRight_y 104
 
+
 // ================= MEMBER FUNCTIONS =======================
 
 // -----------------------------------------------------------------------------
@@ -340,7 +340,7 @@
 
 	if( !iDragEvent )
 		{
-		//draw the grid
+		// Draw the grid
 		gc.SetPenStyle(CGraphicsContext::ESolidPen);    
 		gc.SetBrushStyle(CGraphicsContext::ENullBrush);
 		gc.SetPenSize(TSize(1,1));    
@@ -367,7 +367,7 @@
     	TInt lastRowIconsCount = iIconCount % iMaxColumns;
 		if( lastRowIconsCount == 0 && iIconCount > 0 )
 			{
-			// last row is full
+			// Last row is full
     	    lastRowIconsCount = iMaxColumns;
 			}
 
@@ -376,7 +376,7 @@
 		TPoint cellBottomRight( KBottomRight_x,KBottomRight_y );
 		if(!iIsMirrored)	
 			{
-			//draw horizontal lines
+			// Draw horizontal lines
 			for( i = 0; i <= iRowCount; ++i )
 				{
 				TPoint startPoint( cellLeftTop );
@@ -391,11 +391,11 @@
 				gc.DrawLine( startPoint, endPoint );
 				}
 
-			//draw vertical lines
-    	for( i = 0; i <= iMaxColumns; ++i )
+			// Draw vertical lines
+			for( i = 0; i <= iMaxColumns; ++i )
 				{
-        TPoint startPoint( cellLeftTop );
-        TPoint endPoint( cellLeftTop );
+				TPoint startPoint( cellLeftTop );
+				TPoint endPoint( cellLeftTop );
 				startPoint.iX += i * iCellWidth;
 				endPoint.iX += i * iCellWidth;
 				endPoint.iY += ( i <= lastRowIconsCount ? 
@@ -405,28 +405,28 @@
 			}
 		else
 			{
-			//draw horizontal lines
+			// Draw horizontal lines
 			for( i = 0; i <= iRowCount; ++i )
 				{
-				TPoint startPoint( cellBottomRight.iX, cellLeftTop.iY);
-				TPoint endPoint( cellBottomRight.iX, cellLeftTop.iY );
+				TPoint startPoint( cellLeftTop );
+				TPoint endPoint( cellLeftTop );
 				startPoint.iY += i * iCellHeight;
 				endPoint.iY += i * iCellHeight;
-				endPoint.iX -= ( ( i == iRowCount ) || ( i == 0 && iRowCount == 1 )
-				    ? ( lastRowIconsCount ) 
-    		    * iCellWidth : iMaxColumns * iCellWidth );
-				// sub 1 pixel to remove the gap from bottom left corners
+				endPoint.iX += ( ( i == iRowCount ) || ( i == 0 && iRowCount == 1 )
+								    ? ( lastRowIconsCount ) 
+				    		    * iCellWidth : iMaxColumns * iCellWidth );
+				// subtract one pixel to remove the gap from bottom left corners
 				--endPoint.iX;
 				gc.DrawLine( startPoint, endPoint );
 				}
 
-			//draw vertical lines
-    	for( i = 0; i <= iMaxColumns; ++i )
+			// Draw vertical lines
+			for( i = 0; i <= iMaxColumns; ++i )
 				{
-				TPoint startPoint( cellBottomRight.iX, cellLeftTop.iY );
-				TPoint endPoint( cellBottomRight.iX, cellLeftTop.iY);
-				startPoint.iX -= i * iCellWidth;
-				endPoint.iX -= i * iCellWidth;
+				TPoint startPoint( cellLeftTop );
+				TPoint endPoint( cellLeftTop );
+				startPoint.iX += i * iCellWidth;
+				endPoint.iX += i * iCellWidth;
 				endPoint.iY += ( i <= lastRowIconsCount ? 
 				    iCellHeight * iRowCount : iCellHeight * ( iRowCount - 1  ) );
 				gc.DrawLine( startPoint, endPoint );
@@ -434,7 +434,7 @@
 
 			}
 
-		//draw icons
+		// Draw icons
 		for( i = 0; i < iIconCount; ++i )
 			{
 			DrawItem( gc, skins, skin, cc, i, i == iCursorPos );
@@ -442,9 +442,9 @@
 		}
 	else
 		{
-		// only selection changed, highlight new pos
+		// Only selection changed, highlight new pos
 		DrawItem( gc, cc != NULL, skin, cc, iCursorPos, ETrue );        
-		// and clear old
+		// And clear old
 		DrawItem( gc, cc != NULL, skin, cc, iPrevCursorPos, EFalse );
 		}
 	IM_CV_LOGS(TXT("CIMCVAppSmileIconGrid::Draw() end") );    
@@ -461,7 +461,7 @@
                        TInt aIndex, TBool aSelected ) const
     {
     IM_CV_LOGS(TXT("CIMCVAppSmileIconGrid::DrawItem() start") );
-    //lets count currect cell
+    //lets count current cell
     TPoint cellLeftTop( KTopLeft_x,KTopLeft_y );
     TPoint cellBottomRight( KBottomRight_x,KBottomRight_y );
 
@@ -475,7 +475,7 @@
     }
     else
     {
-    	offset.iX = -(( aIndex % iMaxColumns ) * iCellWidth);
+    	offset.iX = ( aIndex % iMaxColumns ) * iCellWidth;
     }
     
     offset.iY = aIndex / iMaxColumns * iCellHeight;
--- a/imstutils/imconversationview/inc/imcvlogger.h	Tue May 11 16:01:07 2010 +0300
+++ b/imstutils/imconversationview/inc/imcvlogger.h	Tue May 25 12:27:36 2010 +0300
@@ -27,7 +27,15 @@
 
 // enable logs printing
 // into  c:\\logs\\imcv\\imcv.txt
-#define ENABLE_DEBUG_LOGS
+#ifdef __WINS__
+  #ifdef _DEBUG
+    #define ENABLE_DEBUG_LOGS // for WINS UDEB
+ #endif
+#else
+  #ifdef _DEBUG     
+    #define ENABLE_DEBUG_LOGS // for device UDEB
+  #endif
+#endif
 
 /**   
 * Usage of Log MACRO'S
--- a/imstutils/xmppadapter/inc/xmppadapterlogger.h	Tue May 11 16:01:07 2010 +0300
+++ b/imstutils/xmppadapter/inc/xmppadapterlogger.h	Tue May 25 12:27:36 2010 +0300
@@ -23,8 +23,15 @@
 #include <e32std.h>
 
 //#ifdef _DEBUG
-#define ENABLE_DEBUG_LOGS
-//#endif
+#ifdef __WINS__
+  #ifdef _DEBUG
+    #define ENABLE_DEBUG_LOGS // for WINS UDEB
+ #endif
+#else
+  #ifdef _DEBUG
+    #define ENABLE_DEBUG_LOGS // for device UDEB
+  #endif
+#endif
 
 /**   
 * Usage of Log MACRO'S
--- a/servicewidget/inc/swpdebugtrace.h	Tue May 11 16:01:07 2010 +0300
+++ b/servicewidget/inc/swpdebugtrace.h	Tue May 25 12:27:36 2010 +0300
@@ -26,7 +26,15 @@
 //  DEFINES
 // enable logs printing
 // into  c:\\logs\\swp\\swp.txt
-#define SWP_ENABLE_DEBUG_LOGS
+#ifdef __WINS__
+ #ifdef _DEBUG
+    #define SWP_ENABLE_DEBUG_LOGS // for WINS UDEB
+ #endif
+#else
+ #ifdef _DEBUG
+    #define SWP_ENABLE_DEBUG_LOGS // for device UDEB
+ #endif
+#endif
 
 /**   
 * Usage of Log MACRO'S
--- a/servicewidget/servicewidgetdatapublisher/inc/cservicewidgetcontentpublisher.h	Tue May 11 16:01:07 2010 +0300
+++ b/servicewidget/servicewidgetdatapublisher/inc/cservicewidgetcontentpublisher.h	Tue May 25 12:27:36 2010 +0300
@@ -99,7 +99,7 @@
 		  /**
 		   * Unregister all widgets from CPS
 		   */
-		  void UnregisterAllWidgetsL();
+		  void UnregisterAllWidgetsL(RArray<TInt>* aServiceArray);
 
 		  /**
 		   * Register widget from CPS
--- a/servicewidget/servicewidgetdatapublisher/src/cservicewidgetcontentpublisher.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/servicewidget/servicewidgetdatapublisher/src/cservicewidgetcontentpublisher.cpp	Tue May 25 12:27:36 2010 +0300
@@ -30,6 +30,9 @@
 #include <servicewidgetpluginres.rsg>
 #include <StringLoader.h>
 
+#include <spsettings.h> 
+#include <spentry.h>
+
 #define KSW_LIST_GRANULARITY 8
 
 // ---------------------------------------------------------------------------
@@ -329,9 +332,23 @@
 // CServiceWidgetContentPublisher::UnregisterAllWidgetsL
 // ---------------------------------------------------------------------------
 //
-void CServiceWidgetContentPublisher::UnregisterAllWidgetsL()
+void CServiceWidgetContentPublisher::UnregisterAllWidgetsL(RArray<TInt>* aServiceArray)
     {
     TRACE_SWP(TXT("CServiceWidgetContentPublisher::UnregisterAllWidgetsL() start") );
+    CDesC16ArrayFlat* servicesExisting = new (ELeave) CDesC16ArrayFlat( KSW_LIST_GRANULARITY );
+    CleanupStack::PushL( servicesExisting );
+    if(aServiceArray && aServiceArray->Count() > 0)
+    	{
+		CSPSettings* settings = CSPSettings::NewLC();
+		for(TInt i=0; i<aServiceArray->Count();i++)
+			{
+			CSPEntry* entry = CSPEntry::NewLC();
+			settings->FindEntryL( (*aServiceArray)[i], *entry ) ;			
+			servicesExisting->AppendL(entry->GetServiceName());
+			CleanupStack::PopAndDestroy(entry);
+			}
+		CleanupStack::PopAndDestroy(settings);
+    	}
     
     CLiwGenericParamList* inparam = &(iServiceHandler->InParamListL()); 
     CLiwGenericParamList* outparam = &(iServiceHandler->OutParamListL());
@@ -351,9 +368,8 @@
     
     if(outparam)
 		{		
-		TInt pos(0);
-		const TLiwGenericParam* param = NULL;
-		param = outparam->FindFirst(pos,KResults);
+		TInt pos(0);		
+		outparam->FindFirst(pos,KResults);
 		if(pos != KErrNotFound)
 			{
 			HBufC* uidStr = KThemeUid().AllocLC();
@@ -377,7 +393,24 @@
 						  {
 						  //If publisher id has KThemeUid, then this services is 
 						  //registered by this component
-						  serviceNames->AppendL(variant.AsDes());
+						  TBool serviceExisting = EFalse;
+						  if(servicesExisting && servicesExisting->Count() > 0)
+							  {							  
+							  for(TInt i=0; i<servicesExisting->Count(); i++)
+								  {
+								  TPtrC serviceName;
+								  serviceName.Set(variant.AsDes().Left(variant.AsDes().Length()-KThemeUid().Length()));								  
+								  if(serviceName.Compare((*servicesExisting)[i]) == 0)
+									  {
+									  serviceExisting = ETrue;
+									  break;
+									  }
+								  }							  
+							  }
+						  if(!serviceExisting)
+							  {
+							  serviceNames->AppendL(variant.AsDes());
+							  }
 						  }
 					  }
 				  }
@@ -396,7 +429,8 @@
 		}
     
     CleanupStack::PopAndDestroy(serviceNames);
-    CleanupStack::PopAndDestroy(cpdatamap);      
+    CleanupStack::PopAndDestroy(cpdatamap);
+    CleanupStack::PopAndDestroy(servicesExisting);
     outparam->Reset();
     inparam->Reset();
     
--- a/servicewidget/servicewidgetdatapublisher/src/cservicewidgetplugin.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/servicewidget/servicewidgetdatapublisher/src/cservicewidgetplugin.cpp	Tue May 25 12:27:36 2010 +0300
@@ -206,7 +206,7 @@
     //Unregisrer all previously registered services.
     if(iContentPublisher)
 		{
-		iContentPublisher->UnregisterAllWidgetsL();
+		iContentPublisher->UnregisterAllWidgetsL(&iServiceIds);
 		}
     //register for service table notifications
     RArray<TUint> serviceIds;
--- a/uiservicetab/inc/vimpstbuilddefinitions.h	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/inc/vimpstbuilddefinitions.h	Tue May 25 12:27:36 2010 +0300
@@ -20,14 +20,29 @@
 #ifndef VIMPSTBUILDDEFINITIONS_H
 #define VIMPSTBUILDDEFINITIONS_H
 
+
 // Enables debug print
-#define CHAT_ENABLE_DEBUG_PRINT
-// Enabled file debug (Remember to create c\Logs\Chat 
-#define CHAT_ENABLE_FILE_DEBUG
-
-// Enables layout debug print
-#define CHAT_DEBUG_OUTPUT_TO_FILE
-
+#ifdef __WINS__
+  #ifdef _DEBUG     // for WINS UDEB
+    // Enables debug print
+    #define CHAT_ENABLE_DEBUG_PRINT
+    // Enabled file debug (Remember to create c\Logs\Chat 
+    #define CHAT_ENABLE_FILE_DEBUG
+    
+    // Enables layout debug print
+    #define CHAT_DEBUG_OUTPUT_TO_FILE
+ #endif
+#else       
+  #ifdef _DEBUG     // for device UDEB
+    // Enables debug print
+    #define CHAT_ENABLE_DEBUG_PRINT
+    // Enabled file debug (Remember to create c\Logs\Chat 
+    #define CHAT_ENABLE_FILE_DEBUG
+    
+    // Enables layout debug print
+    #define CHAT_DEBUG_OUTPUT_TO_FILE
+  #endif
+#endif
 
 #endif      // VIMPSTBUILDDEFINITIONS_H
 
--- a/uiservicetab/inc/vimpstdebugprint.h	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/inc/vimpstdebugprint.h	Tue May 25 12:27:36 2010 +0300
@@ -149,7 +149,7 @@
                 	sizeof( CHAT_DEBUG_FILENAME)-1,
                 	CHAT_TO_UNICODE( CHAT_DEBUG_FILENAME ) };
             #else
-                _LIT( KName, "ChatDebug.log" );
+                _LIT( KName, "IMConversationDebug.log" );
             #endif // CHAT_DEBUG_FILENAME
 
             // take the ellipsis parameters
--- a/uiservicetab/vimpstcmdprocess/group/vimpstcmdprocess.mmp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstcmdprocess/group/vimpstcmdprocess.mmp	Tue May 25 12:27:36 2010 +0300
@@ -95,9 +95,9 @@
 LIBRARY     servicehandler.lib
 LIBRARY		apgrfx.lib 
 
-#ifdef CHAT_ENABLE_DEBUG_PRINT
+//#ifdef CHAT_ENABLE_DEBUG_PRINT
 LIBRARY                 flogger.lib
-#endif
+//#endif
 
 
 // end of file
--- a/uiservicetab/vimpstcmdprocess/src/cvimpstprocessArray.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstcmdprocess/src/cvimpstprocessArray.cpp	Tue May 25 12:27:36 2010 +0300
@@ -1026,6 +1026,14 @@
         iUnKnownContactArray.Reset();
         iAddRequestArray.ResetAndDestroy();// delete all items
         iAddRequestArray.Reset();
+        
+        // Reset contact list array (append the contacts to contact list array 
+        // by getting from contactlist model) before contacts update.  
+        if(aLoginState == TVIMPSTEnums::ESVCENotRegistered )
+        	{
+			ResetArray();
+        	}
+        
         // reset the status of all the contacts.
         // no need to check the item type here. by the time its here all the other 
         // type except contact item are removed.
--- a/uiservicetab/vimpstengine/eabi/vimpstengineu.def	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstengine/eabi/vimpstengineu.def	Tue May 25 12:27:36 2010 +0300
@@ -11,4 +11,6 @@
 	_ZN33MVIMPSTEngineContactMgmtExtention4CastERK30MVIMPSTEngineExtentionFeatures @ 10 NONAME
 	_ZTI20CVIMPSTEngineFactory @ 11 NONAME ; #<TI>#
 	_ZTV20CVIMPSTEngineFactory @ 12 NONAME ; #<VT>#
+	_ZTI23CVIMPSTEngineCVListener @ 13 NONAME
+	_ZTV23CVIMPSTEngineCVListener @ 14 NONAME
 
--- a/uiservicetab/vimpstengine/group/vimpstengine.mmp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstengine/group/vimpstengine.mmp	Tue May 25 12:27:36 2010 +0300
@@ -106,9 +106,9 @@
 //For contact details
 LIBRARY		vpbkeng.lib 
 
-#ifdef CHAT_ENABLE_DEBUG_PRINT
+//#ifdef CHAT_ENABLE_DEBUG_PRINT
 LIBRARY                 flogger.lib
-#endif
+//#endif
 
 // end of file
 
--- a/uiservicetab/vimpstengine/src/cvimpstengine.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstengine/src/cvimpstengine.cpp	Tue May 25 12:27:36 2010 +0300
@@ -799,7 +799,14 @@
 									}// end of for
 								} // end of if(contact)
 							}// end of for
-						storage->Sort(KIMContactListId);
+						storage->Sort(KIMContactListId);						
+						// Inform service state changes to UI service tab
+						// and further to update the buddy list after sort. 
+						TInt obsvrArrayCount = iObserverArray.Count();
+						for (TInt index=0; index<obsvrArrayCount; index++)		
+							{
+							iObserverArray[index]->HandleServiceEventL(iState, KErrNone);
+							}	
 						}
 					}
 				ReSetExtentionFeaturesSupportedL();
--- a/uiservicetab/vimpstengine/src/cvimpstenginesearchmgrextention.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstengine/src/cvimpstenginesearchmgrextention.cpp	Tue May 25 12:27:36 2010 +0300
@@ -505,6 +505,7 @@
 	    iSearchObservers[i]->HandleSearchKeysEventL(enumKeyArray, labelKeyArray );	
 	    }
 	
+    	labelKeyArray.ResetAndDestroy();
 	CleanupStack::PopAndDestroy(2); //enumKeyArray, labelKeyArray
     
     }
--- a/uiservicetab/vimpststorage/group/vimpststorage.mmp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpststorage/group/vimpststorage.mmp	Tue May 25 12:27:36 2010 +0300
@@ -70,9 +70,9 @@
 
 LIBRARY     cntmodel.lib cntview.lib 
 
-#ifdef CHAT_ENABLE_DEBUG_PRINT
+//#ifdef CHAT_ENABLE_DEBUG_PRINT
 LIBRARY     flogger.lib
-#endif
+//#endif
 
 LANG			SC
 
--- a/uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpststorage/src/cvimpststorageserviceview.cpp	Tue May 25 12:27:36 2010 +0300
@@ -567,7 +567,21 @@
             TRACE(" contact found " );          
             break;
             }
+        if(!contact)
+        	{
+			TInt acount =contactList->Count();
+			for( TInt i( 0 ); i < acount; ++i )
+				{
+				MVIMPSTStorageContact* acontact = &(contactList->operator [](i));
+				if( acontact->UserId().Compare( aUserId) == 0 )
+					{
+					contact=acontact;
+					break;
+					}
+				}
+        	}
         }
+    
     return contact;
   	}
 // -----------------------------------------------------------------------------
@@ -790,7 +804,12 @@
 		}
 	TRACE(" Before findcontactlink" ); 
 	MVIMPSTStorageContact* contact = FindContactByLink(aContactLink);
-	TRACE( " After findcontactlink " ); 
+	TRACE( " After findcontactlink check for findcontactuserid" ); 
+	if(!contact && aUserId.Length() )
+		{
+		MVIMPSTStorageContact* contact = FindContactByUserId( aUserId );
+		}
+	TRACE( " After findcontactuserid " ); 
 	if( !contact )
 		{
 		TRACE( " contact not exist "); 
--- a/uiservicetab/vimpstui/group/vimpstui.mmp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstui/group/vimpstui.mmp	Tue May 25 12:27:36 2010 +0300
@@ -180,9 +180,9 @@
 // Dependencies to other Phonebook 2 components
 LIBRARY VPbkEng.lib //Pbk2Presentation.lib
 
-#ifdef CHAT_ENABLE_DEBUG_PRINT
+//#ifdef CHAT_ENABLE_DEBUG_PRINT
 LIBRARY                 flogger.lib
-#endif
+//#endif
 
 LANG SC
 // end of file
--- a/uiservicetab/vimpstutils/group/vimpstutils.mmp	Tue May 11 16:01:07 2010 +0300
+++ b/uiservicetab/vimpstutils/group/vimpstutils.mmp	Tue May 25 12:27:36 2010 +0300
@@ -65,9 +65,9 @@
 
 
 
-#ifdef CHAT_ENABLE_DEBUG_PRINT
+//#ifdef CHAT_ENABLE_DEBUG_PRINT
 LIBRARY       flogger.lib
-#endif
+//#endif
 
 LANG			SC