2 * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <eventsystem.h>
21 #include "MsgUtilFile.h"
22 #include "MsgContact.h"
23 #include "MsgUtilFunction.h"
24 #include "MsgUtilStorage.h"
25 #include "MsgGconfWrapper.h"
26 #include "MsgSpamFilter.h"
27 #include "MsgPluginManager.h"
28 #include "MsgStorageHandler.h"
29 #include "MsgDeliverHandler.h"
30 #include "MsgNotificationWrapper.h"
31 #include "MsgDevicedWrapper.h"
33 /*==================================================================================================
35 ==================================================================================================*/
37 /*==================================================================================================
38 FUNCTION IMPLEMENTATION
39 ==================================================================================================*/
41 void MsgLaunchClass0(msg_message_id_t msgId)
44 #ifndef MSG_WEARABLE_PROFILE
46 msg_error_t err = MSG_SUCCESS;
51 MSG_DEBUG("bundle_create() is failed");
55 ret = bundle_add_str(b, "type", "msg_id");
57 MSG_DEBUG("bundle_add_str() is failed : %d", ret);
63 memset(&tmpStrMsgId, 0x00, sizeof(tmpStrMsgId));
64 snprintf(tmpStrMsgId, sizeof(tmpStrMsgId), "%d", msgId);
65 MSG_DEBUG("tmpStrMsgId [%s]", tmpStrMsgId);
66 ret = bundle_add_str(b, "msgId", tmpStrMsgId);
68 MSG_DEBUG("bundle_add_str() is failed : %d", ret);
73 err = msg_launch_app("org.tizen.msg-ui-class0", b);
74 if (err != MSG_SUCCESS) {
75 MSG_DEBUG("msg_launch_app() is failed : %d", err);
79 #endif // MSG_WEARABLE_PROFILE
84 msg_error_t MsgHandleMmsConfIncomingMsg(MSG_MESSAGE_INFO_S *pMsgInfo, msg_request_id_t reqID)
88 msg_error_t err = MSG_SUCCESS;
89 MsgDbHandler *dbHandle = getDbHandle();
91 MSG_DEBUG(" msgtype subtype is [%d]", pMsgInfo->msgType.subType);
93 if (pMsgInfo->msgType.subType == MSG_RETRIEVE_AUTOCONF_MMS || pMsgInfo->msgType.subType == MSG_RETRIEVE_MANUALCONF_MMS) {
94 // keep original subType
95 MSG_SUB_TYPE_T subType = pMsgInfo->msgType.subType;
97 /* If Retrieve Failed, Msg SubType is remained as Notification Ind */
98 if (pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_FAIL || pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_PENDING) {
99 pMsgInfo->folderId = MSG_INBOX_ID;
100 pMsgInfo->msgType.subType = MSG_NOTIFICATIONIND_MMS;
103 // err = MsgStoUpdateMMSMessage(pMsgInfo);
105 // if (err == MSG_SUCCESS)
106 // MSG_DEBUG("Command Handle Success : MsgStoUpdateMessage()");
108 if (pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS) {
109 MSG_DEBUG("### MSG_NETWORK_RETRIEVE_SUCCESS ###");
110 //Update Mms Message to MMS Plugin DB
112 // MMS Received Ind Process Func
113 MsgPlugin *plg = MsgPluginManager::instance()->getPlugin(pMsgInfo->msgType.mainType);
115 return MSG_ERR_NULL_POINTER;
117 //Contents of msg Data was removed and replaced to retrievedFilePath
118 // NOTICE:: now it was moved to handleEvent in MsgListnerThread
119 err = plg->updateMessage(pMsgInfo, NULL, NULL);
120 if (err != MSG_SUCCESS)
121 return MSG_ERR_STORAGE_ERROR;
124 err = MsgStoUpdateMMSMessage(pMsgInfo);//For Text Update
126 if (err == MSG_SUCCESS)
127 MSG_DEBUG("Command Handle Success : MsgStoUpdateMessage()");
130 MSG_DEBUG(" ######################### MESSAGE UPDATE COMPLETED!!! ######################");
132 bool readStatus = false;
134 MsgStoGetReadStatus(pMsgInfo->msgId, &readStatus);
135 MSG_DEBUG("### readStatus = %d ###", readStatus);
137 //Update Read Status to Unread because Noti is Read
138 if (subType == MSG_RETRIEVE_MANUALCONF_MMS && pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS) {
139 MSG_DEBUG("###2. subType = %d ###", pMsgInfo->msgType.subType);
141 if (readStatus == true) {
142 MsgStoSetReadStatus(dbHandle, pMsgInfo->msgId, false);
143 MsgRefreshNotification(MSG_NOTI_TYPE_NORMAL, false, MSG_ACTIVE_NOTI_TYPE_NONE);
147 if (subType == MSG_RETRIEVE_AUTOCONF_MMS && pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS) {
148 #ifndef MSG_CONTACTS_SERVICE_NOT_SUPPORTED
150 MSG_DEBUG("Enter MsgAddPhoneLog() for mms message.");
151 MsgAddPhoneLog(pMsgInfo);
152 /* Send system event */
156 bundle_add_str(b, EVT_KEY_MSG_TYPE, EVT_VAL_MMS);
157 char msgId[MSG_EVENT_MSG_ID_LEN] = {0, };
158 snprintf(msgId, sizeof(msgId), "%u", pMsgInfo->msgId);
159 bundle_add_str(b, EVT_KEY_MSG_ID, msgId);
160 eventsystem_send_system_event(SYS_EVENT_INCOMMING_MSG, b);
161 bundle_add_str(b, "cmd", "incoming_msg");
162 msg_launch_app(MSG_MGR_APP_ID, b);
165 #endif //MSG_CONTACTS_SERVICE_NOT_SUPPORTED
167 if (pMsgInfo->folderId == MSG_INBOX_ID)
168 MsgInsertNotification(pMsgInfo);
170 } else if (subType == MSG_RETRIEVE_MANUALCONF_MMS) {
171 if (pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS) {
172 MSG_DEBUG("Manual success");
173 #if 0 //disable as per UX request to not show success notification : 2015.9.18
174 if (pMsgInfo->folderId == MSG_INBOX_ID)
175 MsgInsertTicker("Message Retrieved", MESSAGE_RETRIEVED, true, 0);
177 } else if (pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_FAIL) {
178 MSG_DEBUG("Manual failed");
179 MsgInsertTicker("Retrieving message failed", RETRIEVING_MESSAGE_FAILED, true, pMsgInfo->msgId);
182 } else if (pMsgInfo->msgType.subType == MSG_SENDREQ_MMS || pMsgInfo->msgType.subType == MSG_SENDCONF_MMS) {
183 MsgPlugin *plg = MsgPluginManager::instance()->getPlugin(pMsgInfo->msgType.mainType);
185 return MSG_ERR_NULL_POINTER;
187 if (pMsgInfo->networkStatus == MSG_NETWORK_SEND_PENDING)
188 pMsgInfo->msgType.subType = MSG_SENDREQ_MMS;
190 pMsgInfo->msgType.subType = MSG_SENDCONF_MMS; // change subType for storage update
192 err = MsgStoUpdateMMSMessage(pMsgInfo);
193 if (err == MSG_SUCCESS)
194 MSG_DEBUG("Command Handle Success : MsgStoUpdateMMSMessage()");
196 err = plg->updateMessage(pMsgInfo, NULL, NULL);
197 if (err != MSG_SUCCESS)
198 return MSG_ERR_STORAGE_ERROR;
200 MSG_DEBUG("pMsg->networkStatus : %d", pMsgInfo->networkStatus);
201 err = MsgStoUpdateNetworkStatus(dbHandle, pMsgInfo, pMsgInfo->networkStatus);
202 if (err != MSG_SUCCESS)
203 return MSG_ERR_STORAGE_ERROR;
205 if (pMsgInfo->networkStatus == MSG_NETWORK_SEND_SUCCESS) {
206 err = MsgStoMoveMessageToFolder(pMsgInfo->msgId, MSG_SENTBOX_ID);
207 if (err != MSG_SUCCESS)
208 return MSG_ERR_STORAGE_ERROR;
211 // Get subject and text
212 MsgStoGetText(pMsgInfo->msgId, pMsgInfo->subject, pMsgInfo->msgText);
214 MSG_DEBUG(" ######################### MESSAGE UPDATE COMPLETED!!! ######################");
219 msg_error_t MsgHandleIncomingMsg(MSG_MESSAGE_INFO_S *pMsgInfo, bool *pSendNoti)
223 msg_error_t err = MSG_SUCCESS;
227 if (pMsgInfo->msgType.mainType == MSG_SMS_TYPE) {
228 bool bOnlyNoti = false;
230 err = MsgHandleSMS(pMsgInfo, pSendNoti, &bOnlyNoti);
232 if (err == MSG_SUCCESS && ((*pSendNoti) || bOnlyNoti))
233 MsgInsertNotification(pMsgInfo);
235 } else if (pMsgInfo->msgType.mainType == MSG_MMS_TYPE) {
236 err = MsgHandleMMS(pMsgInfo, pSendNoti);
242 if ((err == MSG_SUCCESS) &&
243 (pMsgInfo->folderId == MSG_INBOX_ID || pMsgInfo->folderId == MSG_SPAMBOX_ID) &&
244 (pMsgInfo->msgType.mainType == MSG_SMS_TYPE) &&
245 (pMsgInfo->msgType.subType != MSG_WAP_SL_SMS)) {
246 #ifndef MSG_CONTACTS_SERVICE_NOT_SUPPORTED
247 MSG_DEBUG("Enter MsgAddPhoneLog() : pMsg->folderId [%d]", pMsgInfo->folderId);
248 MsgAddPhoneLog(pMsgInfo);
249 #endif //MSG_CONTACTS_SERVICE_NOT_SUPPORTED
253 //MsgStoAutoDeleteConversation(pMsgInfo->threadId);
261 msg_error_t MsgHandleSMS(MSG_MESSAGE_INFO_S *pMsgInfo, bool *pSendNoti, bool *bOnlyNoti)
263 msg_error_t err = MSG_SUCCESS;
264 MsgDbHandler *dbHandle = getDbHandle();
266 if (pMsgInfo->msgPort.valid == true) {
273 MSG_SENDINGOPT_INFO_S send_opt;
274 memset(&send_opt, 0x00, sizeof(MSG_SENDINGOPT_INFO_S));
276 if (pMsgInfo->msgType.classType == MSG_CLASS_2) {
277 #ifdef MSG_NOTI_INTEGRATION
278 MSG_DEBUG("Copy Class2 message to phone storage.");
279 pMsgInfo->msgType.classType = MSG_CLASS_NONE;
280 pMsgInfo->storageId = MSG_STORAGE_PHONE;
283 MSG_DEBUG("Class2 message is already added.");
288 if (msg_check_dpm_policy(pMsgInfo->msgType.mainType) == false) {
289 MSG_DEBUG("Messaging is restricted by DPM policy.");
290 pMsgInfo->bRestricted = true;
295 if (pMsgInfo->msgType.subType == MSG_NORMAL_SMS) {
296 MSG_DEBUG("Add Normal Message");
297 err = MsgStoAddMessage(pMsgInfo, &send_opt);
298 } else if ((pMsgInfo->msgType.subType >= MSG_REPLACE_TYPE1_SMS) && (pMsgInfo->msgType.subType <= MSG_REPLACE_TYPE7_SMS)) {
299 MSG_DEBUG("Add Replace Message");
302 MsgStoGetReplaceMsgId(pMsgInfo);
304 if (pMsgInfo->msgId > 0) {
305 err = MsgStoUpdateMessage(pMsgInfo, &send_opt);
307 err = MsgStoAddMessage(pMsgInfo, &send_opt);
308 pMsgInfo->msgType.subType = MSG_NORMAL_SMS; // To make 'insert' type for storage change callback.
310 } else if ((pMsgInfo->msgType.subType == MSG_WAP_SI_SMS) || (pMsgInfo->msgType.subType == MSG_WAP_CO_SMS) || (pMsgInfo->msgType.subType == MSG_WAP_SL_SMS)) {
311 MSG_DEBUG("Add WAP Push Message");
312 switch (pMsgInfo->msgType.subType) {
315 err = MsgStoAddWAPMsg(pMsgInfo);
318 err = MsgStoAddCOWAPMsg(pMsgInfo);
323 } else if ((pMsgInfo->msgType.subType == MSG_CB_SMS) || (pMsgInfo->msgType.subType == MSG_JAVACB_SMS)) {
324 /** check add message option */
325 } else if (pMsgInfo->msgType.subType == MSG_STATUS_REPORT_SMS) {
326 MSG_DEBUG("Add Report Message");
327 } else if (pMsgInfo->msgType.subType >= MSG_MWI_VOICE_SMS && pMsgInfo->msgType.subType <= MSG_MWI_OTHER_SMS) {
328 char keyName[MAX_VCONFKEY_NAME_LEN];
329 memset(keyName, 0x00, sizeof(keyName));
330 snprintf(keyName, sizeof(keyName), "%s/%d", VOICEMAIL_NUMBER, pMsgInfo->sim_idx);
331 char *voiceNumber = NULL;
332 if (MsgSettingGetString(keyName, &voiceNumber) != MSG_SUCCESS) {
333 MSG_INFO("MsgSettingGetString() is failed");
337 MSG_SEC_DEBUG("Voice Mail Number [%s]", voiceNumber);
339 memset(pMsgInfo->addressList[0].addressVal, 0x00, sizeof(pMsgInfo->addressList[0].addressVal));
340 snprintf(pMsgInfo->addressList[0].addressVal, sizeof(pMsgInfo->addressList[0].addressVal), "%s", voiceNumber);
341 memset(keyName, 0x00, sizeof(keyName));
342 snprintf(keyName, sizeof(keyName), "%s/%d", VOICEMAIL_ALPHA_ID, pMsgInfo->sim_idx);
343 char *alphaId = NULL;
344 if (MsgSettingGetString(keyName, &alphaId) != MSG_SUCCESS) {
345 MSG_INFO("MsgSettingGetString() is failed");
348 memset(pMsgInfo->addressList->displayName, 0x00, sizeof(pMsgInfo->addressList->displayName));
349 memcpy(pMsgInfo->addressList->displayName, alphaId, sizeof(pMsgInfo->addressList->displayName)-1);
358 memset(keyName, 0x00, sizeof(keyName));
359 snprintf(keyName, sizeof(keyName), "%s/%d", VOICEMAIL_COUNT, pMsgInfo->sim_idx);
361 if (MsgSettingGetInt(keyName, &voicecnt) != MSG_SUCCESS) {
362 MSG_INFO("MsgSettingGetInt() is failed");
364 memset(pMsgInfo->msgText, 0x00, sizeof(pMsgInfo->msgText));
365 snprintf(pMsgInfo->msgText, sizeof(pMsgInfo->msgText), "%d", voicecnt);
366 pMsgInfo->dataSize = strlen(pMsgInfo->msgText);
367 MSG_DEBUG("Add Voice or other Message");
369 MSG_DEBUG("No matching type [%d]", pMsgInfo->msgType.subType);
373 if (err != MSG_SUCCESS)
374 MSG_DEBUG("Add message - Error : [%d]", err);
376 if (pMsgInfo->msgType.subType == MSG_NORMAL_SMS) {
377 if (MsgCheckFilter(dbHandle, pMsgInfo) == true) {
379 err = MsgStoMoveMessageToFolder(pMsgInfo->msgId, MSG_SPAMBOX_ID);
381 if (err != MSG_SUCCESS) {
382 MSG_DEBUG("MsgStoMoveMessageToFolder() Error : [%d]", err);
384 pMsgInfo->folderId = MSG_SPAMBOX_ID;
389 } else if (pMsgInfo->msgType.classType == MSG_CLASS_0) {
390 MsgLaunchClass0(pMsgInfo->msgId);
391 MsgSoundPlayStart(&(pMsgInfo->addressList[0]), MSG_SOUND_PLAY_USER);
396 MsgInsertOnlyActiveNotification(MSG_NOTI_TYPE_CLASS0, pMsgInfo);
398 } else if ((pMsgInfo->msgType.subType >= MSG_WAP_SI_SMS) && (pMsgInfo->msgType.subType <= MSG_WAP_CO_SMS)) {
399 MSG_DEBUG("Starting WAP Message Incoming.");
401 #ifndef MSG_WEARABLE_PROFILE
403 if (MsgSettingGetInt(PUSH_SERVICE_TYPE, &tmpVal) != MSG_SUCCESS) {
404 MSG_INFO("MsgSettingGetInt() is failed");
406 MSG_PUSH_SERVICE_TYPE_T serviceType = (MSG_PUSH_SERVICE_TYPE_T)tmpVal;
407 switch (pMsgInfo->msgType.subType) {
408 case MSG_WAP_SL_SMS: {
411 if (serviceType == MSG_PUSH_SERVICE_ALWAYS) {
415 MSG_DEBUG("bundle_create() is failed");
419 err = msg_aul_svc_set_operation(b, "http://tizen.org/appcontrol/operation/view");
420 if (err != MSG_SUCCESS) {
421 MSG_DEBUG("msg_aul_svc_set_operation() is failed : %d", err);
426 err = msg_aul_svc_set_uri(b, pMsgInfo->msgText);
427 if (err != MSG_SUCCESS) {
428 MSG_DEBUG("msg_aul_svc_set_uri() is failed : %d", err);
433 err = msg_launch_app(MSG_SVC_PKG_NAME_BROWSER, b);
434 if (err != MSG_SUCCESS) {
435 MSG_DEBUG("msg_launch_app() is failed : %d", err);
439 } else if (serviceType == MSG_PUSH_SERVICE_PROMPT) {
440 MSG_DEBUG("WAP Message SL(Always Ask) start.");
446 MSG_DEBUG("bundle_create() is failed");
450 ret = bundle_add_str(b, "mode", "WAP_PUSH_SL");
452 MSG_DEBUG("bundle_add_str() is failed : %d", ret);
457 ret = bundle_add_str(b, "url", pMsgInfo->msgText);
459 MSG_DEBUG("bundle_add_str() is failed : %d", ret);
464 ret = bundle_add_str(b, "address", pMsgInfo->addressList[0].addressVal);
466 MSG_DEBUG("bundle_add_str() is failed : %d", ret);
471 err = msg_launch_app("org.tizen.message-dialog", b);
472 if (err != MSG_SUCCESS) {
473 MSG_DEBUG("msg_launch_app() is failed : %d", err);
486 MsgInsertOnlyActiveNotification(MSG_NOTI_TYPE_NORMAL, pMsgInfo);
489 #endif // MSG_WEARABLE_PROFILE
490 } else if (pMsgInfo->msgType.subType == MSG_STATUS_REPORT_SMS) {
493 } else if (pMsgInfo->msgType.subType >= MSG_MWI_VOICE_SMS && pMsgInfo->msgType.subType <= MSG_MWI_OTHER_SMS) {
494 if (pMsgInfo->bStore == false) {
500 // Update Conversation table
501 err = MsgStoUpdateConversation(dbHandle, pMsgInfo->threadId);
503 if (err != MSG_SUCCESS)
504 MSG_DEBUG("MsgStoUpdateConversation() Error : [%d]", err);
510 msg_error_t MsgHandleMMS(MSG_MESSAGE_INFO_S *pMsgInfo, bool *pSendNoti)
512 msg_error_t err = MSG_SUCCESS;
513 MsgDbHandler *dbHandle = getDbHandle();
514 MSG_REQUEST_INFO_S request = {0};
515 bool bReject = false;
516 bool bFiltered = false;
518 // MMS Received Ind Process Func
519 MSG_MAIN_TYPE_T msgMainType = pMsgInfo->msgType.mainType;
520 MsgPlugin *plg = MsgPluginManager::instance()->getPlugin(msgMainType);
523 return MSG_ERR_NULL_POINTER;
525 // Read the default network SIM
526 MsgPlugin *sms_plg = MsgPluginManager::instance()->getPlugin(MSG_SMS_TYPE);
529 return MSG_ERR_NULL_POINTER;
531 int defaultNetworkSimId = 0;
533 err = sms_plg->getDefaultNetworkSimId(&defaultNetworkSimId);
535 MSG_DEBUG("######defaultNetworkSimId = %d, err = %d", defaultNetworkSimId, err);
537 if (err != MSG_SUCCESS) {
538 MSG_ERR("getDefaultNetworkSimId is failed=[%d]", err);
542 err = MsgSettingSetInt(MSG_NETWORK_SIM, (int)defaultNetworkSimId);
543 if (err != MSG_SUCCESS) {
544 MSG_ERR("Error to set config data [%s], err = %d", MSG_NETWORK_SIM, err);
548 // Need to process m-delivery-ind, m-notification-ind, m-read-orig-ind
549 err = plg->processReceivedInd(pMsgInfo, &request, &bReject);
551 if (err == MSG_SUCCESS) {
552 MSG_DEBUG("Process Message Success : processReceivedInd(), btextsms %d", pMsgInfo->bTextSms);
554 MSG_DEBUG("Process Message Fail : processReceivedInd()");
560 if ((pMsgInfo->msgType.subType == MSG_NOTIFICATIONIND_MMS) && bReject == false) {
561 /* It should send noti response even if MMS is blocked by sender address. */
562 //bFiltered = MsgCheckFilter(dbHandle, pMsgInfo);
563 if (pMsgInfo->folderId == MSG_SPAMBOX_ID) {
567 if (bFiltered == true) {
568 err = MsgStoMoveMessageToFolder(pMsgInfo->msgId, MSG_SPAMBOX_ID);
570 if (err != MSG_SUCCESS) {
571 MSG_DEBUG("MsgStoMoveMessageToFolder() Error : [%d]", err);
573 pMsgInfo->folderId = MSG_SPAMBOX_ID;
576 pMsgInfo->networkStatus = MSG_NETWORK_RETRIEVE_FAIL;
578 } else {/* If it is not SPAM message, it should be check whether filter option is enable or not. */
579 bool filterFlag = false;
580 MsgGetFilterOperation(&filterFlag);
581 if (filterFlag == true && request.msgInfo.msgType.subType == MSG_GET_MMS) {
582 /* Not to show MMS notification msg until it retrieves. */
583 pMsgInfo->folderId = MSG_IOSBOX_ID;
588 if (msg_check_dpm_policy(pMsgInfo->msgType.mainType) == false) {
589 MSG_DEBUG("Messaging is restricted by DPM policy.");
590 pMsgInfo->bRestricted = true;
594 err = MsgStoAddMessage(pMsgInfo, NULL);
596 if (err != MSG_SUCCESS) {
597 MSG_DEBUG("MsgStoAddMessage() Error: [%d]", err);
600 } else if (pMsgInfo->msgType.subType == MSG_READORGIND_MMS || pMsgInfo->msgType.subType == MSG_DELIVERYIND_MMS) {
601 if (MsgInsertNotification(pMsgInfo) == MSG_SUCCESS)
606 if (pMsgInfo->bTextSms == false) {
607 MsgDeleteFile(pMsgInfo->msgData); //ipc
608 memset(pMsgInfo->msgData, 0x00, sizeof(pMsgInfo->msgData));
611 //In the case of m-notification-ind, we should decide whether to send m-notify-response-ind or http 'Get'
613 if (pMsgInfo->msgType.subType == MSG_NOTIFICATIONIND_MMS) {
614 if (request.msgInfo.msgType.subType == MSG_NOTIFYRESPIND_MMS && bReject == false && bFiltered == false)
615 MsgInsertNotification(pMsgInfo);
619 MSG_DEBUG("default_sim = %d, pMsgInfo->sim_idx = %d", defaultNetworkSimId, pMsgInfo->sim_idx);
621 if (defaultNetworkSimId == pMsgInfo->sim_idx) {
622 request.msgInfo.msgId = pMsgInfo->msgId;
624 MSG_SEC_DEBUG("-=====================[[[ %s ]]]] =========================", request.msgInfo.msgData);
625 err = plg->submitReq(&request);
627 if (err == MSG_SUCCESS) {
628 MSG_DEBUG("Process Message Success : processReceivedInd()");
630 if (request.msgInfo.msgType.subType == MSG_GET_MMS) {
631 MSG_DEBUG("Auto Retrieve Mode : update network status retrieving");
632 MsgStoUpdateNetworkStatus(dbHandle, &(request.msgInfo), MSG_NETWORK_RETRIEVING);
636 MSG_DEBUG("Process Message Fail : processReceivedInd()");