コード例 #1
0
ファイル: JavaAgencyTaskSwitch.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  format_asking_string
 * DESCRIPTION
 *  Add mid_name and "?" into string.
 * PARAMETERS
 *  string_id       [IN]        String ID
 * RETURNS
 *
 *****************************************************************************/
static PU8 format_asking_string(U16 string_id)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    kal_int32 string_len = mmi_ucs2strlen(GetString(string_id));
    kal_wchar *mid_name = get_running_mid_name();

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mid_name == NULL)
    {
        mid_name = (kal_wchar*) GetString(STR_SCR_JAVA_CAPTION);
    }
    if (asking_string_buffer != NULL)
    {
        free_ctrl_buffer(asking_string_buffer);
    }
    asking_string_buffer = (kal_wchar*) get_ctrl_buffer((string_len + mmi_ucs2strlen((S8*) mid_name) + 2) << 1);
    mmi_ucs2cpy((S8*) asking_string_buffer, GetString(string_id));
    mmi_ucs2cpy((S8*) (asking_string_buffer + string_len), (S8*) mid_name);
    string_len += mmi_ucs2strlen((S8*) mid_name);
    asking_string_buffer[string_len] = '?';
    asking_string_buffer[string_len + 1] = 0;
    return (PU8) asking_string_buffer;
}
コード例 #2
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgDelExtMelodyByPathFileName
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pathfileName        [?]     
 * RETURNS
 *  
 *****************************************************************************/
pBOOL PmgDelExtMelodyByPathFileName(S8 *pathfileName)   /* Finally, call PmgDelExtMelodyBySlot() */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 slot = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((mmi_ucs2strlen(pathfileName) >= (MAX_EXT_MELODY_FULLNAME_WIDTH / ENCODING_LENGTH))
        || (gPmgExtMelodyInfo.TotleNum == 0))
    {
        return MMI_FALSE;
    }

    slot = PmgGetSlotByPathFileName(pathfileName);
    if (slot == PMG_INVAILD_SLOT)
    {
        return MMI_FALSE;
    }
    else
    {
        PmgDelExtMelodyBySlot(slot);
    }

    return MMI_TRUE;
}
コード例 #3
0
ファイル: JavaAgencyTaskSwitch.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 * DESCRIPTION
 * PARAMETERS
 * RETURNS
 *****************************************************************************/
void mmi_java_entry_cb_terminate_dialog_internal(void)
{

    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 *guiBuffer;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_JAVA_TERMINATE_DIALOG2, NULL, mmi_java_entry_cb_terminate_dialog_internal, NULL);

    guiBuffer = GetCurrGuiBuffer(SCR_JAVA_TERMINATE_DIALOG2);

    ShowCategory74Screen(
        STR_SCR_JAVA_CAPTION,
        mmi_java_get_title_icon(),
        STR_GLOBAL_YES,
        IMG_GLOBAL_YES,
        STR_GLOBAL_NO,
        IMG_GLOBAL_NO,
        (PU8) cb_terminate_string,
        mmi_ucs2strlen((PS8) cb_terminate_string),
        NULL);

    SetLeftSoftkeyFunction(mmi_java_cb_terminate_dialog_yes_hdlr, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_java_cb_terminate_dialog_no_hdlr, KEY_EVENT_UP);
}
コード例 #4
0
ファイル: JavaAgencyRMS.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_java_entry_reset_rms_res
 * DESCRIPTION
 *  Reset RMS Confirm screen Entry Function
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_entry_reset_rms_res(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 *guiBuffer;
    U8 *str;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_JAVA_RESET_RMS_CONFIRM, NULL, mmi_java_entry_reset_rms_res, NULL);

    /* playRequestedTone(WARNING_TONE); */

    guiBuffer = GetCurrGuiBuffer(SCR_JAVA_RESET_RMS_CONFIRM);

    //mmi_asc_to_ucs2 ((PS8)gJavaPrintableStr,
    //"Do you want the new version application to be able to use the information stored by the old version application?");
    str = (U8*) get_string(STR_JAVA_RESET_RMS_ASK);

    ShowCategory74Screen(
        STR_JAVA_KEEP_RMS,
        mmi_java_get_title_icon(),
        STR_GLOBAL_YES,
        IMG_GLOBAL_YES,
        STR_GLOBAL_NO,
        IMG_GLOBAL_NO,
        (PU8) str,
        mmi_ucs2strlen((PS8) str),
        NULL);

    SetLeftSoftkeyFunction(mmi_java_send_reset_rms_res_yes, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_java_send_reset_rms_res_no, KEY_EVENT_UP);
}
コード例 #5
0
ファイル: CtmSrv.c プロジェクト: wangzhibinjunhua/plutommi
/*****************************************************************************
 * FUNCTION
 *  srv_ctm_med_send_text_req
 * DESCRIPTION
 *  
 * PARAMETERS
 *  text        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void srv_ctm_med_send_text_req(CHAR* text)
{
#ifndef __CTM_DEBUG
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    media_ctm_send_text_req_struct *param;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    MMI_TRACE(MMI_COMMON_TRC_G5_CALL, FUNC_SRV_CTM_MED_SEND_TEXT_REQ);

    ClearInputEventHandler(MMI_DEVICE_ALL);

    param = OslAllocDataPtr(media_ctm_send_text_req_struct);
    param->num_of_char = mmi_ucs2strlen(text);
    mmi_ucs2ncpy((CHAR*)param->text, text, CTM_SEND_TEXT_CHAR_MAX_NUM);

    SetProtocolEventHandler(srv_ctm_phdlr_send_text_rsp, MSG_ID_MEDIA_CTM_SEND_TEXT_CNF);
    mmi_frm_send_ilm(MOD_MED, MSG_ID_MEDIA_CTM_SEND_TEXT_REQ, (oslParaType*)param, NULL);

#else /* __CTM_DEBUG */ 
    StartTimer(CM_NOTIFYDURATION_TIMER, 2000, (FuncPtr) srv_ctm_phdlr_send_text_rsp);
#endif /* __CTM_DEBUG */ 
}
コード例 #6
0
ファイル: JavaAgencyTaskSwitch.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_java_entry_force_terminate_dialog
 * DESCRIPTION
 *  The entry function to ask if user real want to terminate java? (can not pause)
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_entry_force_terminate_dialog(void)    /* called by JAVA adaptor, also in mmi task */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_JAVA_FORCE_TERMINATE_DIALOG, NULL, mmi_java_entry_force_terminate_dialog, NULL);

    ShowCategory74Screen(
        STR_JAVA_TERMINATE,
        mmi_java_get_title_icon(),
        STR_GLOBAL_YES,
        IMG_GLOBAL_YES,
        STR_GLOBAL_NO,
        IMG_GLOBAL_NO,
        (PU8) GetString(STR_JAVA_FORCE_TERMINATE),
        mmi_ucs2strlen(GetString(STR_JAVA_FORCE_TERMINATE)),
        NULL);

    SetLeftSoftkeyFunction(mmi_java_force_terminate_dialog_yes_hdlr, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_java_force_terminate_dialog_no_hdlr, KEY_EVENT_UP);
}
コード例 #7
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgGetSlotByPathFileName
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pathfileName        [?]     
 * RETURNS
 *  
 *****************************************************************************/
