diff -r a564f66a2339 -r 2bbcc0756c6d omads/omadsappui/AspSyncUtil/src/AspProfile.cpp --- 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));