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

📄 networkfunctions.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
    U8 recordnum = mmi_eons_check_if_plmn_present(UpdatePlmn);

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (recordnum)
    {
        mmi_eons_get_pnn_record_req(recordnum);
        return;
    }
#endif /* ( (defined __MMI_EONS_SUPPORT__) && (defined MMI_ON_HARDWARE_P) ) */ 

    /* diamond, 2006/03/08 Get plmn string from gPLMN[MAX_PLMN_LEN_MMI+1] */
    mmi_netset_retrieve_opname_from_plmn(UpdatePlmn, gNWProviderName);
}


/*****************************************************************************
 * FUNCTION
 *  NetWorkSignalLevelIndication
 * DESCRIPTION
 *  This function is a call back for PRT_NW_RX_LEVEL_IND, which is used to update signal strenth icon
 * PARAMETERS
 *  inMsg       [?]     
 *  void*(?)
 * RETURNS
 *  void
 *****************************************************************************/
void NetWorkSignalLevelIndication(void *inMsg)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MMINWRXLEVELIND *local_data = (MMINWRXLEVELIND*) inMsg;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION(("Inside NetWorkSignalLevelIndication "));

    g_pwr_context.CurrentCampOnBand = local_data->current_band; /* LED display for different band */

    /* MTK Modified, 030917, Robin, For Signal strength */
    if (local_data->level == SIGNAL_STRENGTH_INVAILD)
    {
        PRINT_INFORMATION(("Invalid Signal Indication"));
    }
    else if (local_data->level == SIGNAL_STRENGTH_NONE)
    {
        PRINT_INFORMATION(("No Signal Indication"));
        gSignalStrengthLevel = 0;
    }
    else if (local_data->level < SIGNAL_STRENGTH_LEVEL1)    /* Robin 1116 */
    {
        PRINT_INFORMATION(("No Signal Indication"));
        gSignalStrengthLevel = 0;
    }
    //malata modifie, 20071010, wangbei
#ifdef __NEW_UI_STYLE__
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL1) && (local_data->level < SIGNAL_STRENGTH_LEVEL2))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 15;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL2) && (local_data->level < SIGNAL_STRENGTH_LEVEL3))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 30;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL3) && (local_data->level < SIGNAL_STRENGTH_LEVEL4))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 44;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL4) && (local_data->level < SIGNAL_STRENGTH_LEVEL5))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 58;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL5) && (local_data->level < SIGNAL_STRENGTH_LEVEL6))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 72;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL6) && (local_data->level < SIGNAL_STRENGTH_LEVEL7))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 86;
    }
    else if (local_data->level >= SIGNAL_STRENGTH_LEVEL8)
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 100;
    }
#else
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL1) && (local_data->level < SIGNAL_STRENGTH_LEVEL2))
    {
        PRINT_INFORMATION(("Show only one bar shaded "));
        gSignalStrengthLevel = 25;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL2) && (local_data->level < SIGNAL_STRENGTH_LEVEL3))
    {
        PRINT_INFORMATION(("Show two  bar shaded "));
        gSignalStrengthLevel = 50;
    }
    else if ((local_data->level >= SIGNAL_STRENGTH_LEVEL3) && (local_data->level < SIGNAL_STRENGTH_LEVEL4))
    {
        PRINT_INFORMATION(("Show three  bar shaded "));
        gSignalStrengthLevel = 75;
    }
    else if (local_data->level >= SIGNAL_STRENGTH_LEVEL4)
    {
        PRINT_INFORMATION(("Show four bar shaded "));
        gSignalStrengthLevel = 100;
    }
#endif
//wangbei modify end

    /* Robin 1117, no service shall not display signal level */
    if (g_pwr_context.CurrentServiceType == NO_SERVICE)
    {
        ChangeStatusIconLevel(STATUS_ICON_SIGNAL_STRENGTH, SIGNAL_STRENGTH_NONE);
         // wangbei add start 20071010
        #ifdef __NEW_STATUS_ICONS_STYLE__
         draw_submenu_statusicons();
        #endif
        // wangbei add end
    }
    else
    {
        ChangeStatusIconLevel(STATUS_ICON_SIGNAL_STRENGTH, gSignalStrengthLevel);
         // wangbei add start 20071010
         #ifdef __NEW_STATUS_ICONS_STYLE__
         draw_submenu_statusicons();
         #endif
        // wangbei add end
    }

#ifdef __MMI_SUBLCD__
    if (g_pwr_context.CurrentServiceType == NO_SERVICE)
    {
        ChangeStatusIconLevel(STATUS_ICON_SUBLCD_SIGNAL_STRENGTH, SIGNAL_STRENGTH_NONE);
    }
    else
    {
        ChangeStatusIconLevel(STATUS_ICON_SUBLCD_SIGNAL_STRENGTH, gSignalStrengthLevel);
    }
#endif /* __MMI_SUBLCD__ */ 
}


/*****************************************************************************
 * FUNCTION
 *  NetWorkServiceTypeIndication
 * DESCRIPTION
 *  This function is a call back for PRT_SERVICE_TYPE_IND
 * PARAMETERS
 *  iMsg        [?]     
 *  void*(?)
 * RETURNS
 *  void
 *****************************************************************************/
void NetWorkServiceTypeIndication(void *iMsg)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    /* MMINWREGSTATEIND *local_data = (MMINWREGSTATEIND *)iMsg; */
    mmi_nw_reg_state_ind_struct *local_data = (mmi_nw_reg_state_ind_struct*) iMsg;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION(("\n NetWorkServiceTypeIndication\n"));

    if (local_data->status == MMI_RAC_OK)
    {
        /* micha0120 */
        UpdateGPRSStatusIcon(local_data->gprs_status);

        /* micha0423 */
        if (gGPRSStatusModified)
        {
            refresh_status_icon_display();
            gGPRSStatusModified = 0;
        }
    }
    else
    {
        /* Do nothing, keep original state */
    }
}