U8 PmgGetSlotByPathFileName(S8 *pathfileName)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 i;
    S8 tmpStr[MAX_EXT_MELODY_FULLNAME_WIDTH];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mmi_ucs2strlen(pathfileName) >= (MAX_EXT_MELODY_FULLNAME_WIDTH))
    {
        return MMI_FALSE;
    }

    for (i = 0; i < MAXIMUM_EXT_MELODY_NUM; i++)
    {
        PmgConstructPathFileName(
            tmpStr,
            sizeof(tmpStr),
            (S8*) gPmgExtMelodyInfo.info[i].filepath,
            (S8*) gPmgExtMelodyInfo.info[i].filename);
        if (mmi_ucs2cmp(pathfileName, tmpStr) == 0)
        {
            return i;
        }
    }
    return PMG_INVAILD_SLOT;

}
コード例 #8
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgGetFileNameByFilePath
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pathfileName        [?]     
 * RETURNS
 *  
 *****************************************************************************/
S8 *PmgGetFileNameByFilePath(S8 *pathfileName)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 NameLength = (U16) mmi_ucs2strlen(pathfileName);
    S16 *UniPathName = (S16*) pathfileName;
    U16 deter = '\\';

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (NameLength >= MAX_EXT_MELODY_NAME_WIDTH / ENCODING_LENGTH)
    {
        return NULL;
    }

    if ((NameLength & 0x1) == 1)
    {
        return NULL;
    }

    while (NameLength > 0)
    {
        NameLength -= 2;
        if (memcmp(UniPathName + NameLength, &deter, 2) == 0)
        {
            break;
        }
    }
    return (pathfileName + NameLength);

}
コード例 #9
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgReplaceExtMelodyBySlotPathFileName
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pathfileName        [?]         
 *  freeSlot            [IN]        
 * RETURNS
 *  
 *****************************************************************************/
