コード例 #1
0
/*****************************************************************************
 * FUNCTION
 *  mmi_SSC_handle_hardware_version
 * DESCRIPTION
 *  Execute the sofeware version dispaly
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_SSC_handle_hardware_version(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    CHAR strHWVersionNo[(MAX_SW_VER_LEN + 1) * ENCODING_LENGTH];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    memset(strHWVersionNo, 0, sizeof(strHWVersionNo));
#ifdef __ASCII
    strcpy(strHWVersionNo, (CHAR*) release_hw_ver());
#endif 

#ifdef __UCS2_ENCODING
    mmi_asc_n_to_ucs2(strHWVersionNo, (CHAR*) release_hw_ver(), MAX_SW_VER_LEN);
#endif 

    EntryNewScreen(SCR_ENTER_HW_VERSION, NULL, mmi_SSC_handle_hardware_version, NULL);

    ShowCategory7Screen(SSC_SCR_HW_VERSION_CAPTION_ID, 0, STR_GLOBAL_OK, 0, 0, 0, (PU8) strHWVersionNo, NULL);

    SetLeftSoftkeyFunction(mmi_idle_display, KEY_EVENT_UP);
}
コード例 #2
0
/*****************************************************************************
 * FUNCTION
 *  srv_clog_si_log_si2cmn
 * DESCRIPTION
 *  
 * PARAMETERS
 *  sort_info       [?]         
 *  fields          [IN]        
 *  log             [?]         
 * RETURNS
 *  
 *****************************************************************************/
S32 srv_clog_si_log_si2cmn(srv_clog_si_struct *sort_info, U32 fields, srv_clog_log_struct *log)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 i;
    srv_clog_call_log_struct *call_log;
    kal_uint8 call_number[SRV_CLOG_CID_MAX_LEN + 1];
    WCHAR phb_num[SRV_CLOG_CID_MAX_LEN + 1];
    
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    memset(log, 0x0, sizeof(srv_clog_log_struct));
    log->cate = SRV_CLOG_CATE_CALL;     // only support call log now

    if (!srv_clog_si_log_is_valid(sort_info))
        return SRV_CLOG_RET_EMPTY;
    if (fields == 0)
        fields = SRV_CLOG_LOG_FIELD_ALL;

    call_log = &log->data.call_log;
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_IDENTITY))
    {
        call_log->cate = SRV_CLOG_CATE_CALL;
        call_log->sim_id = SRV_CLOG_PI_P2IDX(SRV_CLOG_SILOG_GET_TYPE_ID(sort_info), SRV_CLOG_TSP_SIM_ID_GRP, SRV_CLOG_TSP_SIM_ID_POS)+1;
        call_log->log_type = SRV_CLOG_PI_P2IDX(SRV_CLOG_SILOG_GET_TYPE_ID(sort_info), SRV_CLOG_TSP_CLT_GRP, SRV_CLOG_TSP_CLT_POS);
        call_log->sub_type = SRV_CLOG_CALL_TYPE_VOICE;
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_LOG_ID))
    {
        call_log->log_id = SRV_CLOG_SILOG_GET_LOG_ID(sort_info);
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_TIMESTAMP))
    {
        memcpy(call_log->timestamp, sort_info->timestamp, sizeof(sort_info->timestamp[0]) * SRV_CLOG_TIME_DETAIL_MAX_NUM);
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_DURATION))
    {
        for (i = 0; i < SRV_CLOG_TIME_DETAIL_MAX_NUM; i++)
            call_log->duration[i] = sort_info->duration[i];
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_TOTAL_NUM))
    {
        call_log->total_num = SRV_CLOG_SILOG_GET_TOTALNUM(sort_info);
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_UNREAD_NUM))
    {
        call_log->unread_num = SRV_CLOG_SILOG_GET_UNREADNUM(sort_info);
    }
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_IS_NEW_EVENT))
    {
        call_log->is_new_event = SRV_CLOG_PI_P2IDX(SRV_CLOG_SILOG_GET_TYPE_ID(sort_info), SRV_CLOG_TDP_NEW_EVENT_GRP, SRV_CLOG_TDP_NEW_EVENT_POS);
    }

    srv_clog_si_log_get_cid(sort_info, call_number, SRV_CLOG_CID_MAX_LEN);
    if ( SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_PHB_ID) )
    {
    #ifdef __MMI_CLOG_PHB_SYNC_SUPPORT__
        /* Check if cid is same when phb_id is same, if both same, get name from phb, if not, the phb number may be damaged abnormally,
            in some abnormally case, the cid is different even phb_id is same,
            such as insert the sim card in another target and modify the phb number and then insert back to this target,
            the phb entry may be changed greatly even with same phb_id, if so, just show the name saved in calllog,
            temp solution for this special case */
        MMI_BOOL ret2;
        WCHAR log_num[SRV_CLOG_CID_MAX_LEN + 1];
        
        ret2 = srv_phb_get_number_by_number_id(phb_num, SRV_CLOG_SILOG_GET_PHB_ID(sort_info), SRV_CLOG_CID_MAX_LEN);

        if (ret2)
        {
            mmi_asc_n_to_ucs2((CHAR *)log_num, call_number, SRV_CLOG_CID_MAX_LEN);
            /* PHB_ID is same, if number is same too, we will use contact's name, else
                PHB_ID is same, but number is diff, we will set NULL to log name and set invalid PHB_ID to log */
            if (srv_phb_compare_number(phb_num, log_num))
                srv_phb_get_name_by_number_id(call_log->name, SRV_CLOG_SILOG_GET_PHB_ID(sort_info), SRV_CLOG_NAME_MAX_LEN);
            else
            {
                /* TODO: save it to NVRAM? */
                SRV_CLOG_SET_INVALID_PHB_ID(sort_info->phb_id);
            }
        }

        if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_PHB_ID))
            call_log->phb_id = SRV_CLOG_SILOG_GET_PHB_ID(sort_info);
    #else /* __MMI_CLOG_PHB_SYNC_SUPPORT__ */
        mmi_asc_n_to_wcs(phb_num, (CHAR*)call_number,  SRV_CLOG_CID_MAX_LEN);
        srv_phb_get_name_by_number(phb_num, call_log->name, SRV_CLOG_NAME_MAX_LEN);
    #endif /* __MMI_CLOG_PHB_SYNC_SUPPORT__ */
    }
    
    if (SRV_CLOG_CHECK_BIT(fields, SRV_CLOG_LOG_FIELD_CID))
    {
        mmi_asc_to_ucs2((CHAR*) call_log->cid, (CHAR*) call_number);
    }
    
    return SRV_CLOG_RET_OK;
}
コード例 #3
0
ファイル: vmpreload.c プロジェクト: WayWingsDev/testmywatch
VMINT vm_preload_download_ex(VMINT hdl, const VMWCHAR * data, VMBOOL bDLA,void (*callback)(VMINT hdl, void * para), void * user_data)
{
    VMCHAR http_header[BUFFER_LEN] = {0};
    VMINT ret = 0;
    VMINT written = 0;
    vm_preload_ctx_t * ctx_p = NULL;
    VMINT bufSize = 0;

    MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_2997 );			
    if (NULL == data || 0 > hdl)
    {
        MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_3000 );         
        return -2;
    }

    if (vm_res_get_data(VM_RES_TYPE_PRELOAD, 
        hdl, (void**)&ctx_p, &bufSize) != VM_RES_OK)
    {
        MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_3058 , -6);           
        return -6;
    }
    
    if (NULL == ctx_p)
    {
        MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_3009 );      
        return -3;
    }
    
    
    vm_wstrcpy(ctx_p->path, (const VMWSTR)data);
    ctx_p->cb = callback;
    ctx_p->user_data = user_data;
    ctx_p->bDLA = bDLA;
    if (!bDLA || g_no_dla)
    {
        ret = _vm_preload_try_download(ctx_p);
        if (ret <= 0)
            return ret;
    }
    else
    {
#if defined(MMI_DA_HTTP_DOWNLOAD_SUPPORT)   
        VMUINT account_id;
        srv_da_start_download_struct da_param;
        vm_apn_info_ext info = {0};
        
        memset(&da_param,0,sizeof(da_param));
        vm_get_encoded_dtacct_id(VM_TCP_APN_CMWAP, &account_id);
        MMI_PRINT(MOD_MRE, MMI_MRE_TRC_MOD_VMSOCK,"preload dla dt[0x%x]", 
            account_id);
        if (0 == vm_get_apn_info(&info)) // px
        {
            if (0 == vm_get_default_apn_info(&info))
            {
                if (info.apn_info_id)
                {
                    vm_get_encoded_dtacct_id(VM_TCP_APN_CMWAP, &account_id);
                    MMI_PRINT(MOD_MRE, MMI_MRE_TRC_MOD_VMSOCK,"preload dla px[0x%x]", 
                        account_id);
                }
                else
                {
                    vm_get_encoded_dtacct_id(VM_TCP_APN_CMNET, &account_id);
                    MMI_PRINT(MOD_MRE, MMI_MRE_TRC_MOD_VMSOCK,"preload dla npx[0x%x]", 
                        account_id);
                }
            }
            else // wifi without sim
            {
                
            }
        }
        srv_dtcnt_get_auto_acc_id(account_id, &da_param.acc_id);
        mmi_asc_n_to_ucs2((CHAR *)http_header,ctx_p->url,BUFFER_LEN);
        da_param.url = (WCHAR*)http_header;
        //da_param.acc_id = account_id;
        da_param.show_confirm = MMI_FALSE;
        da_param.user_data = ctx_p;
        da_param.filepath = (U16 *)data;
        da_param.dl_progress = vm_preload_download_callback;
        da_param.dispatch_callback = NULL;
        da_param.setting_hdlr = srv_da_default_setting;// MAUI_03202723 srv_da_bypass_setting -> srv_da_default_setting; //vm_preload_download_setting;
        if (NULL == srv_da_start_http_download(&da_param))
        {
            //_vm_preload_clean(ctx_p);
            _vm_preload_free_ctx(ctx_p);
            return -5;
        }
#endif        
    }
    
    MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_3058 , ret);			
    ctx_p->update = 2;
    MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_3060 );			
    return 0;
}