/*****************************************************************************
 * FUNCTION
 *  NumberOfPLMNSuported
 * DESCRIPTION
 *  This function is a call back for MSG_ID_MMI_SMU_SUPPORT_PLMN_LIST_IND
 * PARAMETERS
 *  iMsg        [?]     
 *  void*(?)
 * RETURNS
 *  void
 *****************************************************************************/
void NumberOfPLMNSuported(void *iMsg)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MMISMUSUPPORTPLMNLISTIND *local_data = (MMISMUSUPPORTPLMNLISTIND*) iMsg;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_pwr_context.NoOfPLMNSupported = local_data->length;
    PRINT_INFORMATION(("NumberOfPLMNSuported gNoOfPLMNSupported = %d\n", g_pwr_context.NoOfPLMNSupported));
}

/**************************************************************************
            Roaming API
**************************************************************************/


/*****************************************************************************
 * FUNCTION
 *  ChangeRoamingState
 * DESCRIPTION
 *  Change Roaming state
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ChangeRoamingState(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 gPLMNLen = strlen((S8*) gPLMN);

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* diamond, 2005/08/28 avoid the case VPLMN=OPN */
    if (memcmp(gHomePLMNNum, gPLMN, gPLMNLen) != 0 &&
        pfnUnicodeStrcmp((S8*) gNWProviderName, (S8*) gOperatorName) != 0 &&
        !((memcmp(gHomePLMNNum, "46002", 5) == 0 && memcmp(gPLMN, "46000", 5) == 0)) &&
        mmi_netset_equivalent_plmn_check() != 1)
    {
        /* Set Roaming Signal to be display on idle screen */
        /* g_pwr_context.RoamingFlag = 1; */
        g_pwr_context.PowerOnSIMStatus |= MMI_SIM_STATUS_ROAMING;
        IdleSetStatusIcon(STATUS_ICON_ROAMING);
        /* if( g_pwr_context.idleScreenFirst ) */
        if (mmi_bootup_is_searching_or_idle_reached() == MMI_TRUE)
        {
            StopLEDPatternRoaming();    /* MTK add Robin 1009. Stop LED will trigger the Band led pattern resume mechanism */
        }

    #ifdef MMS_SUPPORT
        wap_roaming_status_indication_callback((U32) 1);
    #endif 
    }
    else
    {
        /* g_pwr_context.RoamingFlag = 0; */
        g_pwr_context.PowerOnSIMStatus &= ~MMI_SIM_STATUS_ROAMING;
        IdleResetStatusIcon(STATUS_ICON_ROAMING);
        /* if( g_pwr_context.idleScreenFirst ) */
        if (mmi_bootup_is_searching_or_idle_reached() == MMI_TRUE)
        {
            StopLEDPatternRoaming();    /* MTK add Robin 1009. Stop LED will trigger the Band led pattern resume mechanism */
        }

    #ifdef MMS_SUPPORT
        wap_roaming_status_indication_callback((U32) 0);
    #endif 

    }
}


/*****************************************************************************
 * FUNCTION
 *  RequestToTestRoamingEnabled
 * DESCRIPTION
 *  To send message MSG_ID_MMI_SMU_GET_IMSI_REQ
 *  in response of this message imsi field is returned
 *  compare first 5byte of this arr , if they are not same
 *  with the plmn , means roaming is enabled, display the
 *  roaming icon.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void RequestToTestRoamingEnabled(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    SetProtocolEventHandler(RspToTestRoamingEnabled, PRT_GET_IMSI_RSP);
    g_pwr_context.testRoaming = 2;

    PRINT_INFORMATION(("@@@@@ RequestToTestRoamingEnabled  @@@@@"));
    Message.oslSrcId = MOD_MMI;
    Message.oslDestId = MOD_L4C;
    Message.oslMsgId = PRT_GET_IMSI_REQ;
    Message.oslDataPtr = NULL;  /* (oslParaType *)local_data; */
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  RspToTestRoamingEnabled
 * DESCRIPTION
 *  To send message MSG_ID_MMI_SMU_GET_IMSI_REQ
 *  in response of this message imsi field is returned
 *  compare first 5byte of this arr , if they are not same
 *  with the plmn , means roaming is enabled, display the
 *  roaming icon.
 * PARAMETERS
 *  inMsg       [?]     
 *  void*(?)
 * RETURNS
 *  void
 *****************************************************************************/
void RspToTestRoamingEnabled(void *inMsg)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MMISMUGETIMSIRSP *local_data = (MMISMUGETIMSIRSP*) inMsg;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION(("Inside RspToTestRoamingEnabled"));

    if (local_data->result == ST_SUCCESS)
    {
        g_pwr_context.testRoaming = 3;

        memset(gHomePLMNNum, '\0', sizeof(gHomePLMNNum));
        memcpy(gHomePLMNNum, (local_data->imsi) + 1, MAX_PLMN_LEN_MMI); /* always copy 6 digits to gHomePLMNNum no matter they're 5 or 6 digits */
	 // zrx add begin 20070420
	#ifdef __CAIVS_SUPPORT__
	memcpy(CaivsIMSI,(local_data->imsi) +1, 17);//
	//kal_prompt_trace(MOD_MED_V,"^^ ^^ ^^ ^^^  caivs_getIMSI    CaivsIMSI=%s",CaivsIMSI);
	#endif
	// zrx add end
    #ifdef MMS_SUPPORT
        wap_plmn_number_indication_callback((const U8*)gHomePLMNNum);

⌨️ 快捷键说明

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