目前的修改结果,inbox,选择msg,option,forward,彩信会被自动发送出去。可以需要增加自己的key 注册,特定的判断决定哪些信息要执行auto forward,
参考设计如下,代码使用AUTO_FORWARD_MMS的宏包含:
1. 如果需要特定key转发,可以注册到mmi_umms_app_ui_plug_in_forward, 之前可以决定哪些信息forward,并设置全
局flag来标识
2. MmsSrvGprot.h,添加
#define AUTO_FORWARD_MMS
#ifdef AUTO_FORWARD_MMS
extern MMI_BOOL auto_forward_mms;
#endif
3. MMSAppUIPlugin.c增加
(1)
#ifdef AUTO_FORWARD_MMS
MMI_BOOL auto_forward_mms = MMI_FALSE;
#endif
(2)
mmi_umms_app_ui_plug_in_forward函数
将auto_forward_mms 设置为true
else
{
memset(&uc_start, 0, sizeof(srv_mms_start_uc_struct));
uc_start.msg_id = info->msg_id;
uc_start.uc_mode = MMA_MODE_FORWARD;
uc_start.sim_id = MMI_SIM_ID_SIM1;
#ifdef AUTO_FORWARD_MMS
if( info->msg_info->from_address ) /// 这个条件可以没有,作用主要是根据from地址判断下该信息是否是需
要forward的彩信
{
auto_forward_mms = MMI_TRUE; //设置flag为true
}
#endif
#ifdef __MMI_MMS_POSTCARD__
if (info->msg_info->msg_type == MMA_MSG_TYPE_POSTCARD)
{
uc_start.edit_mode = MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS;
}
#endif /* __MMI_MMS_POSTCARD__ */
uc_start.storage_type = info->msg_info->storage_location;
mmi_umms_app_ui_draw_dummy_screen();
srv_mms_start_uc(&uc_start);
mmi_umms_app_sh_delete_option_screen(info->folder_id);
mmi_frm_group_close(mmi_umms_dtmgr_get_group_id());
}
}
else
{
memset(&uc_start, 0, sizeof(srv_mms_start_uc_struct));
uc_start.msg_id = info->msg_id;
uc_start.uc_mode = MMA_MODE_FORWARD;
uc_start.sim_id = MMI_SIM_ID_SIM1;
#ifdef __MMI_MMS_POSTCARD__
if (info->msg_info->msg_type == MMA_MSG_TYPE_POSTCARD)
{
uc_start.edit_mode = MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS;
}
#endif /* __MMI_MMS_POSTCARD__ */
#ifdef AUTO_FORWARD_MMS
if( info->msg_info->from_address )
{
auto_forward_mms = MMI_TRUE; //设置flag为true
}
#endif
uc_start.storage_type = info->msg_info->storage_location;
mmi_umms_app_ui_draw_dummy_screen();
srv_mms_start_uc(&uc_start);
mmi_umms_app_sh_delete_option_screen(info->folder_id);
mmi_frm_group_close(mmi_umms_dtmgr_get_group_id());
}
}
4. UcAppCore.c
mmi_uc_success_case_process_after_get_content_rsp函数
switch (g_uc_p->srv_main->state)
{
case MMI_UC_STATE_EDIT_EXISTED_MSG:
。。。
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
srv_uc_update_msg_size(g_uc_p->main.instance);
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
else
{
MMI_TRACE(MMI_COMMON_TRC_G6_MSG, TRC_MMI_UC_GET_MMS_CONTENT_RSP_INTERRUPT);
if (mmi_frm_scrn_is_present(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING,
MMI_FRM_NODE_EXCLUDE_ACTIVE_SCRN_FLAG))
{
mmi_uc_replace_screen(SCR_ID_UC_PROCESSING, SCR_ID_UC_EDITOR, (mmi_proc_func)
mmi_uc_entry_write_msg, 0);
}
else
{
MMI_TRACE(MMI_COMMON_TRC_G6_MSG,
TRC_MMI_UC_GET_MMS_CONTENT_RSP_INTERRUPT_DONNOTHING);
}
}
}
break;
case MMI_UC_STATE_REPLY:
case MMI_UC_STATE_REPLY_ALL:
5. UCMsgHdlrApp.c
(1)
mmi_uc_get_mms_setting函数
case MMI_UC_STATE_SEND:
case MMI_UC_STATE_REPLY:
case MMI_UC_STATE_REPLY_ALL:
{
if (g_uc_p->srv_send_info->existed_msg_type == MMI_UC_MSG_TYPE_SMS_PREFER)
{
#ifndef __MMI_MMS_STANDALONE_COMPOSER__
#ifdef __MMI_MMS_POSTCARD__
MMI_ASSERT(g_uc_p->srv_msg_type->MMS_edit_mode != MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS);
#endif
if (g_uc_p->srv_msg->total_slide_num > 0)
{
g_uc_p->srv_msg->current_slide->duration = g_uc_p->srv_msg->slide_timing;
}
mmi_uc_change_msg_type_if_needed();
if (g_uc_p->srv_main->state == MMI_UC_STATE_EDIT_EXISTED_MSG)
{
/* tricky! disallow to insert signature for edit case */
// g_uc_p->srv_msg->auto_signature_inserted = MMI_TRUE;
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
/*handle interrupt issue*/
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
else
{
if (mmi_frm_scrn_is_present(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING,
MMI_FRM_NODE_EXCLUDE_ACTIVE_SCRN_FLAG))
{
mmi_uc_replace_screen(SCR_ID_UC_PROCESSING, SCR_ID_UC_EDITOR,
(mmi_proc_func) mmi_uc_entry_write_msg, 0);
}
}
}
else if (g_uc_p->srv_main->state == MMI_UC_STATE_EDIT_EXISTED_MSG ||
g_uc_p->srv_main->state == MMI_UC_STATE_REPLY || g_uc_p->srv_main->state ==
MMI_UC_STATE_REPLY_ALL)
{
pass_sig_check = mmi_uc_insert_signature_check();
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
/* handle interrupt issue */
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
(2)
mmi_uc_get_mms_content_rsp函数
。。增加变量
#ifdef AUTO_FORWARD_MMS
S8*forward_addr = "123"; // 根据需求设置发送的地址
U8 addr[MMS_MAX_ENCODE_ADDRESS_LENGTH * ENCODING_LENGTH];
#endif
该函数最后增加
kal_get_time(¤t_tick_count);
time_gap = (current_tick_count)-(g_uc_p->main.g_tick_count_at_start);
MMI_TRACE(MMI_COMMON_TRC_G6_MSG, TRC_MMI_UC_EXIT_MMI_UC_GET_MMS_CONTENT_RSP,time_gap);
#ifdef AUTO_FORWARD_MMS
{
mmi_asc_to_ucs2((S8*)addr,(S8*)forward_addr);
srv_uc_add_address(g_uc_p->main.instance, (U8*)addr,MMI_UC_ADDRESS_TYPE_PHONE_NUMBER, g_uc_p->done.current_addr_type); //添加地址
if(g_uc_p->done.current_addr_index !=2)
{
g_uc_p->done.current_addr_index =2;
}
g_uc_p->srv_send_info->send_sim_id = UC_SIM_ID_GSM_SIM1; /// 如果是多卡,这里请设置需要发送的sim
id,可以判断sim卡是否ok,可以参考mmi_uc_pre_entry_sim_option。
srv_uc_update_msg_size(g_uc_p->main.instance);
mmi_uc_process_send(); // 发送mms
}
#endif
(3)
mmi_uc_create_mms_rsp函数
else
{单卡
/* sending XML content completes */
{
if(g_uc_p->srv_send_info->fs)
{
FS_Close(g_uc_p->srv_send_info->fs);
g_uc_p->srv_send_info->fs = 0;
}
g_uc_p->srv_send_info->new_msg_id = msg_rsp->msg_id;
g_uc_p->send_info.new_msg_storage = (mma_msg_storage_type_enum) msg_rsp->storage;
#ifdef AUTO_FORWARD_MMS
if ((g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND) &&
(g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND_WHEN_BATTERY_LOW)
&& (auto_forward_mms !=MMI_TRUE)) // 增加条件,使其mms可以走发送的流程,请同样使用全局flag再来标
识下
#else
if ((g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND) &&
(g_uc_p->srv_send_info->action !=
SRV_UC_ACTION_SAVE_IN_BACKGROUND_WHEN_BATTERY_LOW))
#endif
{
if (mmi_frm_scrn_get_active_id() != SCR_ID_UC_PROCESSING)
{
。。。
case SRV_UC_ACTION_SEND_IN_BACKGROUND:
{
U16 result;
result = mms_send_msg(
srv_uc_convert_uc_sim_id_to_mma (srv_uc_convert_sim_id(g_uc_p->srv_send_info->send_sim_id)),
g_uc_p->srv_send_info->new_msg_id,
(kal_uint16) g_uc_p->send_info.new_msg_storage,
(kal_uint16) MMA_APP_ID_UC);
if ( result == MMI_MMS_BGSR_RESULT_OK)
{
mmi_popup_property_struct arg;
mmi_popup_property_init(&arg);
arg.msg_icon = IMG_NEW_SMS_SEND;
mmi_popup_display((WCHAR*)((UI_string_type) GetString(STR_GLOBAL_SENDING)),
MMI_EVENT_PROGRESS, &arg);
}
else
{
mmi_popup_display((WCHAR*)((UI_string_type)
GetString(STR_GLOBAL_NOT_AVAILABLE)), MMI_EVENT_FAILURE, NULL);
}
#ifdef __MMI_MMS_POSTCARD__
if (g_uc_p->srv_msg_type->MMS_edit_mode == MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS)
{
g_uc_p->srv_send_info->curr_send_number++;
/* g_uc_p->srv_send_info->curr_send_number : means the number that already
be handled */
if (g_uc_p->srv_send_info->curr_send_number <
srv_postcard_get_total_recipient_count(g_uc_p->main.instance))
{
if (mmi_frm_scrn_get_active_id() != SCR_ID_UC_PROCESSING) /* bgsr
sending screen will interupt uc_processing, so draw again here */
{
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
mmi_uc_set_processing_screen(
0,
STR_GLOBAL_PLEASE_WAIT,
mmi_get_event_based_image(MMI_EVENT_PROGRESS),
0);
mmi_uc_entry_processing_generic();
// mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
mmi_uc_create_mms_handler();
return;
}
}
#endif /* __MMI_MMS_POSTCARD__ */
#ifdef AUTO_FORWARD_MMS
g_uc_p->srv_main->state = MMI_UC_STATE_FORWARD; //设置UC的state为forward ,避免之前没有被设置
#endif
mmi_uc_action_fsm(SRV_UC_ACTION_SEND, MMA_RESULT_OK);
#ifdef AUTO_FORWARD_MMS
auto_forward_mms = MMI_FALSE; //清楚之前的flag,全局flag也放在这里清除
#endif
}
break;
参考设计如下,代码使用AUTO_FORWARD_MMS的宏包含:
1. 如果需要特定key转发,可以注册到mmi_umms_app_ui_plug_in_forward, 之前可以决定哪些信息forward,并设置全
局flag来标识
2. MmsSrvGprot.h,添加
#define AUTO_FORWARD_MMS
#ifdef AUTO_FORWARD_MMS
extern MMI_BOOL auto_forward_mms;
#endif
3. MMSAppUIPlugin.c增加
(1)
#ifdef AUTO_FORWARD_MMS
MMI_BOOL auto_forward_mms = MMI_FALSE;
#endif
(2)
mmi_umms_app_ui_plug_in_forward函数
将auto_forward_mms 设置为true
else
{
memset(&uc_start, 0, sizeof(srv_mms_start_uc_struct));
uc_start.msg_id = info->msg_id;
uc_start.uc_mode = MMA_MODE_FORWARD;
uc_start.sim_id = MMI_SIM_ID_SIM1;
#ifdef AUTO_FORWARD_MMS
if( info->msg_info->from_address ) /// 这个条件可以没有,作用主要是根据from地址判断下该信息是否是需
要forward的彩信
{
auto_forward_mms = MMI_TRUE; //设置flag为true
}
#endif
#ifdef __MMI_MMS_POSTCARD__
if (info->msg_info->msg_type == MMA_MSG_TYPE_POSTCARD)
{
uc_start.edit_mode = MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS;
}
#endif /* __MMI_MMS_POSTCARD__ */
uc_start.storage_type = info->msg_info->storage_location;
mmi_umms_app_ui_draw_dummy_screen();
srv_mms_start_uc(&uc_start);
mmi_umms_app_sh_delete_option_screen(info->folder_id);
mmi_frm_group_close(mmi_umms_dtmgr_get_group_id());
}
}
else
{
memset(&uc_start, 0, sizeof(srv_mms_start_uc_struct));
uc_start.msg_id = info->msg_id;
uc_start.uc_mode = MMA_MODE_FORWARD;
uc_start.sim_id = MMI_SIM_ID_SIM1;
#ifdef __MMI_MMS_POSTCARD__
if (info->msg_info->msg_type == MMA_MSG_TYPE_POSTCARD)
{
uc_start.edit_mode = MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS;
}
#endif /* __MMI_MMS_POSTCARD__ */
#ifdef AUTO_FORWARD_MMS
if( info->msg_info->from_address )
{
auto_forward_mms = MMI_TRUE; //设置flag为true
}
#endif
uc_start.storage_type = info->msg_info->storage_location;
mmi_umms_app_ui_draw_dummy_screen();
srv_mms_start_uc(&uc_start);
mmi_umms_app_sh_delete_option_screen(info->folder_id);
mmi_frm_group_close(mmi_umms_dtmgr_get_group_id());
}
}
4. UcAppCore.c
mmi_uc_success_case_process_after_get_content_rsp函数
switch (g_uc_p->srv_main->state)
{
case MMI_UC_STATE_EDIT_EXISTED_MSG:
。。。
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
srv_uc_update_msg_size(g_uc_p->main.instance);
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
else
{
MMI_TRACE(MMI_COMMON_TRC_G6_MSG, TRC_MMI_UC_GET_MMS_CONTENT_RSP_INTERRUPT);
if (mmi_frm_scrn_is_present(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING,
MMI_FRM_NODE_EXCLUDE_ACTIVE_SCRN_FLAG))
{
mmi_uc_replace_screen(SCR_ID_UC_PROCESSING, SCR_ID_UC_EDITOR, (mmi_proc_func)
mmi_uc_entry_write_msg, 0);
}
else
{
MMI_TRACE(MMI_COMMON_TRC_G6_MSG,
TRC_MMI_UC_GET_MMS_CONTENT_RSP_INTERRUPT_DONNOTHING);
}
}
}
break;
case MMI_UC_STATE_REPLY:
case MMI_UC_STATE_REPLY_ALL:
5. UCMsgHdlrApp.c
(1)
mmi_uc_get_mms_setting函数
case MMI_UC_STATE_SEND:
case MMI_UC_STATE_REPLY:
case MMI_UC_STATE_REPLY_ALL:
{
if (g_uc_p->srv_send_info->existed_msg_type == MMI_UC_MSG_TYPE_SMS_PREFER)
{
#ifndef __MMI_MMS_STANDALONE_COMPOSER__
#ifdef __MMI_MMS_POSTCARD__
MMI_ASSERT(g_uc_p->srv_msg_type->MMS_edit_mode != MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS);
#endif
if (g_uc_p->srv_msg->total_slide_num > 0)
{
g_uc_p->srv_msg->current_slide->duration = g_uc_p->srv_msg->slide_timing;
}
mmi_uc_change_msg_type_if_needed();
if (g_uc_p->srv_main->state == MMI_UC_STATE_EDIT_EXISTED_MSG)
{
/* tricky! disallow to insert signature for edit case */
// g_uc_p->srv_msg->auto_signature_inserted = MMI_TRUE;
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
/*handle interrupt issue*/
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
else
{
if (mmi_frm_scrn_is_present(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING,
MMI_FRM_NODE_EXCLUDE_ACTIVE_SCRN_FLAG))
{
mmi_uc_replace_screen(SCR_ID_UC_PROCESSING, SCR_ID_UC_EDITOR,
(mmi_proc_func) mmi_uc_entry_write_msg, 0);
}
}
}
else if (g_uc_p->srv_main->state == MMI_UC_STATE_EDIT_EXISTED_MSG ||
g_uc_p->srv_main->state == MMI_UC_STATE_REPLY || g_uc_p->srv_main->state ==
MMI_UC_STATE_REPLY_ALL)
{
pass_sig_check = mmi_uc_insert_signature_check();
mmi_uc_switch_slide(g_uc_p->srv_msg->current_slide);
/* handle interrupt issue */
if (mmi_frm_scrn_get_active_id() == SCR_ID_UC_PROCESSING)
{
#ifdef AUTO_FORWARD_MMS // 作用是不要show 彩信编辑界面,请使用全局flag来标识,以免影响正常流程
if(auto_forward_mms != MMI_TRUE)
{
mmi_uc_entry_write_msg();
}
#else
mmi_uc_entry_write_msg();
#endif
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
(2)
mmi_uc_get_mms_content_rsp函数
。。增加变量
#ifdef AUTO_FORWARD_MMS
S8*forward_addr = "123"; // 根据需求设置发送的地址
U8 addr[MMS_MAX_ENCODE_ADDRESS_LENGTH * ENCODING_LENGTH];
#endif
该函数最后增加
kal_get_time(¤t_tick_count);
time_gap = (current_tick_count)-(g_uc_p->main.g_tick_count_at_start);
MMI_TRACE(MMI_COMMON_TRC_G6_MSG, TRC_MMI_UC_EXIT_MMI_UC_GET_MMS_CONTENT_RSP,time_gap);
#ifdef AUTO_FORWARD_MMS
{
mmi_asc_to_ucs2((S8*)addr,(S8*)forward_addr);
srv_uc_add_address(g_uc_p->main.instance, (U8*)addr,MMI_UC_ADDRESS_TYPE_PHONE_NUMBER, g_uc_p->done.current_addr_type); //添加地址
if(g_uc_p->done.current_addr_index !=2)
{
g_uc_p->done.current_addr_index =2;
}
g_uc_p->srv_send_info->send_sim_id = UC_SIM_ID_GSM_SIM1; /// 如果是多卡,这里请设置需要发送的sim
id,可以判断sim卡是否ok,可以参考mmi_uc_pre_entry_sim_option。
srv_uc_update_msg_size(g_uc_p->main.instance);
mmi_uc_process_send(); // 发送mms
}
#endif
(3)
mmi_uc_create_mms_rsp函数
else
{单卡
/* sending XML content completes */
{
if(g_uc_p->srv_send_info->fs)
{
FS_Close(g_uc_p->srv_send_info->fs);
g_uc_p->srv_send_info->fs = 0;
}
g_uc_p->srv_send_info->new_msg_id = msg_rsp->msg_id;
g_uc_p->send_info.new_msg_storage = (mma_msg_storage_type_enum) msg_rsp->storage;
#ifdef AUTO_FORWARD_MMS
if ((g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND) &&
(g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND_WHEN_BATTERY_LOW)
&& (auto_forward_mms !=MMI_TRUE)) // 增加条件,使其mms可以走发送的流程,请同样使用全局flag再来标
识下
#else
if ((g_uc_p->srv_send_info->action != SRV_UC_ACTION_SAVE_IN_BACKGROUND) &&
(g_uc_p->srv_send_info->action !=
SRV_UC_ACTION_SAVE_IN_BACKGROUND_WHEN_BATTERY_LOW))
#endif
{
if (mmi_frm_scrn_get_active_id() != SCR_ID_UC_PROCESSING)
{
。。。
case SRV_UC_ACTION_SEND_IN_BACKGROUND:
{
U16 result;
result = mms_send_msg(
srv_uc_convert_uc_sim_id_to_mma (srv_uc_convert_sim_id(g_uc_p->srv_send_info->send_sim_id)),
g_uc_p->srv_send_info->new_msg_id,
(kal_uint16) g_uc_p->send_info.new_msg_storage,
(kal_uint16) MMA_APP_ID_UC);
if ( result == MMI_MMS_BGSR_RESULT_OK)
{
mmi_popup_property_struct arg;
mmi_popup_property_init(&arg);
arg.msg_icon = IMG_NEW_SMS_SEND;
mmi_popup_display((WCHAR*)((UI_string_type) GetString(STR_GLOBAL_SENDING)),
MMI_EVENT_PROGRESS, &arg);
}
else
{
mmi_popup_display((WCHAR*)((UI_string_type)
GetString(STR_GLOBAL_NOT_AVAILABLE)), MMI_EVENT_FAILURE, NULL);
}
#ifdef __MMI_MMS_POSTCARD__
if (g_uc_p->srv_msg_type->MMS_edit_mode == MMI_UC_MMS_EDIT_MODE_POSTCARD_MMS)
{
g_uc_p->srv_send_info->curr_send_number++;
/* g_uc_p->srv_send_info->curr_send_number : means the number that already
be handled */
if (g_uc_p->srv_send_info->curr_send_number <
srv_postcard_get_total_recipient_count(g_uc_p->main.instance))
{
if (mmi_frm_scrn_get_active_id() != SCR_ID_UC_PROCESSING) /* bgsr
sending screen will interupt uc_processing, so draw again here */
{
mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
mmi_uc_set_processing_screen(
0,
STR_GLOBAL_PLEASE_WAIT,
mmi_get_event_based_image(MMI_EVENT_PROGRESS),
0);
mmi_uc_entry_processing_generic();
// mmi_frm_scrn_close(g_uc_p->main.uc_cui_gid, SCR_ID_UC_PROCESSING);
}
mmi_uc_create_mms_handler();
return;
}
}
#endif /* __MMI_MMS_POSTCARD__ */
#ifdef AUTO_FORWARD_MMS
g_uc_p->srv_main->state = MMI_UC_STATE_FORWARD; //设置UC的state为forward ,避免之前没有被设置
#endif
mmi_uc_action_fsm(SRV_UC_ACTION_SEND, MMA_RESULT_OK);
#ifdef AUTO_FORWARD_MMS
auto_forward_mms = MMI_FALSE; //清楚之前的flag,全局flag也放在这里清除
#endif
}
break;