PMG_ADDFILE_ERRNO PmgReplaceExtMelodyBySlotPathFileName(S8 *pathfileName, U8 freeSlot) /* fileName is unicode */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    /* U8 freeSlot=0; */
    S16 pError;
    U8 i;
    PMG_ADDFILE_ERRNO res = MMI_FALSE;
    DYNEXTMELODYELEM target;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mmi_ucs2strlen(pathfileName) >= (MAX_EXT_MELODY_FULLNAME_WIDTH / ENCODING_LENGTH))
    {
        return PMG_ADDFILE_ERR_STR_TOO_LONG;
    }
    res = PmgSeparateFilePathName(
            (S8*) pathfileName,
            (S8*) target.filepath,
            sizeof(target.filepath),
            (S8*) target.filename,
            sizeof(target.filename));
    if (res != PMG_ADDFILE_ERR_SUCCESS)
    {
        return res;
    }

    /* check if it is shorname and mark it if possible */
    if (is_target_short_filename)
    {
        MARK_EXTMELODY_SHORTNAME(target.filepath);
    }

    /* Check Duplicate */
    for (i = 0; i < MAXIMUM_EXT_MELODY_NUM; i++)
    {
        if ((i != freeSlot)
            && (PmgIsEmptySlot(i) == MMI_FALSE)
            && (mmi_ucs2cmp((S8*) gPmgExtMelodyInfo.info[i].filepath, (S8*) target.filepath) == 0)
            && (mmi_ucs2cmp((S8*) gPmgExtMelodyInfo.info[i].filename, (S8*) target.filename) == 0))
        {
            return PMG_ADDFILE_ERR_DUPLICATED;
        }
    }

    mmi_ucs2cpy((S8*) gPmgExtMelodyInfo.info[freeSlot].filepath, (S8*) target.filepath);
    mmi_ucs2cpy((S8*) gPmgExtMelodyInfo.info[freeSlot].filename, (S8*) target.filename);

    PMG_ASSERT(NVRAM_EF_EXT_MELODY_INFO_SIZE == sizeof(gPmgExtMelodyInfo));
    WriteRecord(NVRAM_EF_EXT_MELODY_INFO_LID, 1, &gPmgExtMelodyInfo, sizeof(gPmgExtMelodyInfo), &pError);
    PMG_ASSERT(pError == NVRAM_WRITE_SUCCESS);

    return PMG_ADDFILE_ERR_SUCCESS;
}
コード例 #10
0
ファイル: IntelDail.c プロジェクト: jprothwell/sc-fix
static pBOOL mmi_dailer_list_get_item(S32 item_index, UI_string_type str_buff, PU8 *img_buff_p, U8 str_img_mask)
{
	unsigned short wtmp[50];
	S32 index;
	U8 num_ascii[MAX_PB_NUMBER_LENGTH + 1 + 1];
	U16 num_ascii_wchar[MAX_PB_NUMBER_LENGTH + 1 + 1];
	S16 store_index;


	if (item_index > total_items)
	{		
		return MMI_FALSE;	
	}
#if 0//(NEW_DIAL_SCREEN)
	// 第一个列表元素设为用户输入
	if (item_index == FIRST_USER_INPUT_INDEX)
	{
		mmi_ucs2cpy((S8 *)str_buff, (S8 *)input_buffer);
		*img_buff_p = NULL;

		return MMI_TRUE;
	}
#endif

	// 电话本处理
	index = list_filter_index_array[item_index];
	store_index = g_phb_name_index[index];
	
	if (mmi_ucs2strlen((S8*) (PhoneBook[store_index].alpha_id.name)))
	{	
		// name
		mmi_ucs2cpy((S8*) str_buff, (S8*) (PhoneBook[store_index].alpha_id.name));
		//stretch_eight_chars_width(str_buff);
	
		// phone number
	#if 1   //>>luchongguang mod 2009-07-10 Bug #12887 存储+86的号码,然后待机界面输入号码前几位快速选择呼叫,字符“+”会被去掉,拨打电话失败 
		mmi_phb_convert_get_ucs2_number((S8*) num_ascii_wchar, store_index);
	#else
		mmi_phb_convert_to_digit_by_storage(num_ascii, PhoneBook[store_index].tel.number, MAX_PB_NUMBER_LENGTH + 1,MMI_NVRAM);
		mmi_asc_to_ucs2((S8 *)num_ascii_wchar, (S8 *)num_ascii);
	#endif  /* Bug #12994 */

		mmi_ucs2cat((S8*) str_buff, (S8 *)L"  ");
		mmi_ucs2cat((S8 *)str_buff, (S8 *)num_ascii_wchar);		
	}
	else
	{
		 mmi_phb_convert_get_ucs2_number((S8*) str_buff, store_index);
	}
	

	*img_buff_p = NULL;

	return MMI_TRUE;
}
コード例 #11
0
ファイル: JavaAgencyUtil.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_java_entry_mids_get_confirm
 * DESCRIPTION
 *  The entry function to get any confirm from user
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_entry_mids_get_confirm(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 *guiBuffer;
    S8 *str;
    U16 title;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    str = mmi_java_mids_get_confirm_ind_msg.confirm_msg;
    title = mmi_java_mids_get_confirm_ind_msg.confirm_title;

    EntryNewScreen(SCR_JAVA_GET_CONFIRM, NULL, mmi_java_entry_mids_get_confirm, NULL);
    guiBuffer = GetCurrGuiBuffer(SCR_JAVA_GET_CONFIRM);

    if (mmi_java_mids_get_confirm_ind_msg.window_category == JAVA_CONFIRM_NOTIFICATION_CATEGORY)
    {
        U16 image = mmi_java_mids_get_confirm_ind_msg.confirm_image;

        ShowCategory165Screen(
            STR_GLOBAL_YES,
            IMG_GLOBAL_YES,
            STR_GLOBAL_NO,
            IMG_GLOBAL_NO,
            (UI_string_type) str,
            image,
            guiBuffer);
    }
    else if (mmi_java_mids_get_confirm_ind_msg.window_category == JAVA_CONFIRM_TEXT_VIEW_CATEGORY)
    {

        ShowCategory74Screen(
            (U16) title,
            mmi_java_get_title_icon(),
            STR_GLOBAL_YES,
            IMG_GLOBAL_YES,
            STR_GLOBAL_NO,
            IMG_GLOBAL_NO,
            (U8*) str,
            mmi_ucs2strlen((PS8) str),
            NULL);
    }
    else
    {
        ASSERT(0);
    }

    SetKeyHandler(mmi_java_mids_get_confirm_cancel_hdlr, KEY_END, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(mmi_java_mids_get_confirm_yes_hdlr, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_java_mids_get_confirm_no_hdlr, KEY_EVENT_UP);

}
コード例 #12
0
ファイル: VRSIRedial.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_vrsi_redial_dial_prompt_message
 * DESCRIPTION
 *  This function prepare redial prompt message.
 * PARAMETERS
 *  str_prompt      [IN]        Prompt string buffer
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_vrsi_redial_dial_prompt_message(S8 *str_prompt)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    LOG_CALL *redial_call = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* Append redial type, use first record only */
    if (g_vrsi_redial_type == PHB_LND)
    {
        redial_call = &chis_p->dialedCalls[0];
        mmi_ucs2cpy(str_prompt, GetString(STR_ID_VRSI_REDIAL_DIALED));
    }
    else if (g_vrsi_redial_type == PHB_LNM)
    {
        redial_call = &chis_p->missedCalls[0];
        mmi_ucs2cpy(str_prompt, GetString(STR_ID_VRSI_REDIAL_MISSED));
    }
    else if (g_vrsi_redial_type == PHB_LNR)
    {
        redial_call = &chis_p->recvdCalls[0];
        mmi_ucs2cpy(str_prompt, GetString(STR_ID_VRSI_REDIAL_RECEIVED));
    }
    else
    {
        DisplayPopup(
            (U8*) GetString(STR_GLOBAL_ERROR),
            IMG_GLOBAL_ERROR,
            TRUE,
            UI_POPUP_NOTIFYDURATION_TIME,
            ERROR_TONE);
        return;
    }

    mmi_ucs2cat(str_prompt, (S8*) L" ");

    /* Append Name or Number */
    if (mmi_ucs2strlen(redial_call->pbName))
    {
        mmi_ucs2cat(str_prompt, redial_call->pbName);
    }
    else
    {
        mmi_ucs2cat(str_prompt, (S8*) redial_call->number);
    }

    /* Append dialing string */
    mmi_ucs2cat(str_prompt, (S8*) L" ");
    mmi_ucs2cat(str_prompt, GetString(STR_ID_VRSI_DIALING_PROMPT));
}
コード例 #13
0
/*****************************************************************************
 * FUNCTION
 *  mmi_wprintf
 * DESCRIPTION
 *
 * PARAMETERS
 *  mod_id          [IN]
 *  fmt             [IN]
 *  wstr            [IN]
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_wprintf(module_type mod_id, U32 fmt, WCHAR *wstr)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /*
     * MMI_FW_BUFFER_TRACE, MMI_COMMON_APP_BUFFER_TRACE, MMI_MEDIA_APP_BUFFER_TRACE, ...
     * will expand to xxxxx__enum, xxxxx_size when compile the C files
     */
    switch (mod_id)
    {
    case MOD_MMI_FW:
        kal_buffer_trace(fmt, MMI_FW_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
        break;
    case MOD_MMI_COMMON_APP:
        kal_buffer_trace(fmt, MMI_COMMON_APP_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
        break;
    case MOD_MMI_MEDIA_APP:
        kal_buffer_trace(fmt, MMI_MEDIA_APP_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
        break;
    case MOD_MMI_CONN_APP:
        kal_buffer_trace(fmt, MMI_CONN_APP_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
        break;
    case MOD_MMI_INET_APP:
        kal_buffer_trace(fmt, MMI_INET_APP_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
        break;
    default:
        kal_buffer_trace(fmt, MMI_BUFFER_TRACE, (mmi_ucs2strlen((S8 *)wstr)+1)*ENCODING_LENGTH, (kal_uint8*)wstr);
    }
}
コード例 #14
0
ファイル: DLAgentWPS.c プロジェクト: 12019/mtktest
MMI_BOOL mmi_da_wps_session_auth_UCS2(wps_session_handle session, U16 *username, U16 *password)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8          *usr, *pwd;
    MMI_BOOL    bret;
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/

    ASSERT(username && password);
    usr = OslMalloc(mmi_ucs2strlen((S8*)username)+1);
    mmi_ucs2_to_asc((S8*)usr, (S8*)username);
    pwd = OslMalloc(mmi_ucs2strlen((S8*)password)+1);
    mmi_ucs2_to_asc((S8*)pwd, (S8*)password);

    bret = mmi_da_wps_session_auth(session, usr, pwd);

    OslMfree(usr);
    OslMfree(pwd);
    return bret;
}
コード例 #15
0
ファイル: gcj_net.c プロジェクト: jprothwell/sc-fix
void gcj_StubPlatformRequest(unsigned short *url)
{
#ifdef JATAAYU_SUPPORT
	unsigned char urlstring  [200];
	UnicodeToAnsii(urlstring,url);
	gcj_TraceOut(0,"gcj_StubPlatformRequest URL :%s",urlstring);

     	unsigned short  *urldata = OslMalloc(mmi_ucs2strlen(url)*sizeof(unsigned short)+2) ;
	if (!urldata)
		abort();
	UCS2Strncpy(urldata, url, mmi_ucs2strlen(url));
       
	COS_EVENT evt;
	evt.nEventId = (unsigned int)MSG_ID_MMI_JAVA_RUN_WAP_REQ;
	evt.nParam1 = urldata;
	gcj_StubSendEvent(&evt,MOD_MMI);
//	gcj_media_semId = gcj_StubNewSemphone();
//	gcj_StubTakeSemphone(gcj_media_semId);
//	gcj_SoundEnd = 1;
      #else

	#endif
}
コード例 #16
0
ファイル: JavaAgencyUtil.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_java_entry_get_permission
 * DESCRIPTION
 *  The entry function to get user's permission to use Network or some
 *  resource.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_entry_get_permission(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    U8 *guiBuffer;
    U16 strid = mmi_java_permission_strid(mmi_java_get_permission_msg.title_id);
    S8 *buffer;
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_JAVA_GET_PERMISSION, NULL, mmi_java_entry_get_permission, NULL);

    guiBuffer = GetCurrGuiBuffer(SCR_JAVA_GET_PERMISSION);

    mmi_java_get_permission_index = mmi_java_get_permission_msg.chosen_id;

    buffer = (S8*)subMenuData;
    kal_mem_set(buffer, 0, MAX_SUB_MENUS * MAX_SUB_MENU_SIZE);

    mmi_ucs2cpy((S8*)buffer, (S8*)GetString(strid));

    if(mmi_java_get_permission_msg.appendix)
    {
        mmi_ucs2cat((S8*)buffer, (S8*)mmi_java_get_permission_msg.appendix);
    }

    ShowCategory74Screen(
        STR_JAVA_PERMISSION_TITLE,
        mmi_java_get_title_icon(),
        STR_GLOBAL_YES,
        IMG_GLOBAL_YES,
        STR_GLOBAL_NO,
        IMG_GLOBAL_NO,
        (PU8) buffer,
        mmi_ucs2strlen((PS8) buffer),
        NULL);

    SetLeftSoftkeyFunction(mmi_java_get_permission_lsk_hdlr, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_java_get_permission_rsk_hdlr, KEY_EVENT_UP);
}
コード例 #17
0
ファイル: CtmSrv.c プロジェクト: wangzhibinjunhua/plutommi
/*****************************************************************************
 * FUNCTION
 *  srv_ctm_act_send_text
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
MMI_BOOL srv_ctm_act_send_text(void* info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    srv_ctm_send_text_req_struct *msg = (srv_ctm_send_text_req_struct*)info;
    srv_ctm_rsp_struct rsp;
    U8 length;
    srv_ctm_rsp_cb_func_ptr cb;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/

    length = (U8)mmi_ucs2strlen((CHAR*)msg->text);

    if (!info || !msg->text || !length
        || (length > CTM_SEND_TEXT_CHAR_MAX_NUM))
    {
        MMI_TRACE(MMI_COMMON_TRC_G5_CALL, TRC_SRV_CTM_ACT_SEND_TEXT_ERR);

        cb = srv_ctm_p->rsp_cb;
        srv_ctm_p->rsp_cb = NULL;
        srv_ctm_p->curr_act = SRV_CTM_ACT_IDLE;

        /* send rsp to ctm app */
        if(cb)
        {
            rsp.result = MMI_FALSE;
            (*cb)(&rsp);
        }
        return MMI_FALSE;
    }

    srv_ctm_p->state = SRV_CTM_STATE_SENDING;

    srv_ctm_med_send_text_req((CHAR*)msg->text);

    return MMI_TRUE;

}
コード例 #18
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgRemoveFileDAFExt
 * DESCRIPTION
 *  
 * PARAMETERS
 *  buf     [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void PmgRemoveFileDAFExt(S8 *buf)   /* Notice! This function will change the buffer context */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 len = (U16) mmi_ucs2strlen(buf);
    S16 *pbuf = (S16*) buf;
    S16 deter = '.';
    S16 ExtWord_U[5];
    S16 ExtWord_L[5];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    memset(ExtWord_U, 0, sizeof(ExtWord_U));
    memset(ExtWord_L, 0, sizeof(ExtWord_L));
    ExtWord_U[0] = 0x002E;
    ExtWord_L[0] = 0x002E;
    ExtWord_U[1] = 0x004D;
    ExtWord_L[1] = 0x006D;
    ExtWord_U[2] = 0x0050;
    ExtWord_L[2] = 0x0070;
    ExtWord_U[3] = 0x0033;
    ExtWord_L[3] = 0x0033;
    ExtWord_U[4] = 0x0000;
    ExtWord_L[4] = 0x0000;

    while (len > 0)
    {
        if (memcmp((pbuf + len), &deter, 2) == 0)
        {
            if ((mmi_ucs2ncmp((S8*) (pbuf + len), (S8*) ExtWord_U, 4) == 0)
                || (mmi_ucs2ncmp((S8*) (pbuf + len), (S8*) ExtWord_L, 4) == 0))
            {
                *(pbuf + len) = 0x0000;
            }
            break;
        }
        len--;
    }
}
コード例 #19
0
ファイル: BrowserStoredPages.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_brw_stored_page_rename
 * DESCRIPTION
 *  This func is used for getting the stored page properties
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_stored_page_rename(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
 
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
	if(!mmi_ucs2strlen((S8*)g_brw_current_title))
	{
		DisplayPopup(
			(U8*) GetString(STR_ID_BRW_FILENAME_EMPTY),
			(U16) IMG_GLOBAL_ERROR,
			0,
			UI_POPUP_NOTIFYDURATION_TIME,
			(U8) ERROR_TONE);
		DeleteNScrId(SCR_ID_BRW_STORED_PAGE_RENAME);
		return;
	}
	mmi_brw_stored_page_rename_saved_page_req((U8*)g_brw_current_title);
}
コード例 #20
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgRemoveFileExt
 * DESCRIPTION
 *  
 * PARAMETERS
 *  buf     [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void PmgRemoveFileExt(S8 *buf)  /* Notice! This function will change the buffer context */
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 len = (U16) mmi_ucs2strlen(buf);
    S16 *pbuf = (S16*) buf;
    S16 deter = '.';

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    while (len > 0)
    {
        if (memcmp((pbuf + len), &deter, 2) == 0)
        {
            *(pbuf + len) = 0x0000;
            break;
        }
        len--;
    }
}
コード例 #21
0
ファイル: ProfileMgr.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  PmgGetFileExt
 * DESCRIPTION
 *  
 * PARAMETERS
 *  buf     [?]     
 * RETURNS
 *  
 *****************************************************************************/
