From: Kyeonghun Lee Date: Mon, 22 Aug 2016 06:22:10 +0000 (+0900) Subject: Resolve TSAM-6815: Increase unread count for thread list when receiving restricted... X-Git-Tag: submit/tizen/20160824.005642~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6f02081837149a236bc43e60ac7cdeb2b66ab9a;p=platform%2Fcore%2Fmessaging%2Fmsg-service.git Resolve TSAM-6815: Increase unread count for thread list when receiving restricted message Change-Id: Ifbf5585c7d0d97d414572171313186d607795c44 Signed-off-by: Kyeonghun Lee --- diff --git a/framework/deliver-handler/MsgDeliverHandler.cpp b/framework/deliver-handler/MsgDeliverHandler.cpp index 633025a..5bb1559 100755 --- a/framework/deliver-handler/MsgDeliverHandler.cpp +++ b/framework/deliver-handler/MsgDeliverHandler.cpp @@ -288,8 +288,6 @@ msg_error_t MsgHandleSMS(MSG_MESSAGE_INFO_S *pMsgInfo, bool *pSendNoti, bool *bO if (msg_check_dpm_policy(pMsgInfo->msgType.mainType) == false) { MSG_DEBUG("Messaging is restricted by DPM policy."); pMsgInfo->bRestricted = true; - *pSendNoti = false; - *bOnlyNoti = false; } if (pMsgInfo->msgType.subType == MSG_NORMAL_SMS) { diff --git a/manager/src/msg-manager-notification.cpp b/manager/src/msg-manager-notification.cpp index b4b26c8..c21f375 100644 --- a/manager/src/msg-manager-notification.cpp +++ b/manager/src/msg-manager-notification.cpp @@ -1676,8 +1676,8 @@ int getLatestMsgInfo(MSG_MGR_NOTI_INFO_S *noti_info, bool isForInstantMessage) "A.ADDRESS_VAL, " "B.DISPLAY_TIME, " "B.MSG_ID, " - "B.SUBJECT, " - "B.MSG_TEXT, " + "(CASE WHEN B.DPM_RESTRICTED = 0 THEN B.SUBJECT ELSE \"restricted message\" END), " + "(CASE WHEN B.DPM_RESTRICTED = 0 THEN B.MSG_TEXT ELSE \"restricted message\" END), " "B.MAIN_TYPE, " "(COUNT(DISTINCT(CASE WHEN B.MAIN_TYPE = %d THEN B.MSG_ID END))) AS SMS_UNREAD_CNT, " "(COUNT(DISTINCT(CASE WHEN B.MAIN_TYPE = %d THEN B.MSG_ID END))) AS MMS_UNREAD_CNT, " diff --git a/utils/MsgUtilStorage.cpp b/utils/MsgUtilStorage.cpp index aaf1613..f9725bb 100755 --- a/utils/MsgUtilStorage.cpp +++ b/utils/MsgUtilStorage.cpp @@ -684,9 +684,9 @@ msg_error_t MsgStoUpdateConversation(MsgDbHandler *pDbHandle, msg_thread_id_t co memset(sqlQuery, 0x00, MAX_QUERY_LEN); snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT MAIN_TYPE, SUB_TYPE, MSG_DIRECTION, DISPLAY_TIME, LENGTH(SUBJECT), SUBJECT, MSG_TEXT " + "SELECT MAIN_TYPE, SUB_TYPE, MSG_DIRECTION, DISPLAY_TIME, LENGTH(SUBJECT), SUBJECT, MSG_TEXT, DPM_RESTRICTED " "FROM %s " - "WHERE CONV_ID = %d AND FOLDER_ID > %d AND FOLDER_ID < %d AND STORAGE_ID = %d AND DPM_RESTRICTED = 0 AND SCHEDULED_TIME = 0 ORDER BY DISPLAY_TIME DESC;", + "WHERE CONV_ID = %d AND FOLDER_ID > %d AND FOLDER_ID < %d AND STORAGE_ID = %d AND SCHEDULED_TIME = 0 ORDER BY DISPLAY_TIME DESC;", MSGFW_MESSAGE_TABLE_NAME, convId, MSG_ALLBOX_ID, MSG_SPAMBOX_ID, MSG_STORAGE_PHONE); @@ -697,31 +697,7 @@ msg_error_t MsgStoUpdateConversation(MsgDbHandler *pDbHandle, msg_thread_id_t co } err = pDbHandle->stepQuery(); - if (err == MSG_ERR_DB_DONE) { - pDbHandle->finalizeQuery(); - - memset(sqlQuery, 0x00, MAX_QUERY_LEN); - snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT MAIN_TYPE, SUB_TYPE, MSG_DIRECTION, DISPLAY_TIME, 0, '', '' " - "FROM %s " - "WHERE CONV_ID = %d AND FOLDER_ID > %d AND FOLDER_ID < %d AND STORAGE_ID = %d AND SCHEDULED_TIME = 0 ORDER BY DISPLAY_TIME DESC;", - MSGFW_MESSAGE_TABLE_NAME, - convId, MSG_ALLBOX_ID, MSG_SPAMBOX_ID, MSG_STORAGE_PHONE); - - err = pDbHandle->prepareQuery(sqlQuery); - if (err != MSG_SUCCESS) { - MSG_DEBUG("Fail to prepareQuery()."); - return err; - } - - err = pDbHandle->stepQuery(); - if (err != MSG_ERR_DB_ROW) { - MSG_DEBUG("Fail to stepQuery()."); - pDbHandle->finalizeQuery(); - return err; - } - - } else if (err != MSG_ERR_DB_ROW) { + if (err != MSG_ERR_DB_ROW) { MSG_DEBUG("Fail to stepQuery()."); pDbHandle->finalizeQuery(); return err; @@ -732,10 +708,16 @@ msg_error_t MsgStoUpdateConversation(MsgDbHandler *pDbHandle, msg_thread_id_t co int msg_direction = pDbHandle->columnInt(2); time_t disp_time = (time_t)pDbHandle->columnInt(3); int subject_length = pDbHandle->columnInt(4); + bool dpm_restricted = pDbHandle->columnInt(7); char subject[MAX_SUBJECT_LEN+1] = {0, }; - snprintf(subject, sizeof(subject), "%s", pDbHandle->columnText(5)); char msg_text[MAX_MSG_TEXT_LEN+1] = {0, }; - snprintf(msg_text, sizeof(msg_text), "%s", pDbHandle->columnText(6)); + if (!dpm_restricted) { + snprintf(subject, sizeof(subject), "%s", pDbHandle->columnText(5)); + snprintf(msg_text, sizeof(msg_text), "%s", pDbHandle->columnText(6)); + } else { + snprintf(subject, sizeof(subject), "restricted message"); + snprintf(msg_text, sizeof(msg_text), "restricted message"); + } pDbHandle->finalizeQuery(); memset(sqlQuery, 0x00, MAX_QUERY_LEN); @@ -746,7 +728,7 @@ msg_error_t MsgStoUpdateConversation(MsgDbHandler *pDbHandle, msg_thread_id_t co tmpSize = strlen(sqlQuery); #ifdef MSG_NOTI_INTEGRATION snprintf(sqlQuery+tmpSize, MAX_QUERY_LEN-tmpSize, - "UNREAD_CNT = (SELECT COUNT(MSG_ID) FROM %s WHERE CONV_ID = %d AND (FOLDER_ID = %d OR FOLDER_ID = %d) AND STORAGE_ID = %d AND READ_STATUS = 0 AND DPM_RESTRICTED = 0), ", + "UNREAD_CNT = (SELECT COUNT(MSG_ID) FROM %s WHERE CONV_ID = %d AND (FOLDER_ID = %d OR FOLDER_ID = %d) AND STORAGE_ID = %d AND READ_STATUS = 0), ", MSGFW_MESSAGE_TABLE_NAME, convId, MSG_INBOX_ID, MSG_CBMSGBOX_ID, MSG_STORAGE_PHONE); #else snprintf(sqlQuery+tmpSize, MAX_QUERY_LEN-tmpSize,