📄 textphonecontrol.c
字号:
/*----------------------------------------------------------------*/
/* 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 + -