S8 *PmgGetFileExt(S8 *buf)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 len = (U16) mmi_ucs2strlen(buf);
    S16 *pbuf = (S16*) buf;
    S16 deter = '.';

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    while (len > 0)
    {
        if (memcmp((pbuf + len), &deter, 2) == 0)
        {
            return (S8*) (pbuf + len + 1);
        }
        len--;
    }
    return NULL;

}
コード例 #22
0
ファイル: BIDI.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  set_bidi_cursor_pos
 * DESCRIPTION
 *  
 * PARAMETERS
 *  input_str       [?]         
 *  cursor_pos      [IN]        
 *  cursor_mark     [IN]        
 * RETURNS
 *  
 *****************************************************************************/
pBOOL set_bidi_cursor_pos(U8 *input_str, U16 cursor_pos, U16 cursor_mark)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 sLen, iCount;
    U8 cTemp[2];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_wc_to_ucs2(cursor_mark, (U8*) & sLen, cTemp);

    sLen = (U16) mmi_ucs2strlen((const S8*)input_str);

    if (sLen < cursor_pos)
    {
        return FALSE;
    }

    for (iCount = cursor_pos; iCount <= sLen; iCount++)
    {
        U8 cTempSwap;

        cTempSwap = input_str[iCount * BIDI_ENCODING_LENGTH];
        input_str[iCount * BIDI_ENCODING_LENGTH] = cTemp[0];
        cTemp[0] = cTempSwap;
        cTempSwap = input_str[iCount * BIDI_ENCODING_LENGTH + 1];
        input_str[iCount * BIDI_ENCODING_LENGTH + 1] = cTemp[1];
        cTemp[1] = cTempSwap;
    }

    input_str[iCount * BIDI_ENCODING_LENGTH] = cTemp[0];
    input_str[iCount * BIDI_ENCODING_LENGTH + 1] = cTemp[1];

    return TRUE;
}
コード例 #23
0
ファイル: JavaAgencyUtil.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_java_display_push_busy
 * DESCRIPTION
 *  Display VM is busy for timealarm push
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_display_push_busy(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_JAVA_PUSH_BUSY, NULL, mmi_java_display_push_busy, NULL);

    ShowCategory74Screen(
        STR_JAVA_VM_BUSY,
        mmi_java_get_title_icon(),
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        (U16) 0,
        (U16) 0,
        (PU8) GetString(STR_JAVA_PUSH_BUSY),
        mmi_ucs2strlen(GetString(STR_JAVA_PUSH_BUSY)),
        NULL);

    SetLeftSoftkeyFunction(mmi_java_display_push_busy_ok_hdlr, KEY_EVENT_UP);
}
コード例 #24
0
ファイル: UCMInterface.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_ucm_app_make_call_with_source
 * DESCRIPTION
 *  Sample code
 * PARAMETERS
 *  call_type       [IN]            Call type
 *  num_uri			[IN]			Number or URI in unicode string
 * RETURNS
 *  void
 *****************************************************************************/
