diff -r a3a1ae9acec6 -r da5135c61bad emailservices/emailserver/cmailhandlerplugin/src/fsnotificationhandlerbaseimpl.cpp --- a/emailservices/emailserver/cmailhandlerplugin/src/fsnotificationhandlerbaseimpl.cpp Mon Mar 15 12:39:10 2010 +0200 +++ b/emailservices/emailserver/cmailhandlerplugin/src/fsnotificationhandlerbaseimpl.cpp Wed Mar 31 21:08:33 2010 +0300 @@ -239,9 +239,7 @@ *parentFolder, *newEntries ) ) { - // it doesn't matter if the mailindicator won't get updated - // its better have it not updated compared to a leave - TRAP_IGNORE(MailIndicatorHandlingL(aMailbox)); + TurnNotificationOn(); } } else @@ -259,74 +257,6 @@ } } -void CFSNotificationHandlerBase::MailIndicatorHandlingL(TFSMailMsgId aMailbox) - { - /** - * There is always a pair of keys for one mailbox - * 1st keys is the plugin id (numberOfMailboxes*2-1) - * 2nd is the mailboxId (numberOfMailboxes*2) - */ - TInt numberOfMailboxes(0); - CRepository* emailRepository = CRepository::NewL( KFreestyleEmailCenRep ); - CleanupStack::PushL(emailRepository); - emailRepository->Get(KNumberOfMailboxesWithNewEmails, numberOfMailboxes); - CRepository* commonEmailRepository = CRepository::NewL( KCmailDataRepository ); - CleanupStack::PushL(commonEmailRepository); - if(numberOfMailboxes != 0) - { - RArray repositoryIds; - CleanupClosePushL(repositoryIds); - TInt tmp(0); - for(TInt i = 1 ; i <= numberOfMailboxes * 2; i++ ) - { - emailRepository->Get(KNumberOfMailboxesWithNewEmails+i, tmp); - repositoryIds.Append(tmp); - } - TInt index = repositoryIds.Find(static_cast(aMailbox.Id())); - // If it is we delete it from the array - if(index != KErrNotFound ) - { - //unless it is the last item, then we don't have to do anything - if(index != (repositoryIds.Count()-1)) - { - repositoryIds.Remove(index); - repositoryIds.Remove(index-1); - // Rearrange the mailbox/mailplugin ids - // in the repository - for(TInt j = 0; j < repositoryIds.Count(); j++) - { - emailRepository->Set(KNumberOfMailboxesWithNewEmails + 1 + j, repositoryIds.operator [](j)); - } - // And write the current mailbox/plugin ids back to repository as the last items - emailRepository->Set(KNumberOfMailboxesWithNewEmails + ( numberOfMailboxes * 2 - 1 ), static_cast(aMailbox.PluginId().iUid)); - emailRepository->Set(KNumberOfMailboxesWithNewEmails + ( numberOfMailboxes * 2 ),static_cast(aMailbox.Id()) ); - commonEmailRepository->Set(KCmailNewEmailDisplayText,MailClient().GetMailBoxByUidL(aMailbox)->GetName()); - } - } - else - { - //Create keys with right values and update the number of mailboxes - numberOfMailboxes += 1; - emailRepository->Set(KNumberOfMailboxesWithNewEmails, numberOfMailboxes); - emailRepository->Create(KNumberOfMailboxesWithNewEmails + (numberOfMailboxes * 2 - 1), static_cast(aMailbox.PluginId().iUid)); - emailRepository->Create(KNumberOfMailboxesWithNewEmails + (numberOfMailboxes * 2), static_cast(aMailbox.Id())); - commonEmailRepository->Set(KCmailNewEmailDisplayText,MailClient().GetMailBoxByUidL(aMailbox)->GetName()); - } - repositoryIds.Reset(); - CleanupStack::PopAndDestroy();//repositoryIds - } - else - { - //Create keys with right values and pudate the number of mailboxes - numberOfMailboxes += 1; - emailRepository->Set(KNumberOfMailboxesWithNewEmails, numberOfMailboxes); - emailRepository->Create(KNumberOfMailboxesWithNewEmails + (numberOfMailboxes * 2 - 1), static_cast(aMailbox.PluginId().iUid)); - emailRepository->Create(KNumberOfMailboxesWithNewEmails + (numberOfMailboxes * 2), static_cast(aMailbox.Id())); - commonEmailRepository->Set(KCmailNewEmailDisplayText,MailClient().GetMailBoxByUidL(aMailbox)->GetName()); - } - CleanupStack::PopAndDestroy(2);// emailRepository, CommonEmailRepository - TurnNotificationOn(); - } CFSMailMessage* CFSNotificationHandlerBase::NewestMsgInFolderL( /*const*/ CFSMailFolder& aFolder ) const