--- 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));