MMI_BOOL mmi_ucm_app_make_call_with_source(mmi_ucm_module_origin_enum module_id, mmi_ucm_call_type_enum call_type, U8 *num_uri)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 unicodeLen = 0;
    U8* num_uri_ascii = NULL;
    MMI_BOOL result = TRUE;
    
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((mmi_bootup_get_active_flight_mode()))
    {
        result = FALSE;
        return result;
    }
#ifdef __MMI_WLAN_FEATURES__
    else if ((mmi_netset_get_active_preferred_mode() == P_WLAN_ONLY) && (call_type != MMI_UCM_VOIP_CALL_TYPE))
    {
        result = FALSE;
        return result;
    }
#endif /* __MMI_WLAN_FEATURES__ */
    else if (mmi_ucm_is_pending_action() == MMI_TRUE)
    {
        result = FALSE;
        return result;
    }

    unicodeLen = (MMI_UCM_MAX_NUM_URI_LEN > mmi_ucs2strlen((S8*)num_uri)) ? (mmi_ucs2strlen((S8*)num_uri)) : (MMI_UCM_MAX_NUM_URI_LEN - 1);
    num_uri_ascii = OslMalloc((unicodeLen + 1) * ENCODING_LENGTH);
    memset(num_uri_ascii, 0, (unicodeLen + 1) * ENCODING_LENGTH);
    mmi_ucs2_n_to_asc((S8*)num_uri_ascii, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);
    
    /* do not check sos number for SAT call */
    if ((module_id != MMI_UCM_FROM_SAT) && (mmi_ucm_is_sos_number(call_type, num_uri_ascii) == TRUE))
    {
        if (mmi_ucm_is_sos_in_call_list() == FALSE)
        {
        #if defined(__MMI_DUAL_SIM_MASTER__)
            mmi_ucm_set_call_channel(call_type);
        #endif /* __MMI_DUAL_SIM_MASTER__ */

            g_ucm_p->mo_info.module_id = module_id;
            g_ucm_p->mo_info.dial_type = call_type;
            memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
            mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);

            /* If CSD number is ECC, the CSD call fails while ECC voice should be dialed. */
            if (call_type & MMI_UCM_CSD_CALL_TYPE)
            {
                g_ucm_p->mo_info.dial_type = MMI_UCM_VOICE_CALL_TYPE;
            
                if (g_ucm_p->mo_info.module_id == MMI_UCM_FROM_ABM)
                {
                    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
                }
                result = FALSE;
            }
            else if (call_type & MMI_UCM_CSD_CALL_TYPE_SIM2)
            {
                g_ucm_p->mo_info.dial_type = MMI_UCM_VOICE_CALL_TYPE_SIM2;

                if (g_ucm_p->mo_info.module_id == MMI_UCM_FROM_ABM)
                {
                    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
                }
                result = FALSE;                
            }

            if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_ALL) != 0)
            {
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] End All Calls before Dial SOS\n");
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_end_all_action();
            }
            else
            {            
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] Directly Dial SOS\n");
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_dial_action();
            }
        }
        else /* not allow to dial this sos number */
        {
            result = FALSE;
        }        
    }
    else /* not a sos number */
    {
        if (!strlen((S8*)num_uri_ascii)) /* empty number */
        {
            result = FALSE;
        }
        else if ((!mmi_bootup_is_sim_valid()) && 
                 (call_type != MMI_UCM_VOIP_CALL_TYPE) && 
                 !(call_type & MMI_UCM_SIM2_CALL_TYPE_ALL))
        {
            result = FALSE;
        }
    #if defined(__MMI_DUAL_SIM_MASTER__)
        else if ((!mmi_bootup_is_sim2_valid()) &&
                 (call_type & MMI_UCM_SIM2_CALL_TYPE_ALL))
        {
            result = FALSE;
        }
    #endif /* __MMI_DUAL_SIM_MASTER__ */
        /* Data/CSD call priority is lower than voice call priority. */
        else if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_ALL) && (call_type & (MMI_UCM_CALL_TYPE_DATA_CSD_ALL)))
        {
            result = FALSE;
        }
        else if ((mmi_ucm_is_busy() == FALSE) && (mmi_ucm_dial_option() == TRUE))
        {
        #if defined(__MMI_DUAL_SIM_MASTER__)
            mmi_ucm_set_call_channel(call_type);
        #endif /* __MMI_DUAL_SIM_MASTER__ */

            g_ucm_p->mo_info.module_id = module_id;
            g_ucm_p->mo_info.dial_type = call_type;
            memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
            mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);
        
            if ((g_ucm_p->mo_info.dial_type & MMI_UCM_VOICE_CALL_TYPE_ALL) && 
                (SS_OPERATION == applib_ss_string_parsing((U8*)g_ucm_p->mo_info.dial_num.num_uri, (U8)strlen((S8*)g_ucm_p->mo_info.dial_num.num_uri))))
            {
                /* dial directly if SS operation or SIM operation */
                mmi_ucm_dial_action();
            }
            else if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_DATA_CSD_ALL) && (g_ucm_p->mo_info.dial_type & MMI_UCM_CALL_TYPE_NO_DATA_CSD))
            {
                /* normal call and data call cannot co-exist */
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] End All Calls before Dial %d\n", g_ucm_p->mo_info.dial_type);
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_end_all_action();
            }
            else if (mmi_ucm_get_active_group(MMI_UCM_CALL_TYPE_ALL, FALSE, g_ucm_p->call_misc.index_list) == MMI_UCM_MAX_ACTIVE_TAB)
            {
                mmi_ucm_hold_and_dial_action();
            }
            else
            {
                mmi_ucm_dial_action();
            }
            result = TRUE;
        }
        else
        {
            result = FALSE;
        }
    }

    if (result == TRUE)
    {
        /* abort auto redial if necessary */
        if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL ||
            IsScreenPresent(SCR_ID_UCM_AUTO_REDIAL))
        {
            StopTimer(UCM_AUTO_REDIAL_TIMER);
            ClearDelScrnIDCallbackHandler(SCR_ID_UCM_AUTO_REDIAL, NULL);
            
            if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL)
            {
                EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
            }

            DeleteScreenIfPresent(SCR_ID_UCM_AUTO_REDIAL);
            if (g_ucm_p->auto_redial.abort_hdlr)
            {
                g_ucm_p->auto_redial.abort_hdlr();                
            }
            memset(&g_ucm_p->auto_redial, 0, sizeof(mmi_ucm_auto_redial_struct));
        }
    }

    OslMfree(num_uri_ascii);
    return result;
}
コード例 #25
0
ファイル: UCMInterface.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_ucm_app_make_call
 * DESCRIPTION
 *  Sample code
 * PARAMETERS
 *  call_type       [IN]            Call type
 *  num_uri			[IN]			Number or URI in unicode string
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ucm_app_make_call(mmi_ucm_call_type_enum call_type, U8 *num_uri)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 unicodeLen = 0;

