omads/omadsappui/AspSyncUtil/src/AspProfile.cpp
branchRCL_3
changeset 14 2bbcc0756c6d
parent 11 3f1ffafb31ec
child 23 2bb96f4ecad8
--- a/omads/omadsappui/AspSyncUtil/src/AspProfile.cpp	Wed Apr 14 15:45:46 2010 +0300
+++ b/omads/omadsappui/AspSyncUtil/src/AspProfile.cpp	Tue Apr 27 16:23:46 2010 +0300
@@ -449,21 +449,39 @@
 
 		    if ( iApplicationId == 0 )
 		        {
-		        if ( operatorProfile )
-		            {
-		            if ( id != KUidNSmlAdapterContact.iUid )
-		                {
-		                User::LeaveIfError(iProviderList.Append(item)); 
-		                }
-		            }
-		        else
-		            {
-		            if ( id != operatorUid && id != profileUid )
-		                {
-		                User::LeaveIfError(iProviderList.Append(item));
-		                }
-		            }
-		        }
+                if( operatorUid != KUidNSmlAdapterContact.iUid &&
+                    operatorUid != 0 )
+                    {
+                    // Dedicated operator specific adapter in use
+                    if ( operatorProfile )
+                        {
+                        // Operator profile: show other adapters than platform's 
+                        //  contacts adapter
+                        if ( id != KUidNSmlAdapterContact.iUid )
+                            {
+                            User::LeaveIfError(iProviderList.Append(item)); 
+                            }
+                        }
+                    else
+                        {
+                        // Non-operator profile: show other adapters than
+                        //  operator specific contacts adapter & profile adapter
+                        if ( id != operatorUid && id != profileUid )
+                            {
+                            User::LeaveIfError(iProviderList.Append(item));
+                            }
+                        }
+                    }
+                else
+                    {
+                    // Platform's contacts adapter used as operator adapter
+                    if( operatorProfile || 
+                        ( !operatorProfile && id != profileUid ) )
+                        {
+                        User::LeaveIfError(iProviderList.Append(item));
+                        }
+                    }
+                }
 		    else
 		        {
                 User::LeaveIfError(iProviderList.Append(item));