📄 jmmscomposeutils.c
字号:
/* HIMANSHU 05122006 END */
/*****************************************************************************
* Global Function
*****************************************************************************/
extern JC_INT32 GetColorValue(JC_INT8 *pColorString);
extern MMI_BOOL is_add_media_as_drm;
extern kal_wchar *mime_get_extension(kal_wchar *file_path); // compiler warning removal
extern mdi_result mdi_audio_get_duration(void *file_name, U32 *time_p); // compiler warning removal
extern void kal_get_time(kal_uint32 *ticks_ptr);
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_fill_default_values_slide_settings
* DESCRIPTION
* Initialization function of MMS compose.
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_compose_fill_default_values_slide_settings(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_jmms_context->compose_context->duration[g_jmms_context->compose_context->curr_page_index - 1].txt_dur_max_set = 1;
g_jmms_context->compose_context->duration[g_jmms_context->compose_context->curr_page_index - 1].img_dur_max_set = 1;
g_jmms_context->compose_context->duration[g_jmms_context->compose_context->curr_page_index - 1].audio_dur_max_set = 1;
g_jmms_context->compose_context->duration[g_jmms_context->compose_context->curr_page_index - 1].video_dur_max_set = 1;
g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.italic = 0;
g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.bold = 0;
g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.size = MEDIUM_FONT;
g_jmms_context->compose_context->curr_slide_info.slide_prop.slide_time = 0;
g_jmms_context->compose_context->curr_slide_info.slide_prop.text_color = g_jmms_color_RGB_list[COLOR_BLACK];
g_jmms_context->compose_context->curr_slide_info.img_info.img_x = 0;
g_jmms_context->compose_context->curr_slide_info.img_info.img_y = 0;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_handle_error
* DESCRIPTION
* error handling fn.
* PARAMETERS
* ret_code [IN]
* is_page [IN]
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
JMMS_COMP_ERRCODE mmi_jmms_compose_handle_error(JC_RETCODE ret_code, U8 is_page)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JMMS_COMP_ERRCODE err_code = JMMS_COMP_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "mmi_jmms_compose_handle_error"));
if( (ret_code == JC_ERR_MSG_MMS_AUDIO_EXISTS) || (ret_code == JC_ERR_MSG_MMS_IMAGE_EXISTS ) ||
(ret_code == JC_ERR_MSG_MMS_VIDEO_EXISTS) || (ret_code == JC_ERR_MSG_MMS_MEDIA_TYPE_EXISTS))
{
U8 total_pages = 0;
mmi_jmms_jdi_get_total_pages(g_jmms_context->msg_handle, &total_pages);
if( total_pages == mmi_jmms_compose_settings_max_no_pages())
{
is_page = 1;
ret_code = JC_ERR_MSG_MAX_REACHED;
}
}
PRINT_INFORMATION_2((MMI_TRACE_INFO, "mmi_jmms_compose_handle_error = %d", ret_code));
switch (ret_code)
{
case JC_OK:
if (g_jmms_context->is_add_media_warning == 1 && !g_jmms_context->disable_warning_popup)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_WARNING_MODE_MEDIA),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
err_code = JMMS_COMP_POPUP_OK;
}
else
{
err_code = JMMS_COMP_OK;
}
break;
case JC_ERR_MSG_INVALID_HANDLE:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_MESSAGE_HANDLE),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_INVALID_PAGE_INDEX:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_PAGE_INDEX),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_INVALID_MEDIA_INDEX:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_MEDIA_ID),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_MEDIA_RESTRICTED:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_RESTRICTED_MODE_MEDIA),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
err_code = JMMS_COMP_FAIL;
break;
case JC_ERR_MSG_MEDIA_WARNING:
if (!g_jmms_context->disable_warning_popup)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_WARNING_MODE_MEDIA),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
err_code = JMMS_COMP_POPUP_OK;
}
else
{
err_code = JMMS_COMP_OK;
}
break;
case JC_ERR_MSG_MAX_REACHED:
if (is_page == 1)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_EDIT_CONTENT_MAX_SLIDE_REACHED),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
else
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_MAX_MSG_REACHED),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
break;
case JC_ERR_UNSUPPORTED:
DisplayPopup(
(PU8) GetString(STR_GLOBAL_UNSUPPORTED_FORMAT),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_MMS_UNSUPPORTED_TYPE:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_MEDIA_TYPE),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_MMS_AUDIO_EXISTS:
if (g_jmms_context->is_add_media_warning != 1)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_AUDIO_EXISTS_NEW_SLIDE),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
err_code = JMMS_COMP_NEW_SLIDE;
break;
case JC_ERR_MSG_MMS_IMAGE_EXISTS:
if (g_jmms_context->is_add_media_warning != 1)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_IMAGE_EXISTS_NEW_SLIDE),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
err_code = JMMS_COMP_NEW_SLIDE;
break;
case JC_ERR_MSG_MMS_VIDEO_EXISTS:
if (g_jmms_context->is_add_media_warning != 1)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_VIDEO_EXISTS_NEW_SLIDE),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
err_code = JMMS_COMP_NEW_SLIDE;
break;
case JC_ERR_MSG_MMS_MEDIA_TYPE_EXISTS:
if (g_jmms_context->is_add_media_warning != 1)
{
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_SAME_MEDIA_EXISTS_NEW_SLIDE),
IMG_GLOBAL_WARNING,
1,
JMMS_POPUP_TIME,
WARNING_TONE);
}
err_code = JMMS_COMP_NEW_SLIDE;
break;
case JC_ERR_MSG_INVALID_MEDIA_INFO:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_MEDIA_INFO),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
case JC_ERR_MSG_MMS_CONTENT_CLASS:
err_code = JMMS_CONTENT_CLASS;
break;
/*
* merge case JC_ERR_MSG_MULTIPLE_REFERENCE:
* err_code=JMMS_COMP_OK;
* break;
*/
case JC_ERR_FILE_SYS_INIT:
case JC_ERR_MEMORY_ALLOCATION:
DisplayPopup((PU8) GetString(STR_ID_JMMS_OUT_OF_MEMORY), IMG_GLOBAL_ERROR, 1, JMMS_POPUP_TIME, ERROR_TONE);
err_code = JMMS_COMP_OUT_MEMORY;
break;
case JC_ERR_NULL_POINTER:
DisplayPopup(
(PU8) GetString(STR_ID_JMMS_INVALID_POINTER),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
ERROR_TONE);
break;
default:
/* DisplayPopup((PU8) GetString(STR_GLOBAL_ERROR), IMG_GLOBAL_ERROR, 1, JMMS_POPUP_TIME, ERROR_TONE); */
{
U8 error_str[20];
S8 temp[10] = {0, };
memset(error_str, 0x00, 20);
sprintf((S8*) temp, "%d", ret_code);
AnsiiToUnicodeString((PS8) (error_str), (PS8) temp);
DisplayPopup((PU8) (error_str), IMG_GLOBAL_ERROR, 1, JMMS_POPUP_TIME, ERROR_TONE);
break;
}
}
if (g_jmms_context->is_add_media_warning == 1)
{
g_jmms_context->is_add_media_warning = 0;
}
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_new_mms
* DESCRIPTION
* function of writing a new MMS
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
JMMS_COMP_ERRCODE mmi_jmms_compose_new_mms(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/* Deepali: use setting API's */
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
U8 config_arg = JMMS_CONFIG_PREVIEW;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "mmi_jmms_compose_new_mms"));
if (g_jmms_context->msg_handle != NULL)
{
ret_code = mmi_jmms_jdi_msg_deinit(g_jmms_context->msg_handle);
}
if (ret_code == JC_OK)
{
g_jmms_context->msg_handle = NULL;
ret_code = mmi_jmms_jdi_msg_init(&(g_jmms_context->msg_handle), (void*)config_arg);
}
if (ret_code == JC_ERR_MEMORY_ALLOCATION)
{
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Fail to create msg handle"));
ret_code = JC_ERR_MEMORY_ALLOCATION;
goto ERROR_HANDLE;
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_set_content_class(g_jmms_context->msg_handle, MMS_SUPPORTED_CONTENT_CLASS);
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_set_creation_mode(g_jmms_context->msg_handle, mmi_jmms_compose_settings_creation_mode());
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_set_msg_type(g_jmms_context->msg_handle, E_TYPE_MMS);
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_set_presentation_type(g_jmms_context->msg_handle, E_PRESENTATION_SMIL);
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_set_max_pages(g_jmms_context->msg_handle, (U8) mmi_jmms_compose_settings_max_no_pages());
}
if (ret_code == JC_OK)
{
ret_code = mmi_jmms_jdi_msg_register_callback(
g_jmms_context->msg_handle,
E_CB_ERROR_IND,
(void*)mmi_jmms_error_ind_cb);
}
ERROR_HANDLE:
PRINT_INFORMATION_2((MMI_TRACE_INFO, "Fail to create msg error= %d", ret_code));
err_code = mmi_jmms_compose_handle_error(ret_code, 0);
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_error_ind_cb
* DESCRIPTION
*
* PARAMETERS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -