--- a/messagingapp/msgappfw/plugins/msgplugin/src/ccsmsghandler.cpp Tue Jul 06 14:12:40 2010 +0300
+++ b/messagingapp/msgappfw/plugins/msgplugin/src/ccsmsghandler.cpp Wed Aug 18 09:45:25 2010 +0300
@@ -306,8 +306,26 @@
{
error = iSession->GetEntry(aSelection->At(i),service,entry);
- if ( entry.Visible() == EFalse )
- {
+ if (aParent == KMsvGlobalInBoxIndexEntryIdValue && KSenduiMtmSmsUidValue == entry.iMtm.iUid)
+ {
+ iSmsMtm->SwitchCurrentEntryL(entry.Id());
+ iSmsMtm->LoadMessageL();
+
+ CSmsHeader& header = static_cast<CSmsClientMtm*> (iSmsMtm)->SmsHeader();
+ CSmsPDU& pdu = header.Message().SmsPDU();
+ TSmsDataCodingScheme::TSmsClass smsClass;
+
+ if (pdu.Class(smsClass) && smsClass == TSmsDataCodingScheme::ESmsClass0
+ && entry.ReadOnly())
+ {
+ iSmsMtm->SwitchCurrentEntryL(entry.iServiceId);
+ // for class 0 sms dont create conversation entry..
+ continue;
+ }
+
+ }
+ if (entry.Visible() == EFalse)
+ {
// Do a delete if entry becomes invisible.
// e.g) My Nokia registration messages.
RPointerArray<CCsConversationEntry>* hiddenEntries =
@@ -630,7 +648,27 @@
CMsvEntry* msvEntry= iSession->
GetEntryL(iMessageArray->operator[](0));
CleanupStack::PushL(msvEntry);
+ TBool isNotClass0 = ETrue;
+
+ if (msvEntry->Entry().iMtm.iUid == KSenduiMtmSmsUidValue && msvEntry->Entry().Parent()
+ == KMsvGlobalInBoxIndexEntryIdValue)
+ {
+ iSmsMtm->SwitchCurrentEntryL(msvEntry->Entry().Id());
+ iSmsMtm->LoadMessageL();
+
+ CSmsHeader& header = static_cast<CSmsClientMtm*> (iSmsMtm)->SmsHeader();
+ CSmsPDU& pdu = header.Message().SmsPDU();
+ TSmsDataCodingScheme::TSmsClass smsClass;
+
+ if (pdu.Class(smsClass) && smsClass == TSmsDataCodingScheme::ESmsClass0)
+ {
+ isNotClass0 = EFalse;
+ }
+ }
+ if (isNotClass0)
+ {
ProcessResultsL(msvEntry->Entry());
+ }
CleanupStack::PopAndDestroy(msvEntry);
iMessageArray->Remove(0);
}
@@ -737,6 +775,18 @@
break;
case KSenduiMtmBioUidValue:
{
+ if (aEntry.iMtmData1 == KSenduiMtmBtUidValue)
+ {
+ if (aEntry.iBioType == KMsgBioUidVCard.iUid)
+ {
+ type = ECsBlueTooth_VCard;
+ }
+ else if (aEntry.iBioType == KMsgBioUidVCalendar.iUid)
+ {
+ type = ECsBlueTooth_VCal;
+ }
+ break;
+ }
type = ECsBioMsg;
// based on the biotype uid set message type