--- a/messagingapp/msgsettings/msginit/src/simscnumberdetector.cpp Wed Sep 01 14:19:13 2010 +0530
+++ b/messagingapp/msgsettings/msginit/src/simscnumberdetector.cpp Tue Sep 07 13:28:39 2010 +0530
@@ -448,22 +448,40 @@
}
QDEBUG_WRITE("CMsgSimOperation::DoStartRunL create name")
-
- TBuf<100> name(KSmscSimDefaultName);
- name.AppendNum(i);
-
- QDEBUG_WRITE("CMsgSimOperation::DoStartRunL name created")
-
- smsSettings->AddServiceCenterL(name, entry.iServiceCentre.iTelNumber);
+
+ TBool duplicateFound(EFalse);
+
+ numSCAddresses = smsSettings->ServiceCenterCount();
+ for ( TInt j = 0; j < numSCAddresses; j++ )
+ {
+ if ( entry.iServiceCentre.iTelNumber == smsSettings->GetServiceCenter( j ).Address() )
+ {
+ QDEBUG_WRITE_FORMAT("DoStartRunL - Duplicate. SMSC ", i)
+ QDEBUG_WRITE_FORMAT("DoStartRunL - of Sms Settings SMSC ", j)
+ duplicateFound = ETrue;
+ break;
+ }
+ }
+ if(!duplicateFound)
+ {
+ TBuf<KMaxNameLength> name;
+ name = entry.iText;
+ if ( name == KNullDesC )
+ {
+ name.Append(KSmscSimDefaultName);
+ name.AppendNum(i);
+ }
+
+ QDEBUG_WRITE("CMsgSimOperation::DoStartRunL name created")
+ smsSettings->AddServiceCenterL(name, entry.iServiceCentre.iTelNumber);
+ QDEBUG_WRITE("CMsgSimOperation::DoStartRunL AddServiceCenterL completed")
+ }
-
- QDEBUG_WRITE("CMsgSimOperation::DoStartRunL AddServiceCenterL completed")
-
- if ( i == 0 )
+ if (i==0)
{
- smsSettings->SetDefaultServiceCenter(i);
- QDEBUG_WRITE("CMsgSimOperation::DoStartRunL SetDefaultServiceCenter completed")
- }
+ smsSettings->SetDefaultServiceCenter(i);
+ QDEBUG_WRITE("CMsgSimOperation::DoStartRunL SetDefaultServiceCenter completed")
+ }
}
// save settings