return COMPOSER_RETURN_SUCCESS;
}
-static COMPOSER_RETURN_TYPE_E __msg_ui_composer_make_sms_message(msg_handle_t msg_handle)
+static COMPOSER_RETURN_TYPE_E __msg_ui_composer_make_sms_message(msg_handle_t msg_handle, int msg_id)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
}
int err = MSG_SUCCESS;
+
+ /* set msgid */
+ if (msg_id) {
+ D_MSG("msg_id = %d", msg_id);
+ if (msg_set_int_value(msg_data->msgInfo, MSG_MESSAGE_ID_INT, msg_id) != MSG_SUCCESS) {
+ MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT] set msgId error");
+ }
+ }
+
/* set message type to SMS */
if (msg_set_int_value(msg_data->msgInfo, MSG_MESSAGE_TYPE_INT, MSG_TYPE_SMS) != MSG_SUCCESS) {
MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT]msg_ui_comp_core_set_message_type error !!");
return COMPOSER_RETURN_SUCCESS;
}
-static COMPOSER_RETURN_TYPE_E __msg_ui_composer_make_mms_message(msg_handle_t msg_handle)
+static COMPOSER_RETURN_TYPE_E __msg_ui_composer_make_mms_message(msg_handle_t msg_handle, int msg_id)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
ui_mms_data = msg_data->mms_data;
+ /* set msgid */
+ if (msg_id) {
+ D_MSG("msg_id = %d", msg_id);
+ if (msg_set_int_value(msg_data->msgInfo, MSG_MESSAGE_ID_INT, msg_id) != MSG_SUCCESS) {
+ MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT] set msgId error");
+ }
+ }
+
/* set msg type to MMS */
if (msg_set_int_value(msg_data->msgInfo, MSG_MESSAGE_TYPE_INT, MSG_TYPE_MMS) != MSG_SUCCESS) {
MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT] set message type[MMS] error");
return NULL;
}
- if (__msg_ui_composer_make_mms_message(msg_handle)
+ if (__msg_ui_composer_make_mms_message(msg_handle, 0)
!= COMPOSER_RETURN_SUCCESS) {
MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "[ERROR] make mms message error !!!");
return NULL;
return msg_data->msgInfo;
}
-COMPOSER_RETURN_TYPE_E msg_ui_composer_message_make_and_send(msg_handle_t msg_handle, msg_thread_id_t *tid)
+COMPOSER_RETURN_TYPE_E msg_ui_composer_message_make_and_send(msg_handle_t msg_handle, int msg_id, msg_thread_id_t *tid)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
/* 2. make message */
if (msg_data->msg_type == COMPOSER_MSG_TYPE_SMS) {
- if (__msg_ui_composer_make_sms_message(msg_handle) != COMPOSER_RETURN_SUCCESS)
+ if (__msg_ui_composer_make_sms_message(msg_handle, msg_id) != COMPOSER_RETURN_SUCCESS)
ret = COMPOSER_RETURN_FAIL;
} else if (msg_data->msg_type == COMPOSER_MSG_TYPE_MMS) {
- if (__msg_ui_composer_make_mms_message(msg_handle) != COMPOSER_RETURN_SUCCESS)
+ if (__msg_ui_composer_make_mms_message(msg_handle, msg_id) != COMPOSER_RETURN_SUCCESS)
ret = COMPOSER_RETURN_FAIL;
} else {
MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT] invalid message type");
return ret;
}
-COMPOSER_RETURN_TYPE_E msg_ui_composer_save_message(msg_handle_t msg_handle)
+COMPOSER_RETURN_TYPE_E msg_ui_composer_save_message(msg_handle_t msg_handle, int msg_id)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
/* 2. make message */
if (msg_data->msg_type == COMPOSER_MSG_TYPE_SMS) {
- if (__msg_ui_composer_make_sms_message(msg_handle) != COMPOSER_RETURN_SUCCESS)
+ if (__msg_ui_composer_make_sms_message(msg_handle, msg_id) != COMPOSER_RETURN_SUCCESS)
ret = COMPOSER_RETURN_FAIL;
} else if (msg_data->msg_type == COMPOSER_MSG_TYPE_MMS) {
- if (__msg_ui_composer_make_mms_message(msg_handle) != COMPOSER_RETURN_SUCCESS)
+ if (__msg_ui_composer_make_mms_message(msg_handle, msg_id) != COMPOSER_RETURN_SUCCESS)
ret = COMPOSER_RETURN_FAIL;
} else {
MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT, "[ASSERT] invalid message type");
msg_struct_t sendOpt = msg_create_struct(MSG_STRUCT_SENDOPT);
msg_set_bool_value(sendOpt, MSG_SEND_OPT_SETTING_BOOL, false);
- ret = msg_add_message(msg_handle, msg_data->msgInfo, sendOpt);
+ if (!msg_id)
+ ret = msg_add_message(msg_handle, msg_data->msgInfo, sendOpt);
+ else
+ ret = msg_update_message(msg_handle, msg_data->msgInfo, sendOpt);
msg_release_struct(&sendOpt);
}
bool set_recipient = false;
int msg_id = atoi(bundle_txt);
- if (cd->composer_mode == MSG_COMPOSER_MODE_EDIT)
+ if (cd->composer_mode == MSG_COMPOSER_MODE_EDIT) {
+ cd->msg_id = msg_id;
set_recipient = true;
+ }
msg_ui_composer_message_init();
msg_ui_composer_message_load_message(cd->msg_handle, msg_id);
msg_ui_composer_message_init();
if (msg_ui_composer_get_message_data(cd) == COMPOSER_RETURN_SUCCESS) {
- msg_ui_composer_save_message(cd->msg_handle);
+ msg_ui_composer_save_message(cd->msg_handle, cd->msg_id);
}
msg_ui_composer_message_destroy();
msg_ui_composer_message_init();
if (msg_ui_composer_get_message_data(cd) == COMPOSER_RETURN_SUCCESS) {
- msg_ui_composer_save_message(cd->msg_handle);
+ msg_ui_composer_save_message(cd->msg_handle, cd->msg_id);
}
msg_ui_composer_message_destroy();
if (msg_ui_composer_get_message_data(cd) == COMPOSER_RETURN_SUCCESS) {
D_MSG("save draft message");
- msg_ui_composer_save_message(cd->msg_handle);
+ msg_ui_composer_save_message(cd->msg_handle, cd->msg_id);
/* show saved ticker popup */
msg_ui_composer_common_tickernoti(cd, COMPOSER_TICKERNOTI_AUTO_SAVED);
}