📄 networkfunctions.c
字号:
* void*(?)
* RETURNS
* void
*****************************************************************************/
void GPRSStatusDetachGPRSRsp(void *info)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* do nothing */
}
/*****************************************************************************
* FUNCTION
* GPRSStatusDetachGPRSReq
* DESCRIPTION
* Request for GPRS detachment
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void GPRSStatusDetachGPRSReq(void)
{
#ifdef __MMI_GPRS_FEATURES__
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
MYQUEUE msgStruct;
mmi_nw_set_attach_req_struct *local_data;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
SetProtocolEventHandler(GPRSStatusDetachGPRSRsp, MSG_ID_MMI_NW_SET_ATTACH_RSP);
msgStruct.oslSrcId = MOD_MMI;
msgStruct.oslDestId = MOD_L4C;
msgStruct.oslMsgId = MSG_ID_MMI_NW_SET_ATTACH_REQ;
local_data = (mmi_nw_set_attach_req_struct*) OslConstructDataPtr(sizeof(mmi_nw_set_attach_req_struct));
local_data->is_poweroff = MMI_FALSE;
local_data->opcode = RAC_DETACH;
local_data->type = RAC_PS;
msgStruct.oslDataPtr = (oslParaType*) local_data;
msgStruct.oslPeerBuffPtr = NULL;
OslMsgSendExtQueue(&msgStruct);
return;
#endif /* __MMI_GPRS_FEATURES__ */
}
/*****************************************************************************
* FUNCTION
* UpdateGPRSStatusIcon
* DESCRIPTION
* Update GPRS icon
* PARAMETERS
* gprs_state [IN]
* RETURNS
* void
*****************************************************************************/
void UpdateGPRSStatusIcon(U8 gprs_state)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
static U8 gGPRSAttachStatus = 0;
static U8 gGPRSPDPStatus = 0;
static U8 gGPRSCellStatus = 0;
/* micha0202, vito G display issue */
static U8 LastGPRSStatus = 0; /* 0: No icon, 1: only attach, 2: attach+pdp active */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (gprs_state)
{
case L4C_GPRS_ATTACHED:
gGPRSCellStatus = 1; /* diamond, 2006/04/20 Accept to display if no coverage */
gGPRSAttachStatus = 1;
#ifdef WAP_SUPPORT
mmi_netset_update_gprs_state_to_wap(WAP_GPRS_ATTACHED);
#endif
break;
case L4C_GPRS_DETACHED:
gGPRSAttachStatus = 0;
#ifdef WAP_SUPPORT
mmi_netset_update_gprs_state_to_wap(WAP_GPRS_DETACHED);
#endif
break;
case L4C_PDP_ACTIVED:
gGPRSPDPStatus = 1;
break;
case L4C_PDP_DEACTIVED:
gGPRSPDPStatus = 0;
break;
case L4C_GPRS_COVERAGE:
#ifdef WAP_SUPPORT
mmi_netset_update_gprs_state_to_wap(WAP_GPRS_COVERAGE);
#endif
gGPRSCellStatus = 1;
break;
case L4C_NONE_GPRS:
gGPRSCellStatus = 0;
gGPRSAttachStatus = 0;
#ifdef WAP_SUPPORT
mmi_netset_update_gprs_state_to_wap(WAP_GPRS_NONE);
#endif
break;
default:
break;
}
PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[Update G] Att:%d,PDP:%d,Cov:%d,Last:%d", gGPRSAttachStatus,
gGPRSPDPStatus, gGPRSCellStatus, LastGPRSStatus));
/* micha0202, micha0224, vito display issue */
if (gGPRSAttachStatus && gGPRSPDPStatus && gGPRSCellStatus)
{
if (LastGPRSStatus != 2)
{
HideStatusIcon(STATUS_ICON_GPRS_ATT_NO_PDP_INDICATOR);
ShowStatusIcon(STATUS_ICON_GPRS_SERVICE);
LastGPRSStatus = 2;
gGPRSStatusModified = 1;
}
}
else if (gGPRSAttachStatus && !gGPRSPDPStatus && gGPRSCellStatus)
{
if (LastGPRSStatus != 1)
{
HideStatusIcon(STATUS_ICON_GPRS_SERVICE);
ShowStatusIcon(STATUS_ICON_GPRS_ATT_NO_PDP_INDICATOR);
LastGPRSStatus = 1;
gGPRSStatusModified = 1;
}
}
else
{
if (LastGPRSStatus != 0)
{
HideStatusIcon(STATUS_ICON_GPRS_ATT_NO_PDP_INDICATOR);
HideStatusIcon(STATUS_ICON_GPRS_SERVICE);
LastGPRSStatus = 0;
gGPRSStatusModified = 1;
}
UpdateStatusIcons();
}
}
/**************************************************************************
API's To Others
**************************************************************************/
/*****************************************************************************
* FUNCTION
* HomezoneStatusIndication
* DESCRIPTION
* This function is a call back for homezone indication
* PARAMETERS
* info [?]
* RETURNS
* void
*****************************************************************************/
#ifdef __HOMEZONE_SUPPORT__
void HomezoneStatusIndication(void *info)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 convertOutLen = 0, originalInLen = 0, i;
mmi_hz_tag_ind_struct *local_data;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
// U8 s[4] = {0x54, 0x65, 0x73, 0x74};
// gHomezoneText=CovertStringForPlatform((PU8)s, 4, MMI_DEFAULT_DCS, &convertOutLen);
local_data = (mmi_hz_tag_ind_struct*) info;
if (local_data->is_hz == MMI_TRUE) /* homezone case */
{
if (local_data->action == MMI_TRUE) /* show icon and display text */
{
#if 0
/* under construction !*/
#endif
ShowStatusIcon(STATUS_ICON_HOMEZONE);
if (local_data->tag[0] != 0xFF)
{
for (i = 0; i < 12; i++) /* the max HZ length is 12 */
{
if (local_data->tag[i] == 0xFF)
{
break;
}
else
{
originalInLen++;
}
}
gHomezoneText = CovertStringForPlatform(local_data->tag, originalInLen, MMI_DEFAULT_DCS, &convertOutLen);
}
else
{
gHomezoneText = NULL;
}
}
else /* clear icon and text */
{
HideStatusIcon(STATUS_ICON_HOMEZONE);
#if 0
/* under construction !*/
#endif
gHomezoneText = NULL;
}
}
else /* cityzone case */
{
if (local_data->action == MMI_TRUE) /* show icon and display text */
{
HideStatusIcon(STATUS_ICON_HOMEZONE);
#if 0
/* under construction !*/
#endif
if (local_data->tag[0] != 0xFF)
{
for (i = 0; i < 12; i++) /* the max HZ length is 12 */
{
if (local_data->tag[i] == 0xFF)
{
break;
}
else
{
originalInLen++;
}
}
gHomezoneText = CovertStringForPlatform(local_data->tag, originalInLen, MMI_DEFAULT_DCS, &convertOutLen);
}
else
{
gHomezoneText = NULL;
}
}
else /* clear icon and text */
{
HideStatusIcon(STATUS_ICON_HOMEZONE);
#if 0
/* under construction !*/
#endif
gHomezoneText = NULL;
}
}
UpdateStatusIcons();
IdleRefreshServiceIndicationArea();
if (g_idle_context.IsOnIdleScreen)
{
EntryIdleScreen();
}
}
#endif /* __HOMEZONE_SUPPORT__ */
#ifndef __MTK_TARGET__
/*****************************************************************************
* FUNCTION
* mmi_netset_inject_network_attachment
* DESCRIPTION
* This function is message injection to MMI for network attachment
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_netset_inject_network_attachment(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mmi_nw_attach_ind_struct *nw_attach_ind;
MYQUEUE Message;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
nw_attach_ind = (mmi_nw_attach_ind_struct*) OslConstructDataPtr(sizeof(mmi_nw_attach_ind_struct));
nw_attach_ind->status = MMI_RAC_OK;
nw_attach_ind->gprs_status = L4C_GPRS_DETACHED;
nw_attach_ind->plmn[0] = 0x34;
nw_attach_ind->plmn[1] = 0x36;
nw_attach_ind->plmn[2] = 0x36;
nw_attach_ind->plmn[3] = 0x39;
nw_attach_ind->plmn[4] = 0x37;
nw_attach_ind->plmn[5] = 0;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_MMI;
Message.oslMsgId = PRT_NW_ATTACH_IND;
Message.oslDataPtr = (oslParaType*) nw_attach_ind;
Message.oslPeerBuffPtr = NULL;
OslMsgSendExtQueue(&Message);
}
#ifdef MMI_ON_HARDWARE_P
/*****************************************************************************
* FUNCTION
* mmi_netset_write_auto_test_result
* DESCRIPTION
* This function is used for auto power on test on MoDIS
* PARAMETERS
* result [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_netset_write_auto_test_result(pBOOL result)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
extern pBOOL AUTO_POWER;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (!mmi_bootup_is_idle_screen_reached())
{
return;
}
if (AUTO_POWER)
{
if (result)
{
w32_modis_poweron_log(MMI_TRUE);
ShutdownSystemOperation();
}
else
{
w32_modis_poweron_log(MMI_FALSE);
}
}
}
#endif /* MMI_ON_HARDWARE_P */
#endif /* __MTK_TARGET__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -