BootupApp.c
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:49k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36.  * Filename:
  37.  * ---------
  38.  *  BootupApp.c
  39.  *
  40.  * Project:
  41.  * --------
  42.  *  MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  
  47.  *
  48.  * Author:
  49.  * -------
  50.  * -------
  51.  *
  52.  *==============================================================================
  53.  *             HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  * removed!
  67.  * removed!
  68.  * removed!
  69.  *
  70.  * removed!
  71.  * removed!
  72.  * removed!
  73.  *
  74.  * removed!
  75.  * removed!
  76.  * removed!
  77.  *
  78.  * removed!
  79.  * removed!
  80.  * removed!
  81.  *
  82.  * removed!
  83.  * removed!
  84.  * removed!
  85.  *
  86.  * removed!
  87.  * removed!
  88.  * removed!
  89.  *
  90.  * removed!
  91.  * removed!
  92.  * removed!
  93.  *
  94.  * removed!
  95.  * removed!
  96.  * removed!
  97.  *
  98.  * removed!
  99.  * removed!
  100.  * removed!
  101.  *
  102.  * removed!
  103.  * removed!
  104.  * removed!
  105.  *
  106.  * removed!
  107.  * removed!
  108.  * removed!
  109.  *
  110.  * removed!
  111.  * removed!
  112.  * removed!
  113.  *
  114.  * removed!
  115.  * removed!
  116.  * removed!
  117.  *
  118.  * removed!
  119.  * removed!
  120.  * removed!
  121.  *
  122.  * removed!
  123.  * removed!
  124.  * removed!
  125.  *
  126.  * removed!
  127.  * removed!
  128.  * removed!
  129.  *
  130.  * removed!
  131.  * removed!
  132.  * removed!
  133.  *
  134.  * removed!
  135.  * removed!
  136.  * removed!
  137.  *
  138.  * removed!
  139.  * removed!
  140.  * removed!
  141.  *
  142.  * removed!
  143.  * removed!
  144.  * removed!
  145.  *
  146.  * removed!
  147.  * removed!
  148.  * removed!
  149.  *
  150.  * removed!
  151.  * removed!
  152.  * removed!
  153.  *
  154.  * removed!
  155.  * removed!
  156.  * removed!
  157.  *
  158.  * removed!
  159.  * removed!
  160.  * removed!
  161.  *
  162.  * removed!
  163.  * removed!
  164.  * removed!
  165.  *
  166.  * removed!
  167.  * removed!
  168.  * removed!
  169.  *
  170.  * removed!
  171.  * removed!
  172.  * removed!
  173.  *
  174.  *------------------------------------------------------------------------------
  175.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  176.  *==============================================================================
  177.  *******************************************************************************/
  178. #include "MMI_features.h"       /* Robin 1217 */
  179. #include "StdC.h"
  180. #include "L4Dr1.h"
  181. #include "HistoryGprot.h"
  182. #include "SimDetectionDef.h"
  183. #include "SimDetectionGprot.h"
  184. #include "SettingDefs.h"
  185. #include "SettingProfile.h"
  186. #include "GlobalDefs.h"
  187. #include "EventsGprot.h"
  188. #include "Wgui_categories_util.h"
  189. #include "Wgui_categories_popup.h"
  190. #include "GlobalScrEnum.h"
  191. #include "ProfileGprots.h"
  192. #include "FlightModeGProt.h"
  193. #ifdef __MMI_TOUCH_SCREEN__
  194. #include "gui_data_types.h"
  195. #include "PhoneSetupGProts.h"
  196. #endif /* __MMI_TOUCH_SCREEN__ */ 
  197. #include "IdleAppProt.h"
  198. #ifdef __MMI_WLAN_FEATURES__
  199. #include "PhoneSetup.h"
  200. extern PHNSET_CNTX g_phnset_cntx;
  201. #endif /* __MMI_WLAN_FEATURES__ */
  202. /**************************************************************************
  203.             Global Variables
  204. **************************************************************************/
  205. /* diamond, 2005/08/16 bootup revise */
  206. pwr_context_struct g_pwr_context = 
  207. {
  208.     0,                  /* g_pwr_context.IsCampOnTonePlayed; */
  209.     1,                  /* g_pwr_context.testRoaming; */
  210.     /* diamond, 2005/12/28 Even if __MANUAL_MODE_NW_SEL__ is on, idle screen also need to show something. This value cannot be set to 5. */
  211.     LIMITED_SERVICE,    /* g_pwr_context.CurrentServiceType; */
  212.     0,                  /* g_pwr_context.AbnormalReset; */
  213.     0,                  /* g_pwr_context.NoOfPLMNSupported; */
  214.     0,                  /* g_pwr_context.PrevScreenIndicator; */
  215.     0,                  /* g_pwr_context.ForCMToIdentifySOSCall; */
  216.     0,                  /* g_pwr_context.InvalidSimShowed; */
  217.     0,                  /* g_pwr_context.CurrentCampOnBand; */
  218.     1,                  /* g_pwr_context.RequireRPLMN; */
  219.     0,                  /* g_pwr_context.SSCFromEnterPukAtBootUp; */
  220.     0,                  /* g_pwr_context.SOSCallFlagTOAvoidHistorySave; */
  221.     0,                  /* g_pwr_context.PowerOnMode; */
  222.     0,                  /* g_pwr_context.NandIdCheckRes */
  223.     /* new design for power on status */
  224.     0,  /* g_pwr_context.PowerOnMMIStatus */
  225.     1,  /* g_pwr_context.PowerOnSIMStatus (invalid SIM as default) */
  226.     0,  /* g_pwr_context.PowerOnNWStatus */
  227.     0   /* g_pwr_context.PowerOffMMIStatus */
  228. };
  229. /* end, diamond */
  230. /**************************************************************************
  231.             Code
  232. **************************************************************************/
  233. /* diamond, 2005/08/16 bootup revise */
  234. /* please refer to SimDetectionDef.h to get detailed MMI power on status */
  235. /*****************************************************************************
  236.  * FUNCTION
  237.  *  mmi_bootup_is_before_power_on
  238.  * DESCRIPTION
  239.  *  Check MMI is in the before power on status or not
  240.  * PARAMETERS
  241.  *  void
  242.  * RETURNS
  243.  *  pBOOL
  244.  *****************************************************************************/
  245. pBOOL mmi_bootup_is_before_power_on(void)
  246. {
  247.     /*----------------------------------------------------------------*/
  248.     /* Local Variables                                                */
  249.     /*----------------------------------------------------------------*/
  250.     /*----------------------------------------------------------------*/
  251.     /* Code Body                                                      */
  252.     /*----------------------------------------------------------------*/
  253.     /* replace isBeforePowerOn */
  254.     if (g_pwr_context.PowerOnMMIStatus == MMI_POWER_ON_DEFAULT)
  255.     {
  256.         return MMI_TRUE;
  257.     }
  258.     else
  259.     {
  260.         return MMI_FALSE;
  261.     }
  262. }
  263. /*****************************************************************************
  264.  * FUNCTION
  265.  *  mmi_bootup_is_in_power_on_period
  266.  * DESCRIPTION
  267.  *  Check MMI is in the period of power on or not
  268.  * PARAMETERS
  269.  *  void
  270.  * RETURNS
  271.  *  pBOOL
  272.  *****************************************************************************/
  273. pBOOL mmi_bootup_is_in_power_on_period(void)
  274. {
  275.     /*----------------------------------------------------------------*/
  276.     /* Local Variables                                                */
  277.     /*----------------------------------------------------------------*/
  278.     /*----------------------------------------------------------------*/
  279.     /* Code Body                                                      */
  280.     /*----------------------------------------------------------------*/
  281.     if (g_pwr_context.PowerOnMode == POWER_ON_CHARGER_IN
  282. #ifdef __MMI_USB_SUPPORT__
  283.         || g_pwr_context.PowerOnMode == POWER_ON_USB
  284. #endif 
  285.         )
  286.         return MMI_FALSE;
  287.     /* replace g_pwr_context.PowerOnPeriod */
  288.     if (g_pwr_context.PowerOnMMIStatus <= MMI_POWER_ON_SECURITY_NO_PSWD
  289.         || g_pwr_context.PowerOnMMIStatus == MMI_POWER_ON_WELCOME
  290. #ifdef __MMI_APHORISM__
  291. /* under construction !*/
  292. #endif 
  293.         )
  294.         return MMI_TRUE;
  295.     else
  296.     {
  297.         return MMI_FALSE;
  298.     }
  299. }
  300. /*****************************************************************************
  301.  * FUNCTION
  302.  *  mmi_bootup_is_power_on_animation_complete
  303.  * DESCRIPTION
  304.  *  Check power on animation is complete or not
  305.  * PARAMETERS
  306.  *  void
  307.  * RETURNS
  308.  *  pBOOL
  309.  *****************************************************************************/
  310. pBOOL mmi_bootup_is_power_on_animation_complete(void)
  311. {
  312.     /*----------------------------------------------------------------*/
  313.     /* Local Variables                                                */
  314.     /*----------------------------------------------------------------*/
  315.     /*----------------------------------------------------------------*/
  316.     /* Code Body                                                      */
  317.     /*----------------------------------------------------------------*/
  318.     /* replace g_pwr_context.PowerOnAnimationComplete */
  319.     if (g_pwr_context.PowerOnMMIStatus >= MMI_POWER_ON_LOW_BATTERY)
  320.     {
  321.         return MMI_TRUE;
  322.     }
  323.     else
  324.     {
  325.         return MMI_FALSE;
  326.     }
  327. }
  328. /*****************************************************************************
  329.  * FUNCTION
  330.  *  mmi_bootup_is_in_security_check
  331.  * DESCRIPTION
  332.  *  Check MMI is in the status of security check or not
  333.  * PARAMETERS
  334.  *  void
  335.  * RETURNS
  336.  *  pBOOL
  337.  *****************************************************************************/
  338. pBOOL mmi_bootup_is_in_security_check(void)
  339. {
  340.     /*----------------------------------------------------------------*/
  341.     /* Local Variables                                                */
  342.     /*----------------------------------------------------------------*/
  343.     /*----------------------------------------------------------------*/
  344.     /* Code Body                                                      */
  345.     /*----------------------------------------------------------------*/
  346.     /* replace g_pwr_context.PowerOnTillIdleApp */
  347.     if (g_pwr_context.PowerOnMMIStatus & MMI_POWER_ON_SECURITY_NO_PSWD)
  348.     {
  349.         return MMI_TRUE;
  350.     }
  351.     else
  352.     {
  353.         return MMI_FALSE;
  354.     }
  355. }
  356. /*****************************************************************************
  357.  * FUNCTION
  358.  *  mmi_bootup_is_searching_or_idle_reached
  359.  * DESCRIPTION
  360.  *  Check MMI has entered idle screen (including searching screen) or not
  361.  * PARAMETERS
  362.  *  void
  363.  * RETURNS
  364.  *  pBOOL
  365.  *****************************************************************************/
  366. pBOOL mmi_bootup_is_searching_or_idle_reached(void)
  367. {
  368.     /*----------------------------------------------------------------*/
  369.     /* Local Variables                                                */
  370.     /*----------------------------------------------------------------*/
  371.     /*----------------------------------------------------------------*/
  372.     /* Code Body                                                      */
  373.     /*----------------------------------------------------------------*/
  374.     /* replace g_pwr_context.idleScreenFirst */
  375.     if (g_pwr_context.PowerOnMMIStatus >= MMI_POWER_ON_NW_SEARCHING)
  376.     {
  377.         return MMI_TRUE;
  378.     }
  379.     else
  380.     {
  381.         return MMI_FALSE;
  382.     }
  383. }
  384. /*****************************************************************************
  385.  * FUNCTION
  386.  *  mmi_bootup_is_idle_screen_reached
  387.  * DESCRIPTION
  388.  *  Check MMI has entered idle screen or not
  389.  * PARAMETERS
  390.  *  void
  391.  * RETURNS
  392.  *  pBOOL
  393.  *****************************************************************************/
  394. pBOOL mmi_bootup_is_idle_screen_reached(void)
  395. {
  396.     /*----------------------------------------------------------------*/
  397.     /* Local Variables                                                */
  398.     /*----------------------------------------------------------------*/
  399.     /*----------------------------------------------------------------*/
  400.     /* Code Body                                                      */
  401.     /*----------------------------------------------------------------*/
  402.     if (g_pwr_context.PowerOnMMIStatus >= MMI_POWER_ON_IDLE)
  403.     {
  404.         return MMI_TRUE;
  405.     }
  406.     else
  407.     {
  408.         return MMI_FALSE;
  409.     }
  410. }
  411. /*****************************************************************************
  412.  * FUNCTION
  413.  *  mmi_bootup_is_playing_power_on_animation
  414.  * DESCRIPTION
  415.  *  Check MMI is playing power on animation or not
  416.  * PARAMETERS
  417.  *  void
  418.  * RETURNS
  419.  *  pBOOL
  420.  *****************************************************************************/
  421. pBOOL mmi_bootup_is_playing_power_on_animation(void)
  422. {
  423.     /*----------------------------------------------------------------*/
  424.     /* Local Variables                                                */
  425.     /*----------------------------------------------------------------*/
  426.     /*----------------------------------------------------------------*/
  427.     /* Code Body                                                      */
  428.     /*----------------------------------------------------------------*/
  429.     if (g_pwr_context.PowerOnMMIStatus & MMI_POWER_ON_ANIMATION)
  430.     {
  431.         return MMI_TRUE;
  432.     }
  433.     else
  434.     {
  435.         return MMI_FALSE;
  436.     }
  437. }
  438. /*****************************************************************************
  439.  * FUNCTION
  440.  *  mmi_bootup_is_sim_valid
  441.  * DESCRIPTION
  442.  *  Check SIM card is valid or not (with MSG_ID_SIM_CARD_FAILURE)
  443.  * PARAMETERS
  444.  *  void
  445.  * RETURNS
  446.  *  pBOOL
  447.  *****************************************************************************/
  448. pBOOL mmi_bootup_is_sim_valid(void)
  449. {
  450.     /*----------------------------------------------------------------*/
  451.     /* Local Variables                                                */
  452.     /*----------------------------------------------------------------*/
  453.     /*----------------------------------------------------------------*/
  454.     /* Code Body                                                      */
  455.     /*----------------------------------------------------------------*/
  456.     /* replace g_pwr_context.IsSimValid */
  457.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_INVALID)
  458.     {
  459.         return MMI_FALSE;
  460.     }
  461.     else
  462.     {
  463.         return MMI_TRUE;
  464.     }
  465. }
  466. /*****************************************************************************
  467.  * FUNCTION
  468.  *  mmi_bootup_is_sim_removed
  469.  * DESCRIPTION
  470.  *  Check SIM is inserted or not (with MSG_ID_SIM_CARD_FAILURE)
  471.  * PARAMETERS
  472.  *  void
  473.  * RETURNS
  474.  *  pBOOL
  475.  *****************************************************************************/
  476. pBOOL mmi_bootup_is_sim_removed(void)
  477. {
  478.     /*----------------------------------------------------------------*/
  479.     /* Local Variables                                                */
  480.     /*----------------------------------------------------------------*/
  481.     /*----------------------------------------------------------------*/
  482.     /* Code Body                                                      */
  483.     /*----------------------------------------------------------------*/
  484.     /* replace g_pwr_context.SimRemovedFlag */
  485.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_NOT_INSERT)
  486.     {
  487.         return MMI_TRUE;
  488.     }
  489.     else
  490.     {
  491.         return MMI_FALSE;
  492.     }
  493. }
  494. /*****************************************************************************
  495.  * FUNCTION
  496.  *  mmi_bootup_is_sim_refresh
  497.  * DESCRIPTION
  498.  *  Check SIM is refreshing or not (with MSG_ID_SIM_CARD_FAILURE)
  499.  * PARAMETERS
  500.  *  void
  501.  * RETURNS
  502.  *  pBOOL
  503.  *****************************************************************************/
  504. pBOOL mmi_bootup_is_sim_refresh(void)
  505. {
  506.     /*----------------------------------------------------------------*/
  507.     /* Local Variables                                                */
  508.     /*----------------------------------------------------------------*/
  509.     /*----------------------------------------------------------------*/
  510.     /* Code Body                                                      */
  511.     /*----------------------------------------------------------------*/
  512.     /* gSIMRefresh */
  513.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_REFRESH)
  514.     {
  515.         return MMI_TRUE;
  516.     }
  517.     else
  518.     {
  519.         return MMI_FALSE;
  520.     }
  521. }
  522. /*****************************************************************************
  523.  * FUNCTION
  524.  *  mmi_bootup_is_sim_need_security_check
  525.  * DESCRIPTION
  526.  *  Check SIM needs to pass security check or not (with MSG_ID_GET_PIN_RES)
  527.  * PARAMETERS
  528.  *  void
  529.  * RETURNS
  530.  *  pBOOL
  531.  *****************************************************************************/
  532. pBOOL mmi_bootup_is_sim_need_security_check(void)
  533. {
  534.     /*----------------------------------------------------------------*/
  535.     /* Local Variables                                                */
  536.     /*----------------------------------------------------------------*/
  537.     /*----------------------------------------------------------------*/
  538.     /* Code Body                                                      */
  539.     /*----------------------------------------------------------------*/
  540.     /* replace g_pwr_context.PasswdReqIndFlag */
  541.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_SECURITY_CHECK)
  542.     {
  543.         return MMI_TRUE;
  544.     }
  545.     else
  546.     {
  547.         return MMI_FALSE;
  548.     }
  549. }
  550. /*****************************************************************************
  551.  * FUNCTION
  552.  *  mmi_bootup_is_sim_failure_received
  553.  * DESCRIPTION
  554.  *  Check SIM failure response is received or not (with MSG_ID_SIM_CARD_FAILURE)
  555.  * PARAMETERS
  556.  *  void
  557.  * RETURNS
  558.  *  pBOOL
  559.  *****************************************************************************/
  560. pBOOL mmi_bootup_is_sim_failure_received(void)
  561. {
  562.     /*----------------------------------------------------------------*/
  563.     /* Local Variables                                                */
  564.     /*----------------------------------------------------------------*/
  565.     /*----------------------------------------------------------------*/
  566.     /* Code Body                                                      */
  567.     /*----------------------------------------------------------------*/
  568.     /* replace g_pwr_context.SimQueryFailIndFlag */
  569.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_FAILURE_RSP)
  570.     {
  571.         return MMI_TRUE;
  572.     }
  573.     else
  574.     {
  575.         return MMI_FALSE;
  576.     }
  577. }
  578. /*****************************************************************************
  579.  * FUNCTION
  580.  *  mmi_bootup_is_roaming
  581.  * DESCRIPTION
  582.  *  Check SIM is roaming or not
  583.  * PARAMETERS
  584.  *  void
  585.  * RETURNS
  586.  *  pBOOL
  587.  *****************************************************************************/
  588. pBOOL mmi_bootup_is_roaming(void)
  589. {
  590.     /*----------------------------------------------------------------*/
  591.     /* Local Variables                                                */
  592.     /*----------------------------------------------------------------*/
  593.     /*----------------------------------------------------------------*/
  594.     /* Code Body                                                      */
  595.     /*----------------------------------------------------------------*/
  596.     /* replace g_pwr_context.RoamingFlag */
  597.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_ROAMING)
  598.     {
  599.         return MMI_TRUE;
  600.     }
  601.     else
  602.     {
  603.         return MMI_FALSE;
  604.     }
  605. }
  606. /*****************************************************************************
  607.  * FUNCTION
  608.  *  mmi_bootup_is_network_searching_complete
  609.  * DESCRIPTION
  610.  *  Check network searching is done/timeout or not
  611.  * PARAMETERS
  612.  *  void
  613.  * RETURNS
  614.  *  pBOOL
  615.  *****************************************************************************/
  616. pBOOL mmi_bootup_is_network_searching_complete(void)
  617. {
  618.     /*----------------------------------------------------------------*/
  619.     /* Local Variables                                                */
  620.     /*----------------------------------------------------------------*/
  621.     /*----------------------------------------------------------------*/
  622.     /* Code Body                                                      */
  623.     /*----------------------------------------------------------------*/
  624.     /* replace g_pwr_context.NetWorkFlag */
  625.     if (g_pwr_context.PowerOnNWStatus & MMI_NW_STATUS_NETWORK_FLAG)
  626.     {
  627.         return MMI_TRUE;
  628.     }
  629.     else
  630.     {
  631.         return MMI_FALSE;
  632.     }
  633. }
  634. /*****************************************************************************
  635.  * FUNCTION
  636.  *  mmi_bootup_is_nw_registration_ok
  637.  * DESCRIPTION
  638.  *  Check network registration is successful or not
  639.  * PARAMETERS
  640.  *  void
  641.  * RETURNS
  642.  *  pBOOL
  643.  *****************************************************************************/
  644. pBOOL mmi_bootup_is_nw_registration_ok(void)
  645. {
  646.     /*----------------------------------------------------------------*/
  647.     /* Local Variables                                                */
  648.     /*----------------------------------------------------------------*/
  649.     /*----------------------------------------------------------------*/
  650.     /* Code Body                                                      */
  651.     /*----------------------------------------------------------------*/
  652.     /* replace g_pwr_context.InvalidSim */
  653.     if (g_pwr_context.PowerOnNWStatus & MMI_NW_STATUS_REG_FAILED)
  654.     {
  655.         return MMI_FALSE;
  656.     }
  657.     else
  658.     {
  659.         return MMI_TRUE;
  660.     }
  661. }
  662. /*****************************************************************************
  663.  * FUNCTION
  664.  *  mmi_bootup_get_plmn_selection_mode
  665.  * DESCRIPTION
  666.  *  Get PLMN selection is automatic or manual
  667.  * PARAMETERS
  668.  *  void
  669.  * RETURNS
  670.  *  pBOOL
  671.  *****************************************************************************/
  672. pBOOL mmi_bootup_get_plmn_selection_mode(void)
  673. {
  674.     /*----------------------------------------------------------------*/
  675.     /* Local Variables                                                */
  676.     /*----------------------------------------------------------------*/
  677.     /*----------------------------------------------------------------*/
  678.     /* Code Body                                                      */
  679.     /*----------------------------------------------------------------*/
  680.     /* replace g_pwr_context.PLMNSelectionMode */
  681. #ifdef __MANUAL_MODE_NW_SEL__
  682.     if (g_pwr_context.PowerOnNWStatus & MMI_NW_STATUS_PLMNSEL_MODE)
  683.     {
  684.     #ifdef __MMI_WLAN_FEATURES__
  685.         if (mmi_bootup_is_sim_valid() == MMI_FALSE)
  686.             return AUTOMATIC_MODE;
  687.     #endif /* __MMI_WLAN_FEATURES__ */
  688.             return MANUAL_MODE;
  689.     }
  690.     else
  691.     {
  692.         return AUTOMATIC_MODE;
  693.     }
  694. #else /* __MANUAL_MODE_NW_SEL__ */ 
  695.     return AUTOMATIC_MODE;
  696. #endif /* __MANUAL_MODE_NW_SEL__ */ 
  697. }
  698. /*****************************************************************************
  699.  * FUNCTION
  700.  *  mmi_bootup_get_active_flight_mode
  701.  * DESCRIPTION
  702.  *  Get active mode is flight or normal
  703.  * PARAMETERS
  704.  *  void
  705.  * RETURNS
  706.  *  pBOOL
  707.  *****************************************************************************/
  708. pBOOL mmi_bootup_get_active_flight_mode(void)
  709. {
  710.     /*----------------------------------------------------------------*/
  711.     /* Local Variables                                                */
  712.     /*----------------------------------------------------------------*/
  713.     /*----------------------------------------------------------------*/
  714.     /* Code Body                                                      */
  715.     /*----------------------------------------------------------------*/
  716.     /* replace g_pwr_context.actFlightMode */
  717. #ifdef __FLIGHT_MODE_SUPPORT__
  718.     if ((g_pwr_context.PowerOnNWStatus & MMI_NW_STATUS_FLIGHT_MODE)
  719. #ifdef __MMI_WLAN_FEATURES__
  720.     && (g_phnset_cntx.curFlightMode2 == 1)
  721. #endif
  722.     )
  723.     {
  724.         return FLIGHTMODE_SILENT;
  725.     }
  726.     else
  727.     {
  728.         return FLIGHTMODE_OFF;
  729.     }
  730. #else /* __FLIGHT_MODE_SUPPORT__ */ 
  731.     return 0;
  732. #endif /* __FLIGHT_MODE_SUPPORT__ */ 
  733. }
  734. /*****************************************************************************
  735.  * FUNCTION
  736.  *  mmi_bootup_is_wcdma_service
  737.  * DESCRIPTION
  738.  *  Get active service is WCDMA or GSM/GPRS
  739.  * PARAMETERS
  740.  *  void
  741.  * RETURNS
  742.  *  pBOOL
  743.  *****************************************************************************/
  744. pBOOL mmi_bootup_is_wcdma_service(void)
  745. {
  746. #if defined(__GSM_RAT__) && defined(__WCDMA_RAT__)
  747.     /*----------------------------------------------------------------*/
  748.     /* Local Variables                                                */
  749.     /*----------------------------------------------------------------*/
  750.     /*----------------------------------------------------------------*/
  751.     /* Code Body                                                      */
  752.     /*----------------------------------------------------------------*/
  753.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_3G)
  754.     {
  755.         return MMI_TRUE;
  756.     }
  757.     else
  758. #endif /* defined(__GSM_RAT__) && defined(__WCDMA_RAT__) */ 
  759.         return MMI_FALSE;
  760. }
  761. /* end, diamond */
  762. /*****************************************************************************
  763.  * FUNCTION
  764.  *  mmi_bootup_get_active_bt_access_profile_mode
  765.  * DESCRIPTION
  766.  *  Get BT access profile is active or not
  767.  * PARAMETERS
  768.  *  void
  769.  * RETURNS
  770.  *  pBOOL
  771.  *****************************************************************************/
  772. pBOOL mmi_bootup_get_active_bt_access_profile_mode(void)
  773. {
  774.     /*----------------------------------------------------------------*/
  775.     /* Local Variables                                                */
  776.     /*----------------------------------------------------------------*/
  777.     /*----------------------------------------------------------------*/
  778.     /* Code Body                                                      */
  779.     /*----------------------------------------------------------------*/
  780. #ifdef __MMI_SIMAP_SUPPORT__
  781.     if (g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_BT_ACCESS)
  782.     {
  783.         return MMI_TRUE;
  784.     }
  785.     else
  786.     {
  787.         return MMI_FALSE;
  788.     }
  789. #else /* __MMI_SIMAP_SUPPORT__ */ 
  790.     return 0;
  791. #endif /* __MMI_SIMAP_SUPPORT__ */ 
  792. }
  793. /*****************************************************************************
  794.  * FUNCTION
  795.  *  mmi_disk_check_entry_warning_screen
  796.  * DESCRIPTION
  797.  *  Bootup screen flow control
  798.  * PARAMETERS
  799.  *  string_id    U16
  800.  * RETURNS
  801.  *  void
  802.  *****************************************************************************/
  803. void mmi_disk_check_entry_warning_screen(U16 string_id)
  804. {
  805.     /*----------------------------------------------------------------*/
  806.     /* Local Variables                                                */
  807.     /*----------------------------------------------------------------*/
  808.     U8 *guiBuffer;
  809.     /*----------------------------------------------------------------*/
  810.     /* Code Body                                                      */
  811.     /*----------------------------------------------------------------*/
  812.     g_pwr_context.PowerOnMMIStatus = MMI_POWER_ON_DISK_CHECK;    /* 0x02: Flight mode screen */
  813.     guiBuffer = GetCurrGuiBuffer(SCR_BOOTUP_CHECK_DISK);
  814.     EntryNewScreen(SCR_BOOTUP_CHECK_DISK, NULL, NULL, NULL);
  815.     ShowCategory165Screen_ext(
  816.         STR_GLOBAL_OK,
  817.         IMG_GLOBAL_OK,
  818.         0,
  819.         0,
  820.         get_string(string_id),
  821.         IMG_GLOBAL_WARNING,
  822.         10,
  823.         guiBuffer);
  824.     SetCat165TimerExpireFunc(mmi_bootup_exit_disk_check);
  825.     playRequestedTone(WARNING_TONE);
  826.     /* ShowSubLCDScreen(ShowIdleAppSubLcd); */
  827.     /* no sub-lcd exit handler because of no interrupt in this screen */
  828. #ifdef __MMI_SUBLCD_SHOW_ANALOG_CLOCK__
  829.     if (IsClamClose())
  830.     {
  831.         ShowSubLCDAnalogClockScreen();
  832.     }
  833.     else
  834.     {
  835.         ShowSubLCDLogoString();
  836.     }
  837. #else /* __MMI_SUBLCD_SHOW_ANALOG_CLOCK__ */ 
  838.     ShowCategory301Screen((PU8) GetString(string_id), 0, NULL);
  839. #endif /* __MMI_SUBLCD_SHOW_ANALOG_CLOCK__ */ 
  840.     /* No history to go back */
  841.     /* Always enter normal mode unless the flight mode is selected by pressing LSK (Yes) */
  842.     SetKeyHandler(mmi_bootup_exit_disk_check, KEY_END, KEY_EVENT_DOWN);
  843.     SetLeftSoftkeyFunction(mmi_bootup_exit_disk_check, KEY_EVENT_UP);
  844. }
  845. /* diamond, 2005/09/12 new bootup screen flows */
  846. extern void FlightModeCheckBeforeAnimation(void);
  847. extern void mmi_pwron_entry_animation_screen(void);
  848. extern void PowerOnBatteryIndicationComplete(void);
  849. extern void mmi_pwron_stop_animation(void);
  850. extern void mmi_ready_to_idle_screen_ind(void);
  851. extern void EntryIdleScreen(void);
  852. extern void BatteryCheckAfterPowerOnAnimation(void);
  853. /* mmi_bootup_entry_disk_check          -> mmi_bootup_exit_disk_check          -> */
  854. /* mmi_bootup_entry_flight_mode_query   -> mmi_bootup_exit_flight_mode_query   -> */
  855. /* mmi_bootup_entry_animation           -> mmi_bootup_exit_animation           -> */
  856. /* mmi_bootup_entry_low_battery_warning -> mmi_bootup_exit_low_battery_warning -> */
  857. /* mmi_bootup_entry_nand_check_query    -> mmi_bootup_exit_nand_check_query    -> */
  858. /* mmi_bootup_entry_security_check      -> mmi_bootup_exit_security_check      -> */
  859. /* mmi_bootup_entry_welcome_screen      -> mmi_bootup_exit_welcome_screen      -> */
  860. /* mmi_bootup_entry_aphorism_screen     -> mmi_bootup_exit_aphorism_screen     -> */
  861. /* mmi_bootup_entry_network_searching   -> mmi_bootup_exit_network_searching   -> */
  862. /* mmi_bootup_entry_idle_screen                                                   */
  863. /*****************************************************************************
  864.  * FUNCTION
  865.  *  mmi_bootup_entry_disk_check
  866.  * DESCRIPTION
  867.  *  Bootup screen flow control
  868.  * PARAMETERS
  869.  *  void
  870.  * RETURNS
  871.  *  void
  872.  *****************************************************************************/
  873. void mmi_bootup_entry_disk_check(void)
  874. {
  875. #ifdef MMI_ON_HARDWARE_P
  876.     /*----------------------------------------------------------------*/
  877.     /* Local Variables                                                */
  878.     /*----------------------------------------------------------------*/
  879.     S16 result = FS_SanityCheck();
  880.     S32 fh;
  881.     WCHAR DriveName[5] = L"X:\";
  882.     /*----------------------------------------------------------------*/
  883.     /* Code Body                                                      */
  884.     /*----------------------------------------------------------------*/
  885.     if (result == FS_NO_ERROR)
  886.     {
  887.         /* quota is okay */
  888.         DriveName[0] = FS_GetDrive(FS_DRIVE_V_NORMAL, 2, FS_ONLY_ALT_SERIAL);
  889.         fh = FS_Open(DriveName, FS_READ_ONLY | FS_OPEN_DIR);
  890.         if (fh >= 0)
  891.         {
  892.          g_pwr_context.NandIdCheckRes = 1;
  893.             FS_Close(fh);
  894.             mmi_bootup_exit_disk_check();
  895.         }
  896.         else if (fh == FS_NAND_DEVICE_NOT_SUPPORTED) /* -122 */
  897.         {
  898.             mmi_frm_power_on_init_procedure();
  899.             PhnsetFlightModeQueryBackground();
  900.             mmi_disk_check_entry_warning_screen(STR_ID_NAND_DEVICE_NOT_SUPPORTED);
  901.         }
  902.         else
  903.         {
  904.             mmi_bootup_exit_disk_check();
  905.         }
  906.     }
  907.     else if (result == FS_QUOTA_OVER_DISK_SPACE)
  908.     {
  909.         /* quota setting is wrong or unreasonable */
  910.         /* for example: qmax entry is larger than disk space -or- sum of qmin is larger than disk space */
  911.         mmi_frm_power_on_init_procedure();
  912.         PhnsetFlightModeQueryBackground();
  913.         mmi_disk_check_entry_warning_screen(STR_ID_NAND_QUOTA_OVER_DISK);
  914.     }
  915.     else if (result == FS_QUOTA_USAGE_WARNING)
  916.     {
  917.         /* quota usage abnormal, application may fail to write data on system drive */
  918.         /* for example: total application minial reserse space 70 , total application current usage 50, but current free space is less than 20, even after sweep */
  919.         mmi_frm_power_on_init_procedure();
  920.         PhnsetFlightModeQueryBackground();
  921.         mmi_disk_check_entry_warning_screen(STR_ID_NAND_QUOTA_USAGE_WARNING);
  922.     }
  923.     else
  924. #endif /* MMI_ON_HARDWARE_P */
  925.     {
  926.         mmi_bootup_exit_disk_check();
  927.     }
  928. }
  929. /*****************************************************************************
  930.  * FUNCTION
  931.  *  mmi_bootup_exit_disk_check
  932.  * DESCRIPTION
  933.  *  Bootup screen flow control
  934.  * PARAMETERS
  935.  *  void
  936.  * RETURNS
  937.  *  void
  938.  *****************************************************************************/
  939. void mmi_bootup_exit_disk_check(void)
  940. {
  941.     /*----------------------------------------------------------------*/
  942.     /* Local Variables                                                */
  943.     /*----------------------------------------------------------------*/
  944.     /*----------------------------------------------------------------*/
  945.     /* Code Body                                                      */
  946.     /*----------------------------------------------------------------*/
  947.     ExitCategory165Screen();
  948.     ClearInputEventHandler(MMI_DEVICE_ALL); /* prevent user press key after leave the screen */
  949.     mmi_frm_power_on_set_mode();
  950.     mmi_frm_power_on_init_procedure();
  951.     mmi_bootup_entry_flight_mode_query();
  952. }
  953. /*****************************************************************************
  954.  * FUNCTION
  955.  *  mmi_bootup_entry_flight_mode_query
  956.  * DESCRIPTION
  957.  *  Bootup screen flow control
  958.  * PARAMETERS
  959.  *  void
  960.  * RETURNS
  961.  *  void
  962.  *****************************************************************************/
  963. void mmi_bootup_entry_flight_mode_query(void)
  964. {
  965.     FlightModeCheckBeforeAnimation();   /* check if it is necessary to enter flight mode query screen */
  966. }
  967. /*****************************************************************************
  968.  * FUNCTION
  969.  *  mmi_bootup_exit_flight_mode_query
  970.  * DESCRIPTION
  971.  *  Bootup screen flow control
  972.  * PARAMETERS
  973.  *  void
  974.  * RETURNS
  975.  *  void
  976.  *****************************************************************************/
  977. void mmi_bootup_exit_flight_mode_query(void)
  978. {
  979.     /*----------------------------------------------------------------*/
  980.     /* Local Variables                                                */
  981.     /*----------------------------------------------------------------*/
  982.     /*----------------------------------------------------------------*/
  983.     /* Code Body                                                      */
  984.     /*----------------------------------------------------------------*/
  985.     /* add callbacks here after flight mode query complete */
  986.     /* re-direct the bootup flow to next screen */
  987.     mmi_bootup_entry_animation();
  988. }
  989. /*****************************************************************************
  990.  * FUNCTION
  991.  *  mmi_bootup_entry_animation
  992.  * DESCRIPTION
  993.  *  Bootup screen flow control
  994.  * PARAMETERS
  995.  *  void
  996.  * RETURNS
  997.  *  void
  998.  *****************************************************************************/
  999. void mmi_bootup_entry_animation(void)
  1000. {
  1001.     /*----------------------------------------------------------------*/
  1002.     /* Local Variables                                                */
  1003.     /*----------------------------------------------------------------*/
  1004.     /*----------------------------------------------------------------*/
  1005.     /* Code Body                                                      */
  1006.     /*----------------------------------------------------------------*/
  1007.     mmi_pwron_entry_animation_screen(); /*  to display power on animation */
  1008.     DeleteScreenIfPresent(SCR_BOOTUP_CHECK_DISK);
  1009.     DeleteScreenIfPresent(SCR_FLIGHT_MODE_QUERY);
  1010.     DeleteScreenIfPresent(GLOBAL_SCR_DUMMY);
  1011. }
  1012. /*****************************************************************************
  1013.  * FUNCTION
  1014.  *  mmi_bootup_exit_animation
  1015.  * DESCRIPTION
  1016.  *  Bootup screen flow control
  1017.  * PARAMETERS
  1018.  *  void
  1019.  * RETURNS
  1020.  *  void
  1021.  *****************************************************************************/
  1022. void mmi_bootup_exit_animation(void)
  1023. {
  1024.     /*----------------------------------------------------------------*/
  1025.     /* Local Variables                                                */
  1026.     /*----------------------------------------------------------------*/
  1027.     /*----------------------------------------------------------------*/
  1028.     /* Code Body                                                      */
  1029.     /*----------------------------------------------------------------*/
  1030.     /* add callbacks here after flight mode query complete */
  1031.     /* re-direct the bootup flow to next screen */
  1032.     mmi_bootup_entry_low_battery_warning();
  1033. }
  1034. /*****************************************************************************
  1035.  * FUNCTION
  1036.  *  mmi_bootup_entry_low_battery_warning
  1037.  * DESCRIPTION
  1038.  *  Bootup screen flow control
  1039.  * PARAMETERS
  1040.  *  void
  1041.  * RETURNS
  1042.  *  void
  1043.  *****************************************************************************/
  1044. void mmi_bootup_entry_low_battery_warning(void)
  1045. {
  1046.     /*----------------------------------------------------------------*/
  1047.     /* Local Variables                                                */
  1048.     /*----------------------------------------------------------------*/
  1049.     /*----------------------------------------------------------------*/
  1050.     /* Code Body                                                      */
  1051.     /*----------------------------------------------------------------*/
  1052.     // CallBackPowerOnAnimationComplete();  /* low power shutdown or low battery warning */
  1053.     BatteryCheckAfterPowerOnAnimation();
  1054. }
  1055. /*****************************************************************************
  1056.  * FUNCTION
  1057.  *  mmi_bootup_exit_low_battery_warning
  1058.  * DESCRIPTION
  1059.  *  Bootup screen flow control
  1060.  * PARAMETERS
  1061.  *  void
  1062.  * RETURNS
  1063.  *  void
  1064.  *****************************************************************************/
  1065. void mmi_bootup_exit_low_battery_warning(void)
  1066. {
  1067.     /*----------------------------------------------------------------*/
  1068.     /* Local Variables                                                */
  1069.     /*----------------------------------------------------------------*/
  1070.     /*----------------------------------------------------------------*/
  1071.     /* Code Body                                                      */
  1072.     /*----------------------------------------------------------------*/
  1073.     /* add callbacks here after flight mode query complete */
  1074.     /* re-direct the bootup flow to next screen */
  1075.     mmi_bootup_entry_nand_check_query();
  1076. }
  1077. /*****************************************************************************
  1078.  * FUNCTION
  1079.  *  mmi_bootup_entry_nand_check_query
  1080.  * DESCRIPTION
  1081.  *  Bootup screen flow control
  1082.  * PARAMETERS
  1083.  *  void
  1084.  * RETURNS
  1085.  *  void
  1086.  *****************************************************************************/
  1087. void mmi_bootup_entry_nand_check_query(void)
  1088. {
  1089.     /*----------------------------------------------------------------*/
  1090.     /* Local Variables                                                */
  1091.     /*----------------------------------------------------------------*/
  1092.     /*----------------------------------------------------------------*/
  1093.     /* Code Body                                                      */
  1094.     /*----------------------------------------------------------------*/
  1095.     PowerOnBatteryIndicationComplete(); /* NAND check or not */
  1096. }
  1097. /*****************************************************************************
  1098.  * FUNCTION
  1099.  *  mmi_bootup_exit_nand_check_query
  1100.  * DESCRIPTION
  1101.  *  Bootup screen flow control
  1102.  * PARAMETERS
  1103.  *  void
  1104.  * RETURNS
  1105.  *  void
  1106.  *****************************************************************************/
  1107. void mmi_bootup_exit_nand_check_query(void)
  1108. {
  1109.     /*----------------------------------------------------------------*/
  1110.     /* Local Variables                                                */
  1111.     /*----------------------------------------------------------------*/
  1112.     /*----------------------------------------------------------------*/
  1113.     /* Code Body                                                      */
  1114.     /*----------------------------------------------------------------*/
  1115.     /* add callbacks here after flight mode query complete */
  1116.     /* re-direct the bootup flow to next screen */
  1117.     mmi_bootup_entry_security_check();
  1118. }
  1119. /*****************************************************************************
  1120.  * FUNCTION
  1121.  *  mmi_bootup_entry_security_check
  1122.  * DESCRIPTION
  1123.  *  Bootup screen flow control
  1124.  * PARAMETERS
  1125.  *  void
  1126.  * RETURNS
  1127.  *  void
  1128.  *****************************************************************************/
  1129. void mmi_bootup_entry_security_check(void)
  1130. {
  1131.     /*----------------------------------------------------------------*/
  1132.     /* Local Variables                                                */
  1133.     /*----------------------------------------------------------------*/
  1134.     /*----------------------------------------------------------------*/
  1135.     /* Code Body                                                      */
  1136.     /*----------------------------------------------------------------*/
  1137.     PowerOnBatteryIndicationCompletePhase2();   /* password indication or SIM failure indication */
  1138. }
  1139. /*****************************************************************************
  1140.  * FUNCTION
  1141.  *  mmi_bootup_exit_security_check
  1142.  * DESCRIPTION
  1143.  *  Bootup screen flow control
  1144.  * PARAMETERS
  1145.  *  void
  1146.  * RETURNS
  1147.  *  void
  1148.  *****************************************************************************/
  1149. void mmi_bootup_exit_security_check(void)
  1150. {
  1151.     /*----------------------------------------------------------------*/
  1152.     /* Local Variables                                                */
  1153.     /*----------------------------------------------------------------*/
  1154.     /*----------------------------------------------------------------*/
  1155.     /* Code Body                                                      */
  1156.     /*----------------------------------------------------------------*/
  1157.     /* add callbacks here after flight mode query complete */
  1158.     /* re-direct the bootup flow to next screen */
  1159.     mmi_bootup_entry_welcome_screen();  /* send message to it slef notify ready to go to idle */
  1160. }
  1161. /*****************************************************************************
  1162.  * FUNCTION
  1163.  *  mmi_bootup_entry_welcome_screen
  1164.  * DESCRIPTION
  1165.  *  Bootup screen flow control
  1166.  * PARAMETERS
  1167.  *  void
  1168.  * RETURNS
  1169.  *  void
  1170.  *****************************************************************************/
  1171. void mmi_bootup_entry_welcome_screen(void)
  1172. {
  1173.     /*----------------------------------------------------------------*/
  1174.     /* Local Variables                                                */
  1175.     /*----------------------------------------------------------------*/
  1176.     /*----------------------------------------------------------------*/
  1177.     /* Code Body                                                      */
  1178.     /*----------------------------------------------------------------*/
  1179.     mmi_ready_to_idle_screen_ind();
  1180. }
  1181. /*****************************************************************************
  1182.  * FUNCTION
  1183.  *  mmi_bootup_exit_welcome_screen
  1184.  * DESCRIPTION
  1185.  *  Bootup screen flow control
  1186.  * PARAMETERS
  1187.  *  void
  1188.  * RETURNS
  1189.  *  void
  1190.  *****************************************************************************/
  1191. void mmi_bootup_exit_welcome_screen(void)
  1192. {
  1193.     /*----------------------------------------------------------------*/
  1194.     /* Local Variables                                                */
  1195.     /*----------------------------------------------------------------*/
  1196.     /*----------------------------------------------------------------*/
  1197.     /* Code Body                                                      */
  1198.     /*----------------------------------------------------------------*/
  1199.     /* add callbacks here after flight mode query complete */
  1200.     /* re-direct the bootup flow to next screen */
  1201. #ifdef __MMI_APHORISM__
  1202. /* under construction !*/
  1203. #else 
  1204.     mmi_bootup_entry_network_searching();
  1205. #endif 
  1206. }
  1207. /*****************************************************************************
  1208.  * FUNCTION
  1209.  *  mmi_bootup_entry_aphorism_screen
  1210.  * DESCRIPTION
  1211.  *  Bootup screen flow control
  1212.  * PARAMETERS
  1213.  *  void
  1214.  * RETURNS
  1215.  *  void
  1216.  *****************************************************************************/
  1217. void mmi_bootup_entry_aphorism_screen(void)
  1218. {
  1219.     /*----------------------------------------------------------------*/
  1220.     /* Local Variables                                                */
  1221.     /*----------------------------------------------------------------*/
  1222.     /*----------------------------------------------------------------*/
  1223.     /* Code Body                                                      */
  1224.     /*----------------------------------------------------------------*/
  1225. #ifdef __MMI_APHORISM__
  1226. /* under construction !*/
  1227. #endif 
  1228. }
  1229. /*****************************************************************************
  1230.  * FUNCTION
  1231.  *  mmi_bootup_exit_aphorism_screen
  1232.  * DESCRIPTION
  1233.  *  Bootup screen flow control
  1234.  * PARAMETERS
  1235.  *  void
  1236.  * RETURNS
  1237.  *  void
  1238.  *****************************************************************************/
  1239. void mmi_bootup_exit_aphorism_screen(void)
  1240. {
  1241.     /*----------------------------------------------------------------*/
  1242.     /* Local Variables                                                */
  1243.     /*----------------------------------------------------------------*/
  1244.     /*----------------------------------------------------------------*/
  1245.     /* Code Body                                                      */
  1246.     /*----------------------------------------------------------------*/
  1247.     /* add callbacks here after flight mode query complete */
  1248.     /* re-direct the bootup flow to next screen */
  1249.     mmi_bootup_entry_network_searching();
  1250. }
  1251. /*****************************************************************************
  1252.  * FUNCTION
  1253.  *  mmi_bootup_entry_network_searching
  1254.  * DESCRIPTION
  1255.  *  Bootup screen flow control
  1256.  * PARAMETERS
  1257.  *  void
  1258.  * RETURNS
  1259.  *  void
  1260.  *****************************************************************************/
  1261. void mmi_bootup_entry_network_searching(void)
  1262. {
  1263.     /*----------------------------------------------------------------*/
  1264.     /* Local Variables                                                */
  1265.     /*----------------------------------------------------------------*/
  1266.     /*----------------------------------------------------------------*/
  1267.     /* Code Body                                                      */
  1268.     /*----------------------------------------------------------------*/
  1269.     BeforeEntryIdleScr();
  1270. }
  1271. /*****************************************************************************
  1272.  * FUNCTION
  1273.  *  mmi_bootup_exit_network_searching
  1274.  * DESCRIPTION
  1275.  *  Bootup screen flow control
  1276.  * PARAMETERS
  1277.  *  void
  1278.  * RETURNS
  1279.  *  void
  1280.  *****************************************************************************/
  1281. void mmi_bootup_exit_network_searching(void)
  1282. {
  1283.     /*----------------------------------------------------------------*/
  1284.     /* Local Variables                                                */
  1285.     /*----------------------------------------------------------------*/
  1286.     /*----------------------------------------------------------------*/
  1287.     /* Code Body                                                      */
  1288.     /*----------------------------------------------------------------*/
  1289.     /* add callbacks here after flight mode query complete */
  1290.     /* re-direct the bootup flow to next screen */
  1291.     mmi_bootup_entry_idle_screen(); /* from SearchingSrceenTimeOutHandler() or NetWorkAttachedIndication() */
  1292. }
  1293. /*****************************************************************************
  1294.  * FUNCTION
  1295.  *  mmi_bootup_entry_idle_screen
  1296.  * DESCRIPTION
  1297.  *  Bootup screen flow control
  1298.  * PARAMETERS
  1299.  *  void
  1300.  * RETURNS
  1301.  *  void
  1302.  *****************************************************************************/
  1303. void mmi_bootup_entry_idle_screen(void)
  1304. {
  1305.     /*----------------------------------------------------------------*/
  1306.     /* Local Variables                                                */
  1307.     /*----------------------------------------------------------------*/
  1308.     /*----------------------------------------------------------------*/
  1309.     /* Code Body                                                      */
  1310.     /*----------------------------------------------------------------*/
  1311.     EntryIdleScreen();
  1312. }