#ifdef __MMI_BG_SOUND_EFFECT__
    U8 num_type = 0;
#endif /* __MMI_BG_SOUND_EFFECT__ */

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/    
    unicodeLen = (MMI_UCM_MAX_NUM_URI_LEN > mmi_ucs2strlen((S8*)num_uri)) ? (mmi_ucs2strlen((S8*)num_uri)) : (MMI_UCM_MAX_NUM_URI_LEN - 1);
    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
    g_ucm_p->mo_info.dial_type = call_type;
    memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
    mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);

#ifdef __MMI_BG_SOUND_EFFECT__

    num_type = applib_ss_string_parsing((U8*)g_ucm_p->mo_info.dial_num.num_uri, (U8)unicodeLen);

    if (mmi_bgsnd_common_get_mo_bgs_permit_state() &&
        ((call_type & MMI_UCM_VOICE_CALL_TYPE_ALL) || (call_type == MMI_UCM_VOIP_CALL_TYPE)) &&
        mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_NO_CSD) == 0 &&
        mmi_ucm_emergency_call_present() == FALSE &&
        num_type == CC_OPERATION &&
    #ifdef __CTM_SUPPORT__
        (mmi_gsm_ctm_is_on() == FALSE) &&
    #endif /* __CTM_SUPPORT__ */ 
        mmi_ucm_is_sos_number(g_ucm_p->mo_info.dial_type, g_ucm_p->mo_info.dial_num.num_uri) == FALSE &&
        mmi_bootup_get_active_flight_mode() == FLIGHTMODE_OFF)
    {        
        if (g_ucm_p->call_misc.is_bgs_selected == FALSE)
        {
            /* select background sound effect */
            mmi_ucm_entry_bgs_effect_select();

            return;
        }
        else
        {
            /* reset the flag and continue outgoing call procedure */
            g_ucm_p->call_misc.is_bgs_selected = FALSE;

            /* delete idle dial pad related screens */
            mmi_idle_delete_dialpad_from_history();
        }
    }
#endif /* __MMI_BG_SOUND_EFFECT__ */
    
    mmi_ucm_outgoing_call_sendkey();

    /* abort auto redial if necessary */
    if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL || IsScreenPresent(SCR_ID_UCM_AUTO_REDIAL))
    {
        StopTimer(UCM_AUTO_REDIAL_TIMER);
        ClearDelScrnIDCallbackHandler(SCR_ID_UCM_AUTO_REDIAL, NULL);
        
        if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL)
        {
            EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
        }

        DeleteScreenIfPresent(SCR_ID_UCM_AUTO_REDIAL);
        if (g_ucm_p->auto_redial.abort_hdlr)
        {
            g_ucm_p->auto_redial.abort_hdlr();                
        }
        memset(&g_ucm_p->auto_redial, 0, sizeof(mmi_ucm_auto_redial_struct));
    }
}
コード例 #26
0
ファイル: DLAgentWPS.c プロジェクト: 12019/mtktest
static BOOL mmi_da_wps_send_http_req(U8 request_id, U8 http_method,
                                     S8 * url, S8 * post_data, PU16 file_path)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    wps_http_req_struct     *http_req;
    wps_http_req_var_struct http_req_var;
    peer_buff_struct        *peer_buff_ptr = NULL;
    U16                     pdu_length;
    U16                     len;
    FS_HANDLE               hd;
    static S8               range_header[30];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    DA_WPS_TRACE(MMI_DA_WPS_TRACE_GROUP, MMI_DA_OMA_SEND_HTTP_REQ, request_id);

    ASSERT(_da_wps_is_ready());
    ASSERT(request_id < MMI_DA_WPS_REQUEST_ID_RANGE);

    http_req = (wps_http_req_struct *) construct_local_para(sizeof(wps_http_req_struct), TD_CTRL);
    http_req->channel_id = da_wps_context.channel_id;
    http_req->request_id = request_id + MMI_DA_WPS_REQUEST_ID_BASE;
    http_req->method = http_method;
    http_req->option = WPS_HTTP_OPTION_NO_CACHE;

    http_req_var.request_url_len = (kal_uint32) strlen(url);
    http_req_var.request_url = (kal_uint8 *) url;
    http_req_var.request_header_len = 0;
    http_req_var.request_header = NULL;

    if (http_method == WPS_HTTP_METHOD_POST)
    {
        ASSERT(post_data != NULL);
        http_req->reply_type = WPS_DATA_TYPE_BUFFER;
        http_req->reply_segment_len = 0;        /* no use here */
        http_req->post_type = WPS_DATA_TYPE_BUFFER;
        http_req->post_path[0] = '\0';
        http_req->post_path[1] = '\0';
        http_req->post_total_len = strlen(post_data);
        http_req->more_post = MMI_FALSE;
        http_req_var.post_segment_len = strlen(post_data);
        http_req_var.post_segment = (kal_uint8 *) post_data;
        http_req_var.request_header_len = strlen("Content-Type: text/plain; charset=UTF-8\r\n");
        http_req_var.request_header = (kal_uint8 *)"Content-Type: text/plain; charset=UTF-8\r\n";
    }
    else
    {
        ASSERT(file_path != NULL && mmi_ucs2strlen((S8 *) file_path) < 256);
        http_req->reply_type = WPS_DATA_TYPE_FILE;
        mmi_ucs2cpy((S8 *) http_req->reply_path, (S8 *) file_path);
        http_req->reply_segment_len = 0;        /* no use here */
        http_req->post_type = WPS_DATA_TYPE_BUFFER;
        http_req->post_path[0] = '\0';
        http_req->post_path[1] = '\0';
        http_req->post_total_len = 0;
        http_req->more_post = MMI_FALSE;
        http_req_var.post_segment_len = 0;
        http_req_var.post_segment = NULL;
        
        // If the target file exist, it means RESUME
        if ((hd = FS_Open((PU16)file_path, FS_READ_ONLY)) >= 0)
        {
            UINT file_size;
            FS_GetFileSize(hd, &file_size);
            sprintf(range_header, "Range:bytes=%d-", file_size);
            FS_Close(hd);
            http_req_var.request_header_len = strlen(range_header);
            http_req_var.request_header = (kal_uint8 *)range_header;
        }
    }

    pdu_length = wps_pun_var_part(WPS_PUN_SIZE, MSG_ID_WPS_HTTP_REQ, &http_req_var, NULL);

    if (pdu_length > 0)
    {
        peer_buff_ptr = construct_peer_buff(pdu_length, 0, 0, TD_RESET);
        if (wps_pun_var_part(WPS_PUN_PACK, MSG_ID_WPS_HTTP_REQ, &http_req_var, get_pdu_ptr(peer_buff_ptr, &len)) !=
            pdu_length)
        {
            free_peer_buff(peer_buff_ptr);
            peer_buff_ptr = NULL;
        }
    }

    mmi_da_send_ilm(http_req, peer_buff_ptr, MSG_ID_WPS_HTTP_REQ, MOD_WPS);

    SetProtocolEventHandler((PsFuncPtr) mmi_da_wps_recv_http_rsp, MSG_ID_WPS_HTTP_RSP);
    SetProtocolEventHandler((PsFuncPtr) mmi_da_wps_recv_dl_progress_ind, MSG_ID_WPS_DL_PROGRESS_IND);
    SetProtocolEventHandler((PsFuncPtr) mmi_da_wps_recv_http_auth_ind, MSG_ID_WPS_HTTP_AUTH_IND);

    return MMI_TRUE;
}
コード例 #27
0
ファイル: UserCtrlPlmn.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  mmi_netset_entry_user_ctrl_plmn_add_one
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_netset_entry_user_ctrl_plmn_add_one(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 plmn_ansii[MAX_PLMN_LEN + 1], opname_asnii[MAX_LENGTH_DISPLAY_NAME];
    U32 plmn_usr;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mmi_ucs2strlen((S8*) gUserCtrlPlmnList.PlmnAddNumber) < MAX_PLMN_LEN - 1 ||
        mmi_ucs2cmp((S8*) gUserCtrlPlmnList.PlmnAddString, (S8*) L"") == 0)
    {
        DisplayPopup(
            (PU8) GetString(STR_GLOBAL_UNFINISHED),
            IMG_GLOBAL_UNFINISHED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            ERROR_TONE);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
        return;
    }

    mmi_ucs2_to_asc((S8*) plmn_ansii, (S8*) gUserCtrlPlmnList.PlmnAddNumber);
    mmi_ucs2_to_asc((S8*) opname_asnii, (S8*) gUserCtrlPlmnList.PlmnAddString);

    CloseCategory57Screen();

    if (mmi_netset_retrieve_opname_from_plmn(plmn_ansii, NULL) >= 0)
    {
        /* duplicated */
        DisplayPopup(
            (PU8) GetString(STR_ID_NETSET_DUPLICATED_PLMN),
            IMG_GLOBAL_UNFINISHED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            ERROR_TONE);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
        return;
    }

    DisplayPopup(
        (U8*) GetString(STR_GLOBAL_DONE),
        IMG_GLOBAL_ACTIVATED,
        1,
        UI_POPUP_NOTIFYDURATION_TIME,
        (U8) SUCCESS_TONE);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);

    /* write data to nvram */
    plmn_usr = mmi_netset_plmn_str_2_bcd_short(plmn_ansii);
    memset(gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize], 0, 24);
    memcpy(gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize], (char*)(&plmn_usr), sizeof(U32));
    memcpy(
        gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize] + sizeof(U32),
        opname_asnii,
        strlen((S8*) opname_asnii));
    gUserCtrlPlmnList.PlmnListSize++;

    mmi_netset_access_user_ctrl_plmn_nvram(1);

    RefreshNwProviderName(gPLMN);
}
コード例 #28
0
/*****************************************************************************
 * FUNCTION
 *  jma_audio_recorder_start_record
 * DESCRIPTION
 *  This function submit Record request to media task.
 * PARAMETERS
 *  mma_type            [IN]        Int recorder
 *  java_recorder       [IN]
 * RETURNS
 *  int - 0
 *****************************************************************************/
kal_bool jma_mvm_audio_recorder_start_record(kal_int32 vm_id, kal_int32 java_recorder)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    mdi_result ret = MDI_AUDIO_FAIL;
    kal_int32 ticks = kal_milli_secs_to_ticks(200); /* 200 ms */

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MVM_AUDIO_RECORDER_START_RECORD, vm_id, java_recorder, audio_recorder[vm_id].state);
    JMA_CS_ENTER(vm_id, KAL_FALSE);

    if (audio_recorder[vm_id].id != java_recorder)
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_RESOURCE_ERROR, audio_recorder[vm_id].id);
        JMA_CS_LEAVE(KAL_FALSE);
    }
    if (vm_id != jam_mvm_get_current_vm_id())
    {
        JMA_CS_LEAVE(KAL_TRUE);
    }

//#ifdef __MMI_BACKGROUND_CALL__
    if (jma_media_player_is_in_background_call())
    {
        JMA_CS_LEAVE(KAL_FALSE);
    }
//#endif /* __MMI_BACKGROUND_CALL__ */

    if (mmi_ucs2strlen((PS8) audio_recorder[vm_id].filename) == 0)
    {
        JMA_CS_LEAVE(KAL_FALSE);
    }

    if (audio_recorder[vm_id].state == JAVA_MEDIA_STATE_READY)
    {
        ret = mdi_audio_start_record(audio_recorder[vm_id].filename, audio_recorder[vm_id].format, 0,
                                     jma_audio_recorder_record_result_hdlr, NULL);
    }
    else if (audio_recorder[vm_id].state == JAVA_MEDIA_STATE_PAUSED)
    {
        ret = mdi_audio_resume(jma_audio_recorder_record_result_hdlr, NULL);
    }

    /* Handle result */
    if (ret == MDI_AUDIO_SUCCESS)
    {
        kal_trace(TRACE_GROUP_4, J2ME_MMA_STATE_TRANSITION, vm_id, audio_recorder[vm_id].state, JAVA_MEDIA_STATE_RECORDING);
        audio_recorder[vm_id].state = JAVA_MEDIA_STATE_RECORDING;

        if (audio_recorder[vm_id].record_size_limit != -1)
        {
            kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_STACK_START_TIMER);
            stack_start_timer(&java_media_timer, JAVA_MEDIA_TIMER_AUDIO_RECORDER + vm_id, ticks);
        }

        JMA_CS_LEAVE(KAL_TRUE);
    }
    else
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, ret);
        JMA_CS_LEAVE(KAL_FALSE);
    }
}
コード例 #29
0
/*****************************************************************************
 * FUNCTION
 *  jma_audio_recorder_set_record_location
 * DESCRIPTION
 *  The function sets record location
 * PARAMETERS
 *  mma_type          [IN]
 *  java_recorder       [IN]
 *  path          [?]
 * RETURNS
 *  int - 0
 *****************************************************************************/
kal_bool jma_mvm_audio_recorder_set_record_location(kal_int32 vm_id, kal_int32 java_recorder, kal_char *path)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    kal_int32 file_handle;
    kal_int32 result, length;
    kal_wchar *ext_name;
    kal_char *file_name;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    kal_trace(TRACE_GROUP_4, FUNC_J2ME_JMA_MVM_AUDIO_RECORDER_SET_RECORD_LOCATION, vm_id, java_recorder, audio_recorder[vm_id].state);
    JMA_CS_ENTER(vm_id, KAL_FALSE);

    if (audio_recorder[vm_id].id != java_recorder)
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_RESOURCE_ERROR, audio_recorder[vm_id].id);
        JMA_CS_LEAVE(KAL_FALSE);
    }

    mmi_ucs2ncpy((PS8) audio_recorder[vm_id].filename, (PS8) path, J2ME_PATH_BUFFER_SIZE);

    length = mmi_ucs2strlen((S8*) audio_recorder[vm_id].filename);
    if (length < 4)
    {
        JMA_CS_LEAVE(KAL_FALSE);
    }

    /* Drive name can not equal to SYSTEM DRIVE */
    if ((int)audio_recorder[vm_id].filename[0] == SRV_FMGR_SYSTEM_DRV)
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
        JMA_CS_LEAVE(KAL_FALSE);
    }

    /* assign format */
    ext_name = &audio_recorder[vm_id].filename[length - 4];
    if (kal_wstrcmp(ext_name, L".amr") == 0 || kal_wstrcmp(ext_name, L".AMR") == 0)
    {
        audio_recorder[vm_id].format = MED_TYPE_AMR;
    }
    else if (kal_wstrcmp(ext_name, L".wav") == 0 || kal_wstrcmp(ext_name, L".WAV") == 0)
    {
        audio_recorder[vm_id].format = MED_TYPE_WAV;
    }
#if defined (AMRWB_ENCODE)
    else if (kal_wstrcmp(ext_name, L".awb") == 0 || kal_wstrcmp(ext_name, L".AWB") == 0)
    {
        audio_recorder[vm_id].format = MED_TYPE_AMR_WB;
    }
#endif
#if defined (__VORBIS_ENCODE__)
    else if (kal_wstrcmp(ext_name, L".ogg") == 0 || kal_wstrcmp(ext_name, L".OGG") == 0)
    {
        audio_recorder[vm_id].format = MED_TYPE_VORBIS;
    }
#endif
    else
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
        JMA_CS_LEAVE(KAL_FALSE);
    }

    kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, audio_recorder[vm_id].format);
    /* Check if valid file path and delete the file */
    result = FS_GetDevStatus(audio_recorder[vm_id].filename[0], FS_MOUNT_STATE_ENUM);
    if (result == FS_NO_ERROR)
    {
        /* Check if valid file name */
        file_name = kal_dchar_strrchr((S8*) audio_recorder[vm_id].filename, '\\');

        if (file_name)
        {
            file_name += 2;
            if (!srv_fmgr_path_is_filename_valid((const WCHAR*)file_name))
            {
                kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
                JMA_CS_LEAVE(KAL_FALSE);
            }
            /* File name can not start with space: FS API restriction */
            if (*file_name == ' ' && *(file_name + 1) == 0)
            {
                kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
                JMA_CS_LEAVE(KAL_FALSE);
            }
        }
        else /* Do not contain '\\' */
        {
            kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
            JMA_CS_LEAVE(KAL_FALSE);
        }

        /* Check if dir exist or if valid dir */
        *((kal_int16*)file_name) = 0;
        file_handle = FS_Open(audio_recorder[vm_id].filename, FS_OPEN_DIR | FS_READ_ONLY);
        if (file_handle > 0)
        {
            FS_Close(file_handle);
        }
        else
        {
            kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
            JMA_CS_LEAVE(KAL_FALSE);
        }

        /* Copy again to repair audio_recorder.filename */
        mmi_ucs2ncpy((PS8) audio_recorder[vm_id].filename, (PS8) path, J2ME_PATH_BUFFER_SIZE);

        /* Check if file exist */
        file_handle = FS_Open(audio_recorder[vm_id].filename, FS_READ_ONLY);
        if (file_handle > 0)
        {
            result = FS_Close(file_handle); /* need to close file before delete */
            result = FS_Delete(audio_recorder[vm_id].filename);
            if (result != FS_NO_ERROR)
            {
                kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, result);
                JMA_CS_LEAVE(KAL_FALSE);
            }
        }

        JMA_CS_LEAVE(KAL_TRUE);
    }
    else
    {
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_MARKER_FAIL);
        kal_trace(TRACE_GROUP_4, INFO_J2ME_MMA_D, result);
        JMA_CS_LEAVE(KAL_FALSE);
    }

}
コード例 #30
0
ファイル: CSBframework.c プロジェクト: 12019/mtktest
/*****************************************************************************
 * FUNCTION
 *  csb_frm_select_folder_callback
 * DESCRIPTION
 *
 * PARAMETERS
 *  U32			cat_ID
 * RETURNS
 *  void
 *****************************************************************************/
void csb_frm_select_folder_callback(void *fullpath, int is_short)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
	U8	csb_drive_phone_unicode[10];
	U8	csb_drive_card_unicode[10];
	U8  csb_default_folder_unicode[10];
	U8  temp_ascii[5];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    UI_UNUSED_PARAMETER(is_short);

	sprintf((S8*)temp_ascii, "%c%s", MMI_PUBLIC_DRV, ":\\");
	mmi_asc_to_ucs2((PS8) csb_drive_phone_unicode, (PS8) temp_ascii);

	
	sprintf((S8*)temp_ascii, "%c%s", MMI_CARD_DRV, ":\\");
	mmi_asc_to_ucs2((PS8) csb_drive_card_unicode, (PS8) temp_ascii);

	mmi_asc_to_ucs2((PS8) csb_default_folder_unicode, (PS8) "CSB\\");


	/* If the file path returned by FileManager is longer than MAX, show error popup */
	if(fullpath)
	{
	if((mmi_ucs2strlen((char*) fullpath)) > MAX_CSB_PATH_LENGTH)
	{
		DisplayPopup((PU8) GetString(STR_ID_CSB_FILE_PATH_TOO_LONG),
				IMG_GLOBAL_ERROR, 
				1, 
				CSB_NOTIFY_DURATION, 
				0);
	}
		else if(!(mmi_ucs2cmp((PS8) fullpath, (PS8) csb_drive_phone_unicode)))
	{

	/* Store the path returned by CallBack in the Global variable */
		mmi_ucs2cpy((PS8) g_CSB_struct.csb_settings.csb_screenshots_folder_path, (PS8)fullpath);

			mmi_ucs2cat((PS8) g_CSB_struct.csb_settings.csb_screenshots_folder_path, (PS8) csb_default_folder_unicode);

			/* Write the updated value in NVRAM */
			csb_frm_write_in_nvram();

			DisplayPopup((PU8) GetString(STR_GLOBAL_DONE),
					IMG_GLOBAL_ACTIVATED, 
					1, 
					CSB_NOTIFY_DURATION, 
					0);
		}
		else if(!(mmi_ucs2cmp((PS8) fullpath, (PS8) csb_drive_card_unicode)))
		{

			/* Store the path returned by CallBack in the Global variable */
			mmi_ucs2cpy((PS8) g_CSB_struct.csb_settings.csb_screenshots_folder_path, (PS8)fullpath);
		
			mmi_ucs2cat((PS8) g_CSB_struct.csb_settings.csb_screenshots_folder_path, (PS8) csb_default_folder_unicode);

			/* Write the updated value in NVRAM */
			csb_frm_write_in_nvram();

			DisplayPopup((PU8) GetString(STR_GLOBAL_DONE),
					IMG_GLOBAL_ACTIVATED, 
					1, 
					CSB_NOTIFY_DURATION, 
					0);
		}
		else
		{
			/* Store the path returned by CallBack in the Global variable */
			mmi_ucs2cpy((PS8) g_CSB_struct.csb_settings.csb_screenshots_folder_path, (PS8)fullpath);
		
		/* Write the updated value in NVRAM */
		csb_frm_write_in_nvram();

		DisplayPopup((PU8) GetString(STR_GLOBAL_DONE),
				IMG_GLOBAL_ACTIVATED, 
				1, 
				CSB_NOTIFY_DURATION, 
				0);
	}
	}
	else
	{
		GoBackHistory();
	}
	DeleteUptoScrID(SCR_ID_CSB_TESTTOOL_SCR_ID);
}