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

📄 textphonecontrol.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
    SetLeftSoftkeyFunction(entry_ctm_setting_selection, KEY_EVENT_UP);
    SetKeyHandler(entry_ctm_setting_selection, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  highlight_ctm_setting_items
 * DESCRIPTION
 *  
 * PARAMETERS
 *  index       [IN]        
 *  void(?)     [IN]        *
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_ctm_setting_items(S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ctm_p->index = index;
}


/*****************************************************************************
 * FUNCTION
 *  highlight_ctm_edit_done
 * DESCRIPTION
 *  highlight handler for change input method in editor option
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_ctm_edit_done(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(mmi_ctm_edit_done, KEY_EVENT_UP);
}


/*****************************************************************************
 * FUNCTION
 *  highlight_ctm_input_method
 * DESCRIPTION
 *  highlight handler for change input method in editor option
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void highlight_ctm_input_method(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetLeftSoftkeyFunction(EntryInputMethodScreen, KEY_EVENT_UP);
}


/*****************************************************************************
 * FUNCTION
 *  hint_ctm_mode
 * DESCRIPTION
 *  hint
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void hint_ctm_mode(U16 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (ctm_p->status == TRUE)
    {
        pfnUnicodeStrcpy((S8*) hintData[index], (S8*) GetString(STR_GLOBAL_ON));
    }
    else
    {
        pfnUnicodeStrcpy((S8*) hintData[index], (S8*) GetString(STR_GLOBAL_OFF));
    }
    return;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ctm_set_default_rsp_hdlr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ctm_set_default_rsp_hdlr(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    pBOOL result = TRUE;

#ifndef __CTM_DEBUG
    mmi_ctm_set_default_rsp_struct *rsp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    rsp = (mmi_ctm_set_default_rsp_struct*) info;
    result = rsp->result;
#endif /* __CTM_DEBUG */ 

    PRINT_INFORMATION(("\n CTM SET DEFAULT RSP \n"));

    if (result == TRUE)
    {

    }
    else
    {

    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ctm_get_default_rsp_hdlr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ctm_get_default_rsp_hdlr(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    pBOOL result = TRUE;
    pBOOL on_off = TRUE;
    U8 mode = CTM_DIRECT_MODE;
    U8 mmi_mode;

#ifndef __CTM_DEBUG
    mmi_ctm_get_default_rsp_struct *rsp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    rsp = (mmi_ctm_get_default_rsp_struct*) info;
    result = rsp->result;
    on_off = rsp->is_turn_on;
    mode = rsp->ctm_interface;
#endif /* __CTM_DEBUG */ 

    PRINT_INFORMATION(("\n CTM GET DEFAULT RSP \n"));

    if (result == TRUE)
    {
        S16 error;

        if (ctm_p->status != on_off)
        {
            ctm_p->status = on_off;
            WriteValue(NVRAM_CTM_MODE, &ctm_p->status, DS_BYTE, &error);
        }
        switch (mode)
        {
            case CTM_BAUDOT_MODE:
                mmi_mode = MMI_CTM_SETTING_BAUDOT;
                break;
            case CTM_HCO_MODE:
                mmi_mode = MMI_CTM_SETTING_HCO;
                break;
            case CTM_VCO_MODE:
                mmi_mode = MMI_CTM_SETTING_VCO;
                break;
            case CTM_DIRECT_MODE:
                /* MMI mode_setting should be auto or manual direct */
                if (ctm_p->mode_setting != MMI_CTM_SETTING_MANUAL_DIRECT &&
                    ctm_p->mode_setting != MMI_CTM_SETTING_AUTO_DIRECT)
                {
                    mmi_mode = MMI_CTM_SETTING_MANUAL_DIRECT;
                }
                else
                {
                    mmi_mode = ctm_p->mode_setting;
                }
                break;
            default:
                ASSERT(0);
                break;
        }

        /* MMI mode setting should be the same as L4 mode */
        if (mmi_mode != ctm_p->mode_setting)
        {
            ctm_p->mode_setting = mmi_mode;
            WriteValue(NVRAM_CTM_SETTING, &ctm_p->mode_setting, DS_BYTE, &error);
        }

        if (ctm_p->status == TRUE)
        {
            ShowStatusIcon(STATUS_ICON_TTY_INDICATOR);
            /* only hide earphone when it's real tty, 
               direct mode still take as earphone */
            if (ctm_p->mode_setting < MMI_CTM_SETTING_MANUAL_DIRECT)
            HideStatusIcon(STATUS_ICON_EARPHONE_INDICATOR);
        }
        else
        {
            HideStatusIcon(STATUS_ICON_TTY_INDICATOR);
        }
        UpdateStatusIcons();
    }
    //else
    //ASSERT(0);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ctm_open_rsp_hdlr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ctm_open_rsp_hdlr(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    pBOOL result = TRUE;
    U8 ctm_interface = CTM_DIRECT_MODE;

#ifndef __CTM_DEBUG
    mmi_ctm_open_rsp_struct *rsp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    rsp = (mmi_ctm_open_rsp_struct*) info;
    result = rsp->result;
    ctm_interface = rsp->ctm_interface;
#endif /* __CTM_DEBUG */ 

    PRINT_INFORMATION(("\n CTM OPEN RSP \n"));

    if (ctm_p->state == MMI_CTM_STATE_OPENING)
    {
        if (result == TRUE)
        {
            /* open OK */
            mmi_ctm_set_state(MMI_CTM_STATE_OPENED);
            ctm_p->mode_activated = ctm_interface;
        }
        else
        {
            mmi_ctm_set_state(MMI_CTM_STATE_IDLE);
        }

        {
            S8 mode = 0xff;

            /* open fail */

            if (ctm_p->tty_status == TRUE)
            {
                /* with TTY, open as TTY */
                switch (ctm_p->mode_setting)
                {
                    case MMI_CTM_SETTING_HCO:
                        mode = CTM_HCO_MODE;
                        break;
                    case MMI_CTM_SETTING_VCO:
                        mode = CTM_VCO_MODE;
                        break;
                    case MMI_CTM_SETTING_BAUDOT:
                        mode = CTM_BAUDOT_MODE;
                        break;
                    default:
                		/* CTM ON, earphone in, direct mode => keep open as direct mode, take it as earphone */
                		mode = CTM_DIRECT_MODE;
                        break;
                }
            }
            else
            {
                switch (ctm_p->mode_setting)
                {
                    case MMI_CTM_SETTING_AUTO_DIRECT:
                    case MMI_CTM_SETTING_MANUAL_DIRECT:
                        /* no TTY, open as direct */
                        mode = CTM_DIRECT_MODE;
                        break;
                    default:
                        break;
                }
            }

            ASSERT(ctm_p->mode_setting <= MMI_CTM_SETTING_AUTO_DIRECT);

            if (mode != 0xff && mode != ctm_interface)
            {
                mmi_ctm_set_state(MMI_CTM_STATE_OPENING);
                mmi_ctm_send_open_req(mode);
                return;
            }
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ctm_close_rsp_hdlr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ctm_close_rsp_hdlr(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION(("\n CTM CLOSE RSP\n"));

    if (ctm_p->state == MMI_CTM_STATE_CLOSING)
    {
        mmi_ctm_set_state(MMI_CTM_STATE_IDLE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_ctm_connect_rsp_hdlr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ctm_connect_rsp_hdlr(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    pBOOL result = TRUE;

#ifndef __CTM_DEBUG
    mmi_ctm_connect_rsp_struct *rsp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    rsp = (mmi_ctm_connect_rsp_struct*) info;

⌨️ 快捷键说明

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