⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jprofilestoragehandler.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ph_update_nvram_mms_profile(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S16 error;

    U32 index = g_ph_cntx.profile_index;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (UCS2Strlen((S8*) g_ph_cntx.profile_display_p->profile_name))
    {
        if (GetUCS2Flag((S8*) g_ph_cntx.profile_display_p->profile_name))
        {
            g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
            UCS2Strncpy(
                (S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
                (S8*) g_ph_cntx.profile_display_p->profile_name,
                NVRAM_WAP_PROFILE_PROFILE_NAME_LEN);
        }
        else
        {
            g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
            UnicodeToAnsii(
                (S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
                (S8*) g_ph_cntx.profile_display_p->profile_name);
        }
    }
    else
    {
        S8 temp_unicode[8];
        S8 temp[4];
        S8 *profile_name_p;

        profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);
        gui_itoa((S32) (index + 1), (U16*) temp, 10);
        AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
        UCS2Strcpy((S8*) g_ph_cntx.profile_display_p->profile_name, profile_name_p);
        UCS2Strcat((S8*) g_ph_cntx.profile_display_p->profile_name, temp_unicode);

        g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
        UCS2Strncpy(
            (S8*) (g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name),
            (S8*) g_ph_cntx.profile_display_p->profile_name,
            NVRAM_WAP_PROFILE_PROFILE_NAME_LEN);

    }

    UnicodeToAnsii((S8*) g_ph_mms_profile_p->mmsc_url, (S8*) (g_ph_cntx.profile_display_p->homepage_url));
    UnicodeToAnsii((S8*) (g_ph_mms_profile_p->username), (S8*) (g_ph_cntx.profile_display_p->username));
    UnicodeToAnsii((S8*) (g_ph_mms_profile_p->password), (S8*) (g_ph_cntx.profile_display_p->password));

    if (index == g_ph_cntx.mms_actived_profile_index)
    {
        memcpy(g_ph_activated_mms_profile, g_ph_mms_profile_p, NVRAM_EF_MMS_PROFILE_CONTENT_SIZE);
#if defined(MMS_SUPPORT)/*dilip*/
        mmi_jmms_set_profile();
#endif

    }

    WriteRecord(
        NVRAM_EF_MMS_PROFILE_CONTENT_LID,
        (U16) (index + 1),
        g_ph_mms_profile_p,
        NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
        &error);
    WriteRecord(NVRAM_EF_MMS_PROFILE_NAMES_LID, 1, g_ph_mms_prof_name_arr_p, NVRAM_EF_MMS_PROFILE_NAMES_SIZE, &error);

    DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_ACTIVATED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE);
    DeleteNHistory(1);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ph_update_nvram_activated_wap_profile
 * DESCRIPTION
 *  Updates the NVRAM browser activated profile content data
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ph_update_nvram_activated_wap_profile(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    S16 error;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    WriteRecord(
        NVRAM_EF_WAP_PROFILE_CONTENT_LID,
        (U16) (g_ph_cntx.wap_actived_profile_index + 1),
        g_ph_activated_wap_profile,
        NVRAM_EF_WAP_PROFILE_CONTENT_SIZE,
        &error);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ph_update_nvram_activated_mms_profile
 * DESCRIPTION
 *  Updates the NVRAM MMS activated profile content data
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ph_update_nvram_activated_mms_profile(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S16 error;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    WriteRecord(
        NVRAM_EF_MMS_PROFILE_CONTENT_LID,
        (U16) (g_ph_cntx.mms_actived_profile_index + 1),
        g_ph_activated_mms_profile,
        NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
        &error);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ph_update_prov_nvram_wap_profile
 * DESCRIPTION
 *  Updates the NVRAM browser profile data(Both Name & Content) with the provisioing data for the index selected
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ph_update_prov_nvram_wap_profile(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    S16 error;
    U8 conn_type;
    U32 len = 0;

    U32 index = g_ph_cntx.profile_index;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_ph_wap_profile_p->data_account = g_ph_cntx.profile_display_p->data_account;

    WriteRecord(
        NVRAM_EF_WAP_PROFILE_CONTENT_LID,
        (U16) (index + 1),
        g_ph_wap_profile_p,
        NVRAM_EF_WAP_PROFILE_CONTENT_SIZE,
        &error);

    if (index == g_ph_cntx.wap_actived_profile_index)
    {
        memcpy(g_ph_activated_wap_profile, g_ph_wap_profile_p, NVRAM_EF_WAP_PROFILE_CONTENT_SIZE);
    }

    conn_type = g_ph_wap_profile_p->conn_type;
    g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].conn_type = conn_type;

    len = strlen((PS8) g_prov_profile_name_p);
    if ((g_prov_profile_name_p != NULL) && (len > 0))
    {
        g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_ASCII;
        if (len >= PROV_PROFILE_PROFILE_NAME_LEN)
        {
            len = PROV_PROFILE_PROFILE_NAME_LEN - 1;
        }

        memcpy(g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name, g_prov_profile_name_p, len);
        g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name[len] = '\0';
        jdd_MemFree(g_prov_profile_name_p);
        g_prov_profile_name_p = NULL;
    }
    else
    {

        S8 temp_unicode[8];
        S8 temp[4];
        S8 *profile_name_p;
        S8 temp_name[PROV_PROFILE_PROFILE_NAME_LEN + 1];

        profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);

        len = UCS2Strlen((S8*) profile_name_p);
        if (len > (PROV_PROFILE_PROFILE_NAME_LEN / 2))
        {
            len = PROV_PROFILE_PROFILE_NAME_LEN / 2;
        }

        if (GetUCS2Flag((S8*) profile_name_p))
        {
            gui_itoa((S32) (index + 1), (U16*) temp, 10);
            AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
            UCS2Strcat((S8*) profile_name_p, (S8*) temp_unicode);

            g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_UCS;
            memcpy(
                g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name,
                profile_name_p,
                len * ENCODING_LENGTH);
        }
        else
        {
            UnicodeNToAnsii((S8*) temp_name, (S8*) profile_name_p, len);
            temp_name[len] = '\0';

            gui_itoa((S32) (index + 1), (U16*) temp, 10);
            strcat(temp_name, temp);
            len = strlen(temp_name);
            memcpy(g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].profile_name, temp_name, len + 1);
            g_ph_wap_prof_name_arr_p->nvram_wap_profile_name_array[index].dcs = PH_DCS_ASCII;
        }

    }

    WriteRecord(NVRAM_EF_WAP_PROFILE_NAMES_LID, 1, g_ph_wap_prof_name_arr_p, NVRAM_EF_WAP_PROFILE_NAMES_SIZE, &error);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_ph_update_prov_nvram_mms_profile
 * DESCRIPTION
 *  Updates the NVRAM browser profile data(Both Name & Content) with the provisioing data for the index selected
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ph_update_prov_nvram_mms_profile(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S16 error;
    U32 len;

    U32 index = g_ph_cntx.profile_index;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_ph_mms_profile_p->data_account = g_ph_cntx.profile_display_p->data_account;
    WriteRecord(
        NVRAM_EF_MMS_PROFILE_CONTENT_LID,
        (U16) (index + 1),
        g_ph_mms_profile_p,
        NVRAM_EF_MMS_PROFILE_CONTENT_SIZE,
        &error);

    if (index == g_ph_cntx.mms_actived_profile_index)
    {
        memcpy(g_ph_activated_mms_profile, g_ph_mms_profile_p, NVRAM_EF_MMS_PROFILE_CONTENT_SIZE);
#if defined(MMS_SUPPORT)/*dilip*/
        mmi_jmms_set_profile();
#endif
    }

    len = strlen((PS8) g_prov_profile_name_p);
    if ((g_prov_profile_name_p != NULL) && (len > 0))
    {
        g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
        if (len >= PROV_PROFILE_PROFILE_NAME_LEN)
        {
            len = PROV_PROFILE_PROFILE_NAME_LEN - 1;
        }
        memcpy(g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name, g_prov_profile_name_p, len);
        g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name[len] = '\0';
        jdd_MemFree(g_prov_profile_name_p);
        g_prov_profile_name_p = NULL;
    }
    else
    {

        S8 temp_unicode[8];
        S8 temp[4];
        S8 *profile_name_p;
        S8 temp_name[PROV_PROFILE_PROFILE_NAME_LEN + 1];

        profile_name_p = (S8*) get_string((MMI_ID_TYPE) STR_ID_PROF_HDLR_PROFILE);

        len = UCS2Strlen((S8*) profile_name_p);
        if (len > PROV_PROFILE_PROFILE_NAME_LEN)
        {
            len = PROV_PROFILE_PROFILE_NAME_LEN;
        }

        if (GetUCS2Flag((S8*) profile_name_p))
        {
            gui_itoa((S32) (index + 1), (U16*) temp, 10);
            AnsiiToUnicodeString((S8*) temp_unicode, (S8*) temp);
            UCS2Strcat((S8*) profile_name_p, (S8*) temp_unicode);

            g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_UCS;
            memcpy(
                g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name,
                profile_name_p,
                len * ENCODING_LENGTH);
        }
        else
        {

            UnicodeNToAnsii((S8*) temp_name, (S8*) profile_name_p, len);
            temp_name[len] = '\0';
            gui_itoa((S32) (index + 1), (U16*) temp, 10);
            strcat(temp_name, temp);
            len = strlen(temp_name);
            memcpy(g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].profile_name, temp_name, len + 1);
            g_ph_mms_prof_name_arr_p->nvram_mms_profile_name_array[index].dcs = PH_DCS_ASCII;
        }

    }
    WriteRecord(NVRAM_EF_MMS_PROFILE_NAMES_LID, 1, g_ph_mms_prof_name_arr_p, NVRAM_EF_MMS_PROFILE_NAMES_SIZE, &error);
}

#endif /* defined (JATAAYU_SUPPORT) && (defined (WAP_SUPPORT) || (defined (MMS_SUPPORT))) */ 
#endif /* _JPROFILESTORAGEHANDLER_C */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -