msg_error_t MsgStoUpdateNetworkStatus(MsgDbHandler *pDbHandle, MSG_MESSAGE_INFO_S *pMsgInfo, msg_network_status_t status);
char *MsgStoReplaceString(const char *org_str, const char *old_str, const char *new_str);
void MsgConvertNumber(const char* pSrcNum, char* pDestNum);
+msg_error_t MsgStoRefreshConversationDisplayName();
#endif // MSG_UTIL_STORAGE_H
contacts_record_destroy(contact, true);
+ if (type == -1 && cbFunction != NULL)
+ cbFunction();
+
return true;
}
} else if (!strcmp(keyStr, VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL)) {
bUnknownAutoReject = vconf_keynode_get_bool(key);
MSG_DEBUG("[%s] key CB called. set to [%d].", VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, bUnknownAutoReject);
+ } else if (!strcmp(keyStr, VCONFKEY_CONTACTS_SVC_NAME_DISPLAY_ORDER)) {
+ int contactDisplayOrder = vconf_keynode_get_int(key);
+ MSG_DEBUG("[%s] key CB called. Apply [%d]", VCONFKEY_CONTACTS_SVC_NAME_DISPLAY_ORDER, contactDisplayOrder);
+ MsgStoRefreshConversationDisplayName();
} else {
MSG_DEBUG("key did not match.");
}
MsgSettingRegVconfCBCommon(VCONFKEY_CISSAPPL_AUTO_REJECT_BOOL, MsgVconfCB);
MsgSettingRegVconfCBCommon(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, MsgVconfCB);
+ MsgSettingRegVconfCBCommon(VCONFKEY_CONTACTS_SVC_NAME_DISPLAY_ORDER, MsgVconfCB);
}
void MsgSettingRemoveVconfCB()
{
MsgSettingRemoveVconfCBCommon(VCONFKEY_CISSAPPL_AUTO_REJECT_BOOL, MsgVconfCB);
MsgSettingRemoveVconfCBCommon(VCONFKEY_CISSAPPL_AUTO_REJECT_UNKNOWN_BOOL, MsgVconfCB);
-
+ MsgSettingRemoveVconfCBCommon(VCONFKEY_CONTACTS_SVC_NAME_DISPLAY_ORDER, MsgVconfCB);
}
return replaceStr;
}
+
+
+msg_error_t MsgStoRefreshConversationDisplayName()
+{
+ msg_error_t err = MSG_SUCCESS;
+ MsgDbHandler dbHandle;
+ int rowCnt = 0;
+ char displayName[MAX_DISPLAY_NAME_LEN+1];
+ char sqlQuery[MAX_QUERY_LEN+1];
+
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
+ snprintf(sqlQuery, sizeof(sqlQuery),
+ "SELECT DISTINCT(CONTACT_ID) FROM %s;",
+ MSGFW_ADDRESS_TABLE_NAME);
+
+ err = dbHandle.getTable(sqlQuery, &rowCnt);
+
+ if (err != MSG_SUCCESS && err != MSG_ERR_DB_NORECORD) {
+ dbHandle.freeTable();
+ MSG_DEBUG("Query Failed [%s]", sqlQuery);
+ return err;
+ }
+
+ for (int i = 1; i <= rowCnt; i++)
+ {
+ MsgUpdateContact(dbHandle.getColumnToInt(i), -1);
+ }
+
+ dbHandle.freeTable();
+
+ return err;
+}