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

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.  *
  37.  * Filename:
  38.  * ---------
  39.  * Restore.c
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for restore factory default application
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * removed!
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * removed!
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * removed!
  66.  *
  67.  * removed!
  68.  * removed!
  69.  * removed!
  70.  *
  71.  * removed!
  72.  * removed!
  73.  * removed!
  74.  *
  75.  * removed!
  76.  *
  77.  * removed!
  78.  * removed!
  79.  * removed!
  80.  *
  81.  * removed!
  82.  * removed!
  83.  * removed!
  84.  *
  85.  * removed!
  86.  * removed!
  87.  * removed!
  88.  *
  89.  * removed!
  90.  * removed!
  91.  * removed!
  92.  *
  93.  * removed!
  94.  * removed!
  95.  * removed!
  96.  *
  97.  * removed!
  98.  * removed!
  99.  * removed!
  100.  *
  101.  * removed!
  102.  * removed!
  103.  * removed!
  104.  *
  105.  * removed!
  106.  * removed!
  107.  * removed!
  108.  *
  109.  * removed!
  110.  * removed!
  111.  * removed!
  112.  *
  113.  * removed!
  114.  * removed!
  115.  * removed!
  116.  *
  117.  * removed!
  118.  * removed!
  119.  * removed!
  120.  *
  121.  * removed!
  122.  * removed!
  123.  * removed!
  124.  *
  125.  * removed!
  126.  * removed!
  127.  * removed!
  128.  *
  129.  * removed!
  130.  * removed!
  131.  * removed!
  132.  *
  133.  * removed!
  134.  * removed!
  135.  * removed!
  136.  *
  137.  * removed!
  138.  * removed!
  139.  * removed!
  140.  *
  141.  * removed!
  142.  * removed!
  143.  * removed!
  144.  *
  145.  * removed!
  146.  * removed!
  147.  * removed!
  148.  *
  149.  * removed!
  150.  * removed!
  151.  * removed!
  152.  *
  153.  * removed!
  154.  * removed!
  155.  * removed!
  156.  *
  157.  * removed!
  158.  * removed!
  159.  * removed!
  160.  *
  161.  * removed!
  162.  * removed!
  163.  * removed!
  164.  *
  165.  *------------------------------------------------------------------------------
  166.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  167.  *============================================================================
  168.  ****************************************************************************/
  169. /*
  170.  * Copyright Notice
  171.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  172.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  173.  *  (It is illegal to remove this copyright notice from this software or any
  174.  *  portion of it)
  175.  */
  176. /**************************************************************
  177.    FILENAME : Restore.c
  178.    PURPOSE     : nil
  179.    REMARKS     : nil
  180.    AUTHOR      : Anil Kumar Vutukuru
  181.    DATE     : 11/14/2003
  182. **************************************************************/
  183. /***************************************************************************** 
  184. * Include
  185. *****************************************************************************/
  186. /*  Include: MMI header file */
  187. #include "MMI_features.h"
  188. #include "stdC.h"
  189. #include "L4Dr1.h"
  190. #include "L4Dr.h"
  191. #include "PixtelDataTypes.h"
  192. #include "wgui_categories.h"
  193. #include "CommonScreens.h"
  194. #include "MiscFunctions.h"
  195. #include "EventsGProt.h"
  196. #include "CustDataRes.h"
  197. #include "CustMenuRes.h"
  198. #include "DebugInitDef.h"
  199. #include "AudioInc.h"
  200. #include "HistoryGprot.h"
  201. #include "MainMenuDef.h"
  202. #include "Unicodexdcl.h"
  203. #include "ProtocolEvents.h"
  204. #include "QueueGProt.h"
  205. #include "Globaldefs.h"
  206. #include "NVRAMType.h"
  207. #include "NVRAMProt.h"
  208. #include "NVRAMEnum.h"
  209. #include "IdleAppDef.h"
  210. #include "SettingProfile.h"
  211. #include "SettingsGexdcl.h"
  212. #include "settingGprots.h"
  213. #include "settingprot.h"
  214. #include "ScreenSaverDefs.h"
  215. #include "WPSSProtos.h"
  216. #include "ScheduledPowerOnOffGprot.h"
  217. #include "PhonebookGprot.h"
  218. #include "CallSetUpEnum.h"
  219. #include "SimDetectionGexdcl.h"
  220. #include "PhoneSetupGprots.h"
  221. #ifdef __MOD_SMSAL__
  222. #include "MessagesExDcl.h"
  223. #endif 
  224. #include "SettingDefs.h"
  225. #include "SettingsGdcl.h"
  226. #include "wgui_categories_popup.h"
  227. #include "wgui_categories_inputs.h"
  228. #ifdef __MMI_TOUCH_SCREEN__
  229. #include "Wgui_touch_screen.h"
  230. #endif 
  231. #include "AlarmFrameWorkProt.h"
  232. #include "NVRAMType.h"
  233. #include "NVRAMHwMapFile.h"
  234. #include "nvram_enums.h"
  235. #if !defined(__MTK_TARGET__)
  236. #include "EngineerModeDef.h"
  237. #endif 
  238. #if !defined(MMI_ON_WIN32) && defined(__J2ME__)
  239. #include "jal.h"
  240. #include "j2me_custom.h"
  241. #endif
  242. /***************************************************************************** 
  243. * External Variable
  244. *****************************************************************************/
  245. extern U8 CurrentDtType;
  246. extern U8 gCallCost;
  247. extern U8 gIsSimValid;
  248. extern alm_queue_node_struct gAlmQueue[ALM_NUM_OF_ALAMRS];
  249. extern alm_framework_context_struct g_alm_frm_cntx;
  250. /***************************************************************************** 
  251. * Global Variable
  252. *****************************************************************************/
  253. pBOOL bStatus = FALSE;
  254. U8 gPhonePassword[(MAX_SIM_SETTING_PASSWD_LEN + 1) * ENCODING_LENGTH];
  255. /***************************************************************************** 
  256. * Local Function
  257. *****************************************************************************/
  258. /***************************************************************************** 
  259. * External Function
  260. *****************************************************************************/
  261. extern pBOOL SetProfileDefault(void);
  262. extern void EntryScrnSimBlockRsp(void);
  263. #if !defined(MMI_ON_WIN32) && defined(__J2ME__)
  264. extern void javaFileGenerator(game_type_enum type, kal_bool force_remove_all);
  265. #endif
  266. #ifdef __MMI_PREFER_INPUT_METHOD__
  267. extern void SetInputMethodType(U16 inputType);
  268. #endif 
  269. #ifdef __MMI_EBOOK_READER__
  270. #include "EbookManager.h"
  271. #endif /* __MMI_EBOOK_READER__ */
  272. /*****************************************************************************
  273.  * FUNCTION
  274.  *  HighlightRstScr
  275.  * DESCRIPTION
  276.  *  This function is Highlight handler for  "Resotre"
  277.  * PARAMETERS
  278.  *  void
  279.  * RETURNS
  280.  *  void
  281.  *****************************************************************************/
  282. void HighlightRstScr(void)
  283. {
  284.     /*----------------------------------------------------------------*/
  285.     /* Local Variables                                                */
  286.     /*----------------------------------------------------------------*/
  287.     /*----------------------------------------------------------------*/
  288.     /* Code Body                                                      */
  289.     /*----------------------------------------------------------------*/
  290.     /* Change left soft key icon and label */
  291.     ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
  292.     /* Change right soft key icon and label */
  293.     ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
  294.     /* Register function for left/right soft key */
  295. #ifdef MMI_ON_HARDWARE_P
  296.     SetLeftSoftkeyFunction(EntryRstScr, KEY_EVENT_UP);
  297. #else 
  298.     SetLeftSoftkeyFunction(PopupNoSupport, KEY_EVENT_UP);
  299. #endif 
  300.     SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  301.     /* Register function for left/right arrow keys */
  302.     SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  303.     SetKeyHandler(0, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
  304.     return;
  305. }
  306. /*****************************************************************************
  307.  * FUNCTION
  308.  *  EntryRstScr
  309.  * DESCRIPTION
  310.  *  This function is Entry function for "Restore"
  311.  * PARAMETERS
  312.  *  void
  313.  * RETURNS
  314.  *  void
  315.  *****************************************************************************/
  316. void EntryRstScr(void)
  317. {
  318.     /*----------------------------------------------------------------*/
  319.     /* Local Variables                                                */
  320.     /*----------------------------------------------------------------*/
  321.     /*----------------------------------------------------------------*/
  322.     /* Code Body                                                      */
  323.     /*----------------------------------------------------------------*/
  324.     if (g_pwr_context.PrevScreenIndicator == ENTER_SIM_BLOCK)
  325.     {
  326.         /* Not allow to verify phone lock if SIM card is blocked */
  327.         DisplayPopup(
  328.             (U8*) GetString(STR_SIM_BLOCK_MSG),
  329.             IMG_GLOBAL_UNFINISHED,
  330.             1,
  331.             UI_POPUP_NOTIFYDURATION_TIME,
  332.             (U8) ERROR_TONE);
  333.         return;
  334.     }
  335. #ifdef __HALF_SECURE_RESTORE__
  336.     if (GetPhoneLock() == MMI_FALSE)
  337.     {
  338.         EntryRstConfirm();
  339.     }
  340.     else
  341.     {
  342.         EntryRstCheckPhoneLock();
  343.     }
  344. #else /* __HALF_SECURE_RESTORE__ */ /* Check phone lock code before restore default */
  345.     EntryRstCheckPhoneLock();
  346. #endif /* __HALF_SECURE_RESTORE__ */ 
  347. }
  348. /*****************************************************************************
  349.  * FUNCTION
  350.  *  EntryRstCheckPhoneLock
  351.  * DESCRIPTION
  352.  *  This function is Entry function for Restore->Enter Phone Lock Code
  353.  * PARAMETERS
  354.  *  void
  355.  * RETURNS
  356.  *  void
  357.  *****************************************************************************/
  358. void EntryRstCheckPhoneLock(void)
  359. {
  360.     /*----------------------------------------------------------------*/
  361.     /* Local Variables                                                */
  362.     /*----------------------------------------------------------------*/
  363.     U8 *guiBuffer;  /* Buffer holding history data */
  364.     /*----------------------------------------------------------------*/
  365.     /* Code Body                                                      */
  366.     /*----------------------------------------------------------------*/
  367.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] EntryRstCheckPhoneLock()n"));
  368.     /* Call Exit Handler */
  369.     EntryNewScreen(SCR_RESTORE, NULL, EntryRstScr, NULL);
  370.     /* Get current screen to gui buffer  for history purposes */
  371.     guiBuffer = GetCurrGuiBuffer(SCR_RESTORE);
  372.     /* check the screen flow is from forward or backward */
  373.     if (guiBuffer == NULL)
  374.     {
  375.         memset(gPhonePassword, 0, (MAX_SIM_SETTING_PASSWD_LEN + 1));
  376.     }
  377.     /* register the input validation function handler */
  378.     RegisterInputBoxValidationFunction(RstrSettingPasswdScrSoftKeyFunc);
  379.     /* display the corresponding catergory function */
  380.     ShowCategory111Screen(
  381.         STR_GLOBAL_OK,
  382.         IMG_GLOBAL_OK,
  383.         STR_GLOBAL_BACK,
  384.         IMG_GLOBAL_BACK,
  385.         STR_RESTORE_PHONE,
  386.         INPUT_TYPE_NUMERIC_PASSWORD,
  387.         gPhonePassword,
  388.         (MAX_SIM_SETTING_PASSWD_LEN + 1),
  389.         NULL,
  390.         NULL);
  391.     /* Register function with left/right softkey */
  392.     SetCategory111RightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  393.     SetLeftSoftkeyFunction(RstVerifyPhoneLockReq, KEY_EVENT_UP);
  394.     /* register the key handler function for the pound key */
  395.     SetKeyHandler(RstVerifyPhoneLockReq, KEY_POUND, KEY_EVENT_UP);
  396.     gSecuritySetupContext.PasswdLenCheckCallBack = RstVerifyPhoneLockReq;
  397.     if (pfnUnicodeStrlen((S8*) gPhonePassword) < MIN_PASSWORD_LENGTH)
  398.     {
  399.         ChangeLeftSoftkey(0, 0);
  400.         ClearKeyHandler(KEY_POUND, KEY_EVENT_UP);
  401.     }
  402. }
  403. /*****************************************************************************
  404.  * FUNCTION
  405.  *  RstVerifyPhoneLockReq
  406.  * DESCRIPTION
  407.  *  This function is to send phone lock code to L4 to verify,
  408.  *  this is left softkey handler for Restore->Enter Phone Lock Code
  409.  * PARAMETERS
  410.  *  void
  411.  * RETURNS
  412.  *  void
  413.  *****************************************************************************/
  414. void RstVerifyPhoneLockReq(void)
  415. {
  416.     /*----------------------------------------------------------------*/
  417.     /* Local Variables                                                */
  418.     /*----------------------------------------------------------------*/
  419.     historyNode *History;
  420.     U8 tempBuffer[(MAX_SIM_SETTING_PASSWD_LEN + 1)];
  421.     MYQUEUE Message;
  422.     MMIPHONEVERIFYREQ *local_data;
  423.     /*----------------------------------------------------------------*/
  424.     /* Code Body                                                      */
  425.     /*----------------------------------------------------------------*/
  426.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstVerifyPhoneLockReq()n"));
  427.     /* Validate phonelock password send message to L4  MSG_ID_MMI_VERIFY_PIN_REQ */
  428.     if (pfnUnicodeStrlen((S8*) gPhonePassword) < MIN_PASSWORD_LENGTH)
  429.     {
  430.         /* if the password is invalid display error popup */
  431.         DisplayPopup(
  432.             (U8*) GetString(STR_INVALID_PINPUKPLOCK_LENGTH),
  433.             IMG_GLOBAL_WARNING,
  434.             0,
  435.             ST_NOTIFYDURATION,
  436.             (U8) ERROR_TONE);
  437.         if (GetHistoryScrID(SCR_RESTORE, &History) == ST_SUCCESS)
  438.         {
  439.             if (History->inputBuffer != NULL)
  440.             {
  441.                 memset(History->inputBuffer, 0, ENCODING_LENGTH);
  442.             }
  443.             if (History->guiBuffer != NULL)
  444.             {
  445.                 memset(History->guiBuffer, 0, 2);
  446.             }
  447.         }
  448.         memset(gPhonePassword, 0, (MAX_SIM_SETTING_PASSWD_LEN + 1));
  449.         DeleteUptoScrID(SCR_RESTORE);
  450.     }
  451.     else
  452.     {
  453.         ClearInputEventHandler(MMI_DEVICE_ALL);
  454.     #ifdef __MMI_TOUCH_SCREEN__
  455.         wgui_clear_pen_handlers();
  456.     #endif 
  457.         /* if the password is valid send req to l4 */
  458.         Message.oslSrcId = MOD_MMI;
  459.         Message.oslDestId = MOD_L4C;
  460.         Message.oslMsgId = PRT_MMI_SMU_VERIFY_PIN_REQ;
  461.         local_data = (MMIPHONEVERIFYREQ*) OslConstructDataPtr(sizeof(MMIPHONEVERIFYREQ));
  462.         memset(local_data->pin, '', (MAX_SIM_SETTING_PASSWD_LEN + 1));
  463.         memset(local_data->new_pin, '', (MAX_SIM_SETTING_PASSWD_LEN + 1));
  464.         local_data->pin_type = MMI_SETTING_TYPE_PHONELOCK;
  465.         /*  Change gInputPhoneLockBuffer to ASCII then copy local_data->pin */
  466.         memset(tempBuffer, 0, (MAX_SIM_SETTING_PASSWD_LEN + 1));
  467.         UnicodeNToAnsii((S8*) tempBuffer, (S8*) gPhonePassword, (MAX_SIM_SETTING_PASSWD_LEN + 1));
  468.         memcpy(local_data->pin, tempBuffer, (MAX_SIM_SETTING_PASSWD_LEN + 1));
  469.         Message.oslDataPtr = (oslParaType*) local_data;
  470.         Message.oslPeerBuffPtr = NULL;
  471.         /* set the protocol handler to handle the response of this request */
  472.         gSecuritySetupContext.VerifyPassSuccessCallBack = EntryRstConfirm;
  473.         SetProtocolEventHandler(SECSETVerifyPINRsp, PRT_MMI_SMU_VERIFY_PIN_RSP);
  474.         OslMsgSendExtQueue(&Message);
  475.     }
  476.     return;
  477. }
  478. /*****************************************************************************
  479.  * FUNCTION
  480.  *  RstSendRestoreMsgToWap
  481.  * DESCRIPTION
  482.  *  This function is to send  MSG_ID_WAP_RESTORE_FACTORY_SETTING_REQ
  483.  * PARAMETERS
  484.  *  void
  485.  * RETURNS
  486.  *  void
  487.  *****************************************************************************/
  488. void RstSendRestoreMsgToWap(void)
  489. {
  490. #ifdef WAP_SUPPORT
  491.     /*----------------------------------------------------------------*/
  492.     /* Local Variables                                                */
  493.     /*----------------------------------------------------------------*/
  494.     MYQUEUE Message;
  495.     /*----------------------------------------------------------------*/
  496.     /* Code Body                                                      */
  497.     /*----------------------------------------------------------------*/
  498.     Message.oslSrcId = MOD_MMI;
  499.     Message.oslDestId = MOD_WAP;
  500.     Message.oslMsgId = MSG_ID_WAP_RESTORE_FACTORY_SETTING_REQ;
  501.     Message.oslDataPtr = NULL;
  502.     Message.oslPeerBuffPtr = NULL;
  503.     OslMsgSendExtQueue(&Message);
  504. #endif /* WAP_SUPPORT */ 
  505. }
  506. /*****************************************************************************
  507.  * FUNCTION
  508.  *  EntryRstConfirm
  509.  * DESCRIPTION
  510.  *  This function is left softkey handler for Yes to reboot
  511.  * PARAMETERS
  512.  *  void
  513.  * RETURNS
  514.  *  void
  515.  *****************************************************************************/
  516. void EntryRstConfirm(void)
  517. {
  518.     /*----------------------------------------------------------------*/
  519.     /* Local Variables                                                */
  520.     /*----------------------------------------------------------------*/
  521.     /*----------------------------------------------------------------*/
  522.     /* Code Body                                                      */
  523.     /*----------------------------------------------------------------*/
  524. #if !defined(__MTK_TARGET__)
  525.     DisplayConfirm(
  526.         STR_GLOBAL_YES,
  527.         IMG_GLOBAL_YES,
  528.         STR_GLOBAL_NO,
  529.         IMG_GLOBAL_NO,
  530.         (PU16) GetString(EM_NOTICE_SUCCESS_REBOOT_TEXT),
  531.         IMG_GLOBAL_QUESTION,
  532.         WARNING_TONE);
  533. #else /* !defined(__MTK_TARGET__) */ 
  534.     DisplayConfirm(
  535.         STR_GLOBAL_YES,
  536.         IMG_GLOBAL_YES,
  537.         STR_GLOBAL_NO,
  538.         IMG_GLOBAL_NO,
  539.         (PU16) GetString(STR_SETTING_RESTORE_CONFIRM),
  540.         IMG_GLOBAL_QUESTION,
  541.         WARNING_TONE);
  542. #endif /* !defined(__MTK_TARGET__) */ 
  543.     /* Register function with left/right softkey */
  544. #ifdef __HALF_SECURE_RESTORE__
  545.     if (GetPhoneLock() == MMI_FALSE)
  546.     {
  547.         SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  548.     }
  549.     else
  550.     {
  551.         SetRightSoftkeyFunction(GoBack2TheHistory, KEY_EVENT_UP);
  552.     }
  553. #else /* __HALF_SECURE_RESTORE__ */ 
  554.     SetRightSoftkeyFunction(GoBack2TheHistory, KEY_EVENT_UP);
  555. #endif /* __HALF_SECURE_RESTORE__ */ 
  556.     SetLeftSoftkeyFunction(RstStartRestore, KEY_EVENT_UP);
  557.     return;
  558. }
  559. /*****************************************************************************
  560.  * FUNCTION
  561.  *  EntryRstRestoreProcessing
  562.  * DESCRIPTION
  563.  *  This function is Entry function to display restore processing screen
  564.  * PARAMETERS
  565.  *  void
  566.  * RETURNS
  567.  *  void
  568.  *****************************************************************************/
  569. void EntryRstRestoreProcessing(void)
  570. {
  571.     /*----------------------------------------------------------------*/
  572.     /* Local Variables                                                */
  573.     /*----------------------------------------------------------------*/
  574.     /*----------------------------------------------------------------*/
  575.     /* Code Body                                                      */
  576.     /*----------------------------------------------------------------*/
  577.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] EntryRstRestoreProcessing()n"));
  578.     ChangeLeftSoftkey(0, 0);
  579.     ChangeRightSoftkey(0, 0);
  580.     /* Call Exit Handler */
  581.     EntryNewScreen(SCR_RESTORE_PROCESSING, NULL, EntryRstRestoreProcessing, NULL);
  582.     ShowCategory66Screen(
  583.         STR_MENU_RESTORE,
  584.         0,
  585.         0,
  586.         0,
  587.         0,
  588.         0,
  589.         (PU8) GetString(STR_SETTING_RESTORE_PROCESSING),
  590.         IMG_GLOBAL_PROGRESS,
  591.         NULL);
  592.     /* clear all key handlers so as to restrict duplicate reqs */
  593.     ClearInputEventHandler(MMI_DEVICE_ALL);
  594.     ClearKeyHandler(KEY_END, KEY_EVENT_UP);
  595.     ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
  596.     ClearKeyHandler(KEY_END, KEY_LONG_PRESS);
  597. }
  598. /*****************************************************************************
  599.  * FUNCTION
  600.  *  RstSyncHandler
  601.  * DESCRIPTION
  602.  *  This function is to handle MSG_ID_MMI_EQ_NVRAM_RESET_RSP
  603.  * PARAMETERS
  604.  *  msg     [?]     
  605.  * RETURNS
  606.  *  void
  607.  *****************************************************************************/
  608. void RstSyncHandler(void *msg)
  609. {
  610.     /*----------------------------------------------------------------*/
  611.     /* Local Variables                                                */
  612.     /*----------------------------------------------------------------*/
  613.     /*----------------------------------------------------------------*/
  614.     /* Code Body                                                      */
  615.     /*----------------------------------------------------------------*/
  616.     memset(gAlmQueue, 0xff, sizeof(gAlmQueue));
  617.     g_alm_frm_cntx.EnabledAlarms = 0;
  618. #ifdef __MMI_EBOOK_READER__
  619.     ebr_frm_restore_default_book_shelf_settings();
  620. #endif /* __MMI_EBOOK_READER__ */ 
  621. #if !defined(MMI_ON_WIN32) && defined(__J2ME__)
  622. javaFileGenerator(GAMETYPE_JAVA_GAME, KAL_TRUE);
  623. #ifdef __SUPPORT_INFUSIO__
  624. javaFileGenerator(GAMETYPE_INFUSIO_EUREKA, KAL_TRUE);
  625. #endif /* __SUPPORT_INFUSIO__ */
  626. #ifdef SUPPORT_SURFKITCHEN
  627. javaFileGenerator(GAMETYPE_SURFKITCHEN, KAL_TRUE);
  628. #endif /* SUPPORT_SURFKITCHEN */
  629. #ifdef SUPPORT_MUSICWAV
  630. javaFileGenerator(GAMETYPE_MUSICWAV, KAL_TRUE);
  631. #endif /* SUPPORT_MUSICWAV */
  632. #endif
  633. #ifdef WAP_SUPPORT
  634.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstSyncHandler: Reset WAPn"));
  635.     SetProtocolEventHandler(RstWapRspHdlr, MSG_ID_WAP_RESTORE_FACTORY_SETTING_CNF);
  636.     RstSendRestoreMsgToWap();
  637. #else /* WAP_SUPPORT */ 
  638.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstSyncHandler: Rebootn"));
  639.     AlmATPowerReset(MMI_FALSE, 10); /* shutdown system and reboot in 3 seconds. */
  640. #endif /* WAP_SUPPORT */ 
  641. }
  642. /*****************************************************************************
  643.  * FUNCTION
  644.  *  RstDetachHandler
  645.  * DESCRIPTION
  646.  *  This function is to handle MSG_ID_MMI_NW_PWROFF_DETACH_RSP
  647.  * PARAMETERS
  648.  *  msg     [IN]        MSG_ID_MMI_NW_PWROFF_DETACH_RSP
  649.  * RETURNS
  650.  *  void
  651.  *****************************************************************************/
  652. void RstDetachHandler(void *msg)
  653. {
  654.     /*----------------------------------------------------------------*/
  655.     /* Local Variables                                                */
  656.     /*----------------------------------------------------------------*/
  657.     MYQUEUE Message;
  658.     MMIEQNVRAMRESETREQ *local_data;
  659.     /*----------------------------------------------------------------*/
  660.     /* Code Body                                                      */
  661.     /*----------------------------------------------------------------*/
  662.     Message.oslSrcId = MOD_MMI;
  663.     Message.oslDestId = MOD_L4C;
  664.     Message.oslMsgId = MSG_ID_MMI_EQ_NVRAM_RESET_REQ;
  665.     local_data = (MMIEQNVRAMRESETREQ*) OslConstructDataPtr(sizeof(MMIEQNVRAMRESETREQ));
  666.     local_data->lid = 0;
  667.     local_data->reset_category = NVRAM_RESET_FACTORY;
  668.     Message.oslDataPtr = (oslParaType*) local_data;
  669.     Message.oslPeerBuffPtr = NULL;
  670.     SetProtocolEventHandler(RstSyncHandler, MSG_ID_MMI_EQ_NVRAM_RESET_RSP);
  671.     OslMsgSendExtQueue(&Message);
  672. }
  673. /*****************************************************************************
  674.  * FUNCTION
  675.  *  RstStartRestore
  676.  * DESCRIPTION
  677.  *  This function is start to restore settings to factore default
  678.  * PARAMETERS
  679.  *  void
  680.  * RETURNS
  681.  *  void
  682.  *****************************************************************************/
  683. void RstStartRestore(void)
  684. {
  685.     /*----------------------------------------------------------------*/
  686.     /* Local Variables                                                */
  687.     /*----------------------------------------------------------------*/
  688.     MYQUEUE Message;
  689.     /*----------------------------------------------------------------*/
  690.     /* Code Body                                                      */
  691.     /*----------------------------------------------------------------*/
  692.     EntryRstRestoreProcessing();
  693.     /* Lock Nvram Cache Access and never relase */
  694.     SetFlashAllNVRAMCatchData(MMI_TRUE);
  695. #ifdef __MMI_USB_SUPPORT__
  696.     ClearProtocolEventHandler(PRT_EQ_USB_DETECT_IND);
  697. #endif 
  698.     SetProtocolEventHandler(RstDetachHandler, MSG_ID_MMI_NW_PWROFF_DETACH_RSP);
  699.     /* Deattach network */
  700.     Message.oslSrcId = MOD_MMI;
  701.     Message.oslDestId = MOD_L4C;
  702.     Message.oslMsgId = MSG_ID_MMI_NW_PWROFF_DETACH_REQ;
  703.     Message.oslDataPtr = (oslParaType*) NULL;
  704.     Message.oslPeerBuffPtr = NULL;
  705.     OslMsgSendExtQueue(&Message);
  706.     bStatus = MMI_TRUE;
  707.     return;
  708. }
  709. /*****************************************************************************
  710.  * FUNCTION
  711.  *  RstWapRspHdlr
  712.  * DESCRIPTION
  713.  *  This function is to handle MSG_ID_WAP_RESTORE_FACTORY_SETTING_CNF
  714.  * PARAMETERS
  715.  *  msg     [IN]        MSG_ID_WAP_RESTORE_FACTORY_SETTING_CNF
  716.  * RETURNS
  717.  *  void
  718.  *****************************************************************************/
  719. void RstWapRspHdlr(void *msg)
  720. {
  721.     /*----------------------------------------------------------------*/
  722.     /* Local Variables                                                */
  723.     /*----------------------------------------------------------------*/
  724.     /*----------------------------------------------------------------*/
  725.     /* Code Body                                                      */
  726.     /*----------------------------------------------------------------*/
  727.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstWapRspHdlr(): Rebootn"));
  728.     AlmATPowerReset(MMI_FALSE, 10); /* shutdown system and reboot in 3 seconds. */
  729.     return;
  730. }
  731. /*****************************************************************************
  732.  * FUNCTION
  733.  *  RstRestoreDisplayPopup
  734.  * DESCRIPTION
  735.  *  This function is to display success/fail popup for restore default
  736.  * PARAMETERS
  737.  *  status      [IN]        Success/fail
  738.  * RETURNS
  739.  *  void
  740.  *****************************************************************************/
  741. void RstRestoreDisplayPopup(MMI_BOOL status)
  742. {
  743.     /*----------------------------------------------------------------*/
  744.     /* Local Variables                                                */
  745.     /*----------------------------------------------------------------*/
  746.     /*----------------------------------------------------------------*/
  747.     /* Code Body                                                      */
  748.     /*----------------------------------------------------------------*/
  749.     /* check the status is success or not */
  750.     if (status)
  751.     {
  752.         /* if the restore default values is success */
  753.         SpofRestore();
  754.         PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestoreDisplayPopup(): Restore Successful. ===n"));
  755.         DisplayPopup(
  756.             (PU8) GetString(STR_GLOBAL_DONE /* STR_RESTORE_SUCCESS */ ),
  757.             IMG_GLOBAL_ACTIVATED,
  758.             1,
  759.             ST_NOTIFYDURATION,
  760.             SUCCESS_TONE);
  761.     }
  762.     else
  763.     {
  764.         /* if the restore default values is failure */
  765.         PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestoreDisplayPopup(): Restore Fail. ===n"));
  766.         DisplayPopup((PU8) GetString(STR_GLOBAL_UNFINISHED), IMG_GLOBAL_UNFINISHED, 1, ST_NOTIFYDURATION, ERROR_TONE);
  767.     }
  768.     /* delete screens for maitaining the history */
  769.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestoreDisplayPopup(): Delete Screen. ===n"));
  770.     DeleteScreenIfPresent(SCR_RESTORE);
  771.     DeleteScreenIfPresent(SCR_SETTING_RESTORE_CONFIRM);
  772.     DeleteScreenIfPresent(SCR_RESTORE_PROCESSING);
  773. }
  774. /*****************************************************************************
  775.  * FUNCTION
  776.  *  RstrSettingPasswdScrSoftKeyFunc
  777.  * DESCRIPTION
  778.  *  This function is to change softkey function in screen according to params
  779.  * PARAMETERS
  780.  *  text        [IN]        
  781.  *  cursor      [IN]        
  782.  *  length      [IN]        
  783.  * RETURNS
  784.  *  void
  785.  *****************************************************************************/
  786. void RstrSettingPasswdScrSoftKeyFunc(U8 *text, U8 *cursor, S32 length)
  787. {
  788.     /*----------------------------------------------------------------*/
  789.     /* Local Variables                                                */
  790.     /*----------------------------------------------------------------*/
  791.     /*----------------------------------------------------------------*/
  792.     /* Code Body                                                      */
  793.     /*----------------------------------------------------------------*/
  794.     /* check the validity of the input password */
  795.     if ((length) < MIN_PASSWORD_LENGTH)
  796.     {
  797.         /* if length is short then disable lsk */
  798.         ChangeLeftSoftkey(0, 0);
  799.         ClearKeyHandler(KEY_POUND, KEY_EVENT_UP);
  800.     }
  801.     else
  802.     {
  803.         /* if its valid length then enable lsk */
  804.         EnableLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
  805.         SetKeyHandler(gSecuritySetupContext.PasswdLenCheckCallBack, KEY_POUND, KEY_EVENT_UP);
  806.     }
  807. }
  808. /*****************************************************************************
  809.  * FUNCTION
  810.  *  RstGetNITZStatusDefault
  811.  * DESCRIPTION
  812.  *  This function is to get NITZ status default
  813.  * PARAMETERS
  814.  *  void
  815.  * RETURNS
  816.  *  On/Off
  817.  *****************************************************************************/
  818. U8 RstGetNITZStatusDefault(void)
  819. {
  820.     /*----------------------------------------------------------------*/
  821.     /* Local Variables                                                */
  822.     /*----------------------------------------------------------------*/
  823.     U8 gAutoUpdateTime = 0;
  824.     S16 error = 0;
  825.     /*----------------------------------------------------------------*/
  826.     /* Code Body                                                      */
  827.     /*----------------------------------------------------------------*/
  828.     /* retrive default value for auto update date time status from nvram */
  829.     ReadValue(RESTORE_DEFAULT_AUTOUPDATE_TIME, &gAutoUpdateTime, DS_BYTE, &error);
  830.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetNITZStatusDefault(): gAutoUpdateTime = %dn",
  831.                          gAutoUpdateTime));
  832.     /* return default value for auto update date time status */
  833.     return gAutoUpdateTime;
  834. }
  835. /*****************************************************************************
  836.  * FUNCTION
  837.  *  RstGetScrSaverStatusDefault
  838.  * DESCRIPTION
  839.  *  This function is to get screen saver status default value
  840.  * PARAMETERS
  841.  *  void
  842.  * RETURNS
  843.  *  On/Off
  844.  *****************************************************************************/
  845. U8 RstGetScrSaverStatusDefault(void)
  846. {
  847.     /*----------------------------------------------------------------*/
  848.     /* Local Variables                                                */
  849.     /*----------------------------------------------------------------*/
  850.     U8 ScrSvrStatus = 0;
  851.     S16 error = 0;
  852.     /*----------------------------------------------------------------*/
  853.     /* Code Body                                                      */
  854.     /*----------------------------------------------------------------*/
  855.     /* retrive default value for screen saver status  from nvram */
  856. #if defined(__MMI_LCD_PARTIAL_ON__) && defined(__MMI_LCD_PARTIAL_ON_ENABLED__)
  857.     ScrSvrStatus = (U8) SET_SS_STATUS_POWERSAVING;
  858. #else 
  859.     ReadValue(RESTORE_DEFAULT_SCREENSAVER_STATUS, &ScrSvrStatus, DS_BYTE, &error);
  860. #endif 
  861.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetScrSaverStatusDefault(): ScrSvrStatus = %dn",
  862.                          ScrSvrStatus));
  863.     /* return default value for screen saver status */
  864.     return ScrSvrStatus;
  865. }
  866. /*****************************************************************************
  867.  * FUNCTION
  868.  *  RstGetScrSaverWaitingDefault
  869.  * DESCRIPTION
  870.  *  This function is to get screen saver waiting time default value
  871.  * PARAMETERS
  872.  *  void
  873.  * RETURNS
  874.  *  Waiting time in seconds
  875.  *****************************************************************************/
  876. U8 RstGetScrSaverWaitingDefault(void)
  877. {
  878.     /*----------------------------------------------------------------*/
  879.     /* Local Variables                                                */
  880.     /*----------------------------------------------------------------*/
  881.     U8 gRestorScrWaitingVal = 0;
  882.     S16 error = 0;
  883.     /*----------------------------------------------------------------*/
  884.     /* Code Body                                                      */
  885.     /*----------------------------------------------------------------*/
  886.     /* retrive default value for screen saver waiting value from nvram */
  887.     ReadValue(RESTORE_DEFAULT_SCREENSAVER_WAITING, &gRestorScrWaitingVal, DS_BYTE, &error);
  888.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetScrSaverWaitingDefault(): gRestorScrWaitingVal =%dn",
  889.                          gRestorScrWaitingVal));
  890.     /* return default value for screen saver waiting value */
  891.     return gRestorScrWaitingVal;
  892. }
  893. /*****************************************************************************
  894.  * FUNCTION
  895.  *  RstGetScrSaverImgIdDefault
  896.  * DESCRIPTION
  897.  *  This function is to get screen saver image id default value
  898.  * PARAMETERS
  899.  *  void
  900.  * RETURNS
  901.  *  Image ID
  902.  *****************************************************************************/
  903. U16 RstGetScrSaverImgIdDefault(void)
  904. {
  905.     /*----------------------------------------------------------------*/
  906.     /* Local Variables                                                */
  907.     /*----------------------------------------------------------------*/
  908.     U16 gScreenSaverId = 0;
  909.     /*----------------------------------------------------------------*/
  910.     /* Code Body                                                      */
  911.     /*----------------------------------------------------------------*/
  912.     /* retrive default value for screen saver id from nvram */
  913.     mmi_dispchar_get_img_id(RESTORE_DEFAULT_CURRENT_SCREENSVER_ID, &gScreenSaverId);
  914.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetScrSaverImgIdDefault(): gScreenSaverId = %dn",
  915.                          gScreenSaverId));
  916.     /* return default value for screen saver id */
  917.     return gScreenSaverId;
  918. }
  919. /*****************************************************************************
  920.  * FUNCTION
  921.  *  RstGetWallpaperImgIdDefault
  922.  * DESCRIPTION
  923.  *  This function is to get wallpaper image id default value
  924.  * PARAMETERS
  925.  *  void
  926.  * RETURNS
  927.  *  Image ID
  928.  *****************************************************************************/
  929. U16 RstGetWallpaperImgIdDefault(void)
  930. {
  931.     /*----------------------------------------------------------------*/
  932.     /* Local Variables                                                */
  933.     /*----------------------------------------------------------------*/
  934.     U16 gWallPaperId = 0;
  935.     /*----------------------------------------------------------------*/
  936.     /* Code Body                                                      */
  937.     /*----------------------------------------------------------------*/
  938.     /* retrive value for wall paper id from nvram */
  939.     mmi_dispchar_get_img_id(RESTORE_DEFAULT_FUNANDGAMES_SETWALLPAPER, &(gWallPaperId));
  940.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetScrSaverImgIdDefault(): gWallPaperId = %dn",
  941.                          gWallPaperId));
  942.     /* return default value for wall paper id */
  943.     return gWallPaperId;
  944. }
  945. #ifdef __MMI_SUB_WALLPAPER__
  946. /*****************************************************************************
  947.  * FUNCTION
  948.  *  RstGetWallpaperSubImgIdDefault
  949.  * DESCRIPTION
  950.  *  This function is to get sub wallpaper image id default value
  951.  * PARAMETERS
  952.  *  void
  953.  * RETURNS
  954.  *  Image ID
  955.  *****************************************************************************/
  956. U16 RstGetWallpaperSubImgIdDefault(void)
  957. {
  958.     /*----------------------------------------------------------------*/
  959.     /* Local Variables                                                */
  960.     /*----------------------------------------------------------------*/
  961.     U16 gSubWallPaperId = 0;
  962.     /*----------------------------------------------------------------*/
  963.     /* Code Body                                                      */
  964.     /*----------------------------------------------------------------*/
  965.     /* retrive value for wall paper id from nvram */
  966.     mmi_dispchar_get_img_id(RESTORE_DEFAULT_SETWALLPAPER_SUB, &gSubWallPaperId);
  967.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[RST Factory] RstGetWallpaperSubImgIdDefault(): gSubWallPaperId = %dn",
  968.                          gSubWallPaperId));
  969.     /* return default value for wall paper id */
  970.     return gSubWallPaperId;
  971. }
  972. #endif /* __MMI_SUB_WALLPAPER__ */ 
  973. #if __MMI_PHNSET_COMMENT__
  974. /*****************************************************************************
  975.  * FUNCTION
  976.  *  RstRestorePhoneSetup
  977.  * DESCRIPTION
  978.  *  This function is to restore phone setup default values
  979.  *  Functionality:
  980.  * PARAMETERS
  981.  *  void
  982.  *  a(?)        [IN/OUT]        
  983.  *  b(?)        [IN]            
  984.  * RETURNS
  985.  *  void
  986.  *****************************************************************************/
  987. pBOOL RstRestorePhoneSetup(void)
  988. {
  989.     /*----------------------------------------------------------------*/
  990.     /* Local Variables                                                */
  991.     /*----------------------------------------------------------------*/
  992.     U8 data = 0;
  993.     S16 error;
  994. #ifdef __MMI_PREFER_INPUT_METHOD__
  995.     U16 data16 = 0;
  996. #endif 
  997.     /*----------------------------------------------------------------*/
  998.     /* Code Body                                                      */
  999.     /*----------------------------------------------------------------*/
  1000. #ifdef __MMI_PREFER_INPUT_METHOD__
  1001.     /* Restore Prefer input method */
  1002.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore InputMethod. ===n"));
  1003.     data16 = RstGetPreferedInputMethodDefault();
  1004.     WriteValue(NVRAM_SETTING_PREFER_INPUT_METHOD, &data16, DS_SHORT, &error);
  1005.     SetInputMethodType(data16);
  1006. #endif /* __MMI_PREFER_INPUT_METHOD__ */ 
  1007.     /* Restore speed dial status */
  1008.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore Speed dial status. ===n"));
  1009.     data = RstGetSpeedDialStatusDefault();
  1010.     WriteValue(NVRAM_SETTING_SPEED_DIAL, &data, DS_BYTE, &error);
  1011.     /* Restore contrast level for main lcd */
  1012.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore Contrast Level. ===n"));
  1013.     data = RstGetContrastLevelMainDefault();
  1014.     PhnsetChangeMainLCDContrastValue(data);
  1015.     PhnsetMainLCDContrast(data);
  1016.     WriteValue(NVRAM_SETTING_CONTRAST_LEVEL, &data, DS_BYTE, &error);
  1017. #ifdef __MMI_SUBLCD__
  1018.     /* Restore contrast lever for sub lcd */
  1019.     data = RstGetContrastLevelSubDefault();
  1020.     PhnsetChangeSubLCDContrastValue(data);
  1021.     PhnsetSubLCDContrast(data);
  1022.     WriteValue(NVRAM_SETTING_CONTRAST_SUBLCD_LEVEL, &data, DS_BYTE, &error);
  1023. #endif /* __MMI_SUBLCD__ */ 
  1024.     /* Restore greeting text status */
  1025.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore greeting text. ===n"));
  1026.     data = RstGetGreetingTextStatusDefault();
  1027.     WriteValue(NVRAM_SETTING_WELCOME_TEXT, &data, DS_BYTE, &error);
  1028.     memset(WelcomeText, 0, MAX_SETTING_WELCOME_TEXT * ENCODING_LENGTH);
  1029.     AnsiiToUnicodeString((S8*) WelcomeText, (S8*) "Welcome"); /* MTK add, Robin 1110 */
  1030.     WriteRecord(
  1031.         NVRAM_EF_SETTING_LID,
  1032.         1,
  1033.         (void*)WelcomeText,
  1034.         (U16) (MAX_SETTING_WELCOME_TEXT * ENCODING_LENGTH),
  1035.         &error);
  1036. #if defined(__MMI_APHORISM__)
  1037. /* under construction !*/
  1038. /* under construction !*/
  1039. /* under construction !*/
  1040. /* under construction !*/
  1041. #endif /* defined(__MMI_APHORISM__) */ 
  1042.     /* Restore show own number status */
  1043.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore OwnerNumber. ===n"));
  1044.     data = RstGetOwnerNumStatusDefault();
  1045.     WriteValue(NVRAM_SETTING_OWNER_NO, &data, DS_BYTE, &error);
  1046.     /* CurrentDtType = 1;//default on */
  1047.     PhnsetSetShowDTStatus(1);
  1048.     /* Restore show date/time status */
  1049.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore DateTime Status. ===n"));
  1050.     data = RstGetShowDTStatusDefault();
  1051.     WriteValue(NVRAM_SETTING_STATUS_DT_TIME, &data, DS_BYTE, &error);
  1052.     /* Restore auto update date/time status */
  1053.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore NITZ. ===n"));
  1054.     data = RstGetNITZStatusDefault();
  1055.     WriteValue(NVRAM_SETTING_AUTOUPDATE_DT_TIME, &data, DS_BYTE, &error);
  1056.     /* Restore speed dial */
  1057.     /*
  1058.      * data = PhbRestoreSpeedDial();    
  1059.      * if(error == NVRAM_WRITE_SUCCESS)
  1060.      * return TRUE;
  1061.      * else
  1062.      * return FALSE;
  1063.      */
  1064.     /* Restore speed dial */
  1065.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore Speed dial. ===n"));
  1066.     if (PhbRestoreSpeedDial() == MMI_FALSE)
  1067.     {
  1068.         return FALSE;
  1069.     }
  1070.     /* Restore date format  */
  1071.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore Date Format. ===n"));
  1072.     data = RstGetDateFormatDefault();
  1073.     if (PhnsetSetDateFormat(data) != NVRAM_WRITE_SUCCESS)   /* dd-mmm-yyyy */
  1074.     {
  1075.         return FALSE;
  1076.     }
  1077.     /* Restore time format */
  1078.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstRestorePhoneSetup(): Start restore Time Format. ===n"));
  1079.     data = RstGetTimeFormatDefault();
  1080.     if (PhnsetSetTimeFormat(data) != NVRAM_WRITE_SUCCESS)   /* 12hr format as per the error */
  1081.     {
  1082.         return FALSE;
  1083.     }
  1084.     return TRUE;
  1085. }
  1086. #ifdef __MMI_PREFER_INPUT_METHOD__
  1087. /*****************************************************************************
  1088.  * FUNCTION
  1089.  *  RstGetPreferedInputMethodDefault
  1090.  * DESCRIPTION
  1091.  *  This function is to get prefered Input Method restore default value
  1092.  *  Functionality:
  1093.  * PARAMETERS
  1094.  *  void
  1095.  *  a(?)        [IN/OUT]        
  1096.  *  b(?)        [IN]            
  1097.  * RETURNS
  1098.  *  void
  1099.  *****************************************************************************/
  1100. U16 RstGetPreferedInputMethodDefault(void)
  1101. {
  1102.     /*----------------------------------------------------------------*/
  1103.     /* Local Variables                                                */
  1104.     /*----------------------------------------------------------------*/
  1105.     U16 data16 = 0;
  1106.     S16 error = 0;
  1107.     /*----------------------------------------------------------------*/
  1108.     /* Code Body                                                      */
  1109.     /*----------------------------------------------------------------*/
  1110.     /* retrive preferred input method by reading default value from nvram */
  1111.     ReadValue(RESTORE_PREFER_INPUT_METHOD, &data16, DS_SHORT, &error);
  1112.     /* return the preferred input method */
  1113.     return data16;
  1114. }
  1115. #endif /* __MMI_PREFER_INPUT_METHOD__ */ 
  1116. /*****************************************************************************
  1117.  * FUNCTION
  1118.  *  RstGetSpeedDialStatusDefault
  1119.  * DESCRIPTION
  1120.  *  This function is to get speed dial status restore default value
  1121.  *  Functionality:
  1122.  * PARAMETERS
  1123.  *  void
  1124.  *  a(?)        [IN/OUT]        
  1125.  *  b(?)        [IN]            
  1126.  * RETURNS
  1127.  *  void
  1128.  *****************************************************************************/
  1129. U8 RstGetSpeedDialStatusDefault(void)
  1130. {
  1131.     /*----------------------------------------------------------------*/
  1132.     /* Local Variables                                                */
  1133.     /*----------------------------------------------------------------*/
  1134.     U8 gSpeedDialStatus = 0;
  1135.     S16 error = 0;
  1136.     /*----------------------------------------------------------------*/
  1137.     /* Code Body                                                      */
  1138.     /*----------------------------------------------------------------*/
  1139.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetSpeedDialStatusDefault() ===n"));
  1140.     /* retrive default speed dial status from nvram */
  1141.     ReadValue(RESTORE_DEFAULT_SPEED_DIAL, &gSpeedDialStatus, DS_BYTE, &error);
  1142.     /* return the default speed dial status */
  1143.     return gSpeedDialStatus;
  1144. }
  1145. /*****************************************************************************
  1146.  * FUNCTION
  1147.  *  RstGetDateFormatDefault
  1148.  * DESCRIPTION
  1149.  *  This function is to get date format restore default
  1150.  *  Functionality:
  1151.  * PARAMETERS
  1152.  *  void
  1153.  *  a(?)        [IN/OUT]        
  1154.  *  b(?)        [IN]            
  1155.  * RETURNS
  1156.  *  void
  1157.  *****************************************************************************/
  1158. U8 RstGetDateFormatDefault(void)
  1159. {
  1160.     /*----------------------------------------------------------------*/
  1161.     /* Local Variables                                                */
  1162.     /*----------------------------------------------------------------*/
  1163.     U8 gDateFormat = 0;
  1164.     S16 error = 0;
  1165.     /*----------------------------------------------------------------*/
  1166.     /* Code Body                                                      */
  1167.     /*----------------------------------------------------------------*/
  1168.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetDateFormatDefault() ===n"));
  1169.     /* retrive default date format from nvram */
  1170.     ReadValue(RESTORE_DEFAULT_DATE_FORMAT, &gDateFormat, DS_BYTE, &error);
  1171.     /* return the default date format */
  1172.     return gDateFormat;
  1173. }
  1174. /*****************************************************************************
  1175.  * FUNCTION
  1176.  *  RstGetTimeFormatDefault
  1177.  * DESCRIPTION
  1178.  *  This function is to get time format restore default
  1179.  *  Functionality:
  1180.  * PARAMETERS
  1181.  *  void
  1182.  *  a(?)        [IN/OUT]        
  1183.  *  b(?)        [IN]            
  1184.  * RETURNS
  1185.  *  void
  1186.  *****************************************************************************/
  1187. U8 RstGetTimeFormatDefault(void)
  1188. {
  1189.     /*----------------------------------------------------------------*/
  1190.     /* Local Variables                                                */
  1191.     /*----------------------------------------------------------------*/
  1192.     U8 gTimeFormat = 0;
  1193.     S16 error = 0;
  1194.     /*----------------------------------------------------------------*/
  1195.     /* Code Body                                                      */
  1196.     /*----------------------------------------------------------------*/
  1197.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetTimeFormatDefault() ===n"));
  1198.     /* retrive default time format from nvram */
  1199.     ReadValue(RESTORE_DEFAULT_TIME_FORMAT, &gTimeFormat, DS_BYTE, &error);
  1200.     /* return the default time format */
  1201.     return gTimeFormat;
  1202. }
  1203. /*****************************************************************************
  1204.  * FUNCTION
  1205.  *  RstGetContrastLevelSubDefault
  1206.  * DESCRIPTION
  1207.  *  This function is to get sub lcd constract level restore default value
  1208.  * PARAMETERS
  1209.  *  void
  1210.  *  a(?)        [IN/OUT]        
  1211.  *  b(?)        [IN]            
  1212.  * RETURNS
  1213.  *  void
  1214.  *****************************************************************************/
  1215. U8 RstGetContrastLevelSubDefault(void)
  1216. {
  1217.     /*----------------------------------------------------------------*/
  1218.     /* Local Variables                                                */
  1219.     /*----------------------------------------------------------------*/
  1220.     U8 gContrastSubLcd = 0;
  1221.     S16 error = 0;
  1222.     /*----------------------------------------------------------------*/
  1223.     /* Code Body                                                      */
  1224.     /*----------------------------------------------------------------*/
  1225.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetContrastLevelSubDefault() ===n"));
  1226.     /* retrive the default contrast level for sub lcd from nvram */
  1227.     ReadValue(RESTORE_DEFAULT_CONTRAST_SUBLCD_LEVEL, &gContrastSubLcd, DS_BYTE, &error);
  1228.     /* return the default contrast level for sub lcd */
  1229.     return gContrastSubLcd;
  1230. }
  1231. /*****************************************************************************
  1232.  * FUNCTION
  1233.  *  RstGetContrastLevelMainDefault
  1234.  * DESCRIPTION
  1235.  *  This function is to get main lcd constract level restore default value
  1236.  *  Functionality:
  1237.  * PARAMETERS
  1238.  *  void
  1239.  *  a(?)        [IN/OUT]        
  1240.  *  b(?)        [IN]            
  1241.  * RETURNS
  1242.  *  void
  1243.  *****************************************************************************/
  1244. U8 RstGetContrastLevelMainDefault(void)
  1245. {
  1246.     /*----------------------------------------------------------------*/
  1247.     /* Local Variables                                                */
  1248.     /*----------------------------------------------------------------*/
  1249.     U8 gContrastLcd = 0;
  1250.     S16 error = 0;
  1251.     /*----------------------------------------------------------------*/
  1252.     /* Code Body                                                      */
  1253.     /*----------------------------------------------------------------*/
  1254.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetContrastLevelMainDefault() ===n"));
  1255.     /* retrive the default contrast level for main lcd from nvram */
  1256.     ReadValue(RESTORE_DEFAULT_CONTRAST_LEVEL, &gContrastLcd, DS_BYTE, &error);
  1257.     /* return the default contrast level for main lcd */
  1258.     return gContrastLcd;
  1259. }
  1260. /*****************************************************************************
  1261.  * FUNCTION
  1262.  *  RstGetGreetingTextStatusDefault
  1263.  * DESCRIPTION
  1264.  *  This function is to get greeting text on/off status default value
  1265.  *  Functionality:
  1266.  * PARAMETERS
  1267.  *  void
  1268.  *  a(?)        [IN/OUT]        
  1269.  *  b(?)        [IN]            
  1270.  * RETURNS
  1271.  *  void
  1272.  *****************************************************************************/
  1273. U8 RstGetGreetingTextStatusDefault(void)
  1274. {
  1275.     /*----------------------------------------------------------------*/
  1276.     /* Local Variables                                                */
  1277.     /*----------------------------------------------------------------*/
  1278.     U8 gWelcomeText = 0;
  1279.     S16 error = 0;
  1280.     /*----------------------------------------------------------------*/
  1281.     /* Code Body                                                      */
  1282.     /*----------------------------------------------------------------*/
  1283.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetGreetingTextStatusDefault() ===n"));
  1284.     /* retrive the default greeting text status from nvram */
  1285.     ReadValue(RESTORE_DEFAULT_WELCOME_TEXT, &gWelcomeText, DS_BYTE, &error);
  1286.     /* return the default greeting text status */
  1287.     return gWelcomeText;
  1288. }
  1289. /*****************************************************************************
  1290.  * FUNCTION
  1291.  *  RetGetAphorismTextStatusDefault
  1292.  * DESCRIPTION
  1293.  *  This function is to get Aphorism on/off status default value
  1294.  *  Functionality:
  1295.  * PARAMETERS
  1296.  *  void
  1297.  *  a(?)        [IN/OUT]        
  1298.  *  b(?)        [IN]            
  1299.  * RETURNS
  1300.  *  void
  1301.  *****************************************************************************/
  1302. #if defined(__MMI_APHORISM__)
  1303. /* under construction !*/
  1304. /* under construction !*/
  1305. /* under construction !*/
  1306. /* under construction !*/
  1307. /* under construction !*/
  1308. /* under construction !*/
  1309. /* under construction !*/
  1310. /* under construction !*/
  1311. /* under construction !*/
  1312. /* under construction !*/
  1313. /* under construction !*/
  1314. /* under construction !*/
  1315. /* under construction !*/
  1316. /* under construction !*/
  1317. /* under construction !*/
  1318. /* under construction !*/
  1319. /* under construction !*/
  1320. /* under construction !*/
  1321. #endif /* defined(__MMI_APHORISM__) */ 
  1322. /*****************************************************************************
  1323.  * FUNCTION
  1324.  *  RstGetOwnerNumStatusDefault
  1325.  * DESCRIPTION
  1326.  *  This function is to
  1327.  *  Functionality:
  1328.  * PARAMETERS
  1329.  *  void
  1330.  *  a(?)        [IN/OUT]        
  1331.  *  b(?)        [IN]            
  1332.  * RETURNS
  1333.  *  void
  1334.  *****************************************************************************/
  1335. U8 RstGetOwnerNumStatusDefault(void)
  1336. {
  1337.     /*----------------------------------------------------------------*/
  1338.     /* Local Variables                                                */
  1339.     /*----------------------------------------------------------------*/
  1340.     U8 gOwnerNo = 0;
  1341.     S16 error = 0;
  1342.     /*----------------------------------------------------------------*/
  1343.     /* Code Body                                                      */
  1344.     /*----------------------------------------------------------------*/
  1345.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetOwnerNumStatusDefault() ===n"));
  1346.     /* retrive the default value for owner number status from nvram */
  1347.     ReadValue(RESTORE_DEFAULT_OWNER_NO, &gOwnerNo, DS_BYTE, &error);
  1348.     /* return the default owner numbers status */
  1349.     return gOwnerNo;
  1350. }
  1351. /*****************************************************************************
  1352.  * FUNCTION
  1353.  *  RstGetShowDTStatusDefault
  1354.  * DESCRIPTION
  1355.  *  This function is to get show date and time status default value
  1356.  *  Functionality:
  1357.  * PARAMETERS
  1358.  *  void
  1359.  *  a(?)        [IN/OUT]        
  1360.  *  b(?)        [IN]            
  1361.  * RETURNS
  1362.  *  void
  1363.  *****************************************************************************/
  1364. U8 RstGetShowDTStatusDefault(void)
  1365. {
  1366.     /*----------------------------------------------------------------*/
  1367.     /* Local Variables                                                */
  1368.     /*----------------------------------------------------------------*/
  1369.     U8 gStatusShowDtTime = 0;
  1370.     S16 error = 0;
  1371.     /*----------------------------------------------------------------*/
  1372.     /* Code Body                                                      */
  1373.     /*----------------------------------------------------------------*/
  1374.     PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "=== RstGetShowDTStatusDefault() ===n"));
  1375.     /* retrive default value for display date time status from nvram */
  1376.     ReadValue(RESTORE_DEFAULT_STATUS_SHOW_DT_TIME, &gStatusShowDtTime, DS_BYTE, &error);
  1377.     /* return default value for display date time status */
  1378.     return gStatusShowDtTime;
  1379. }
  1380. #endif /* __MMI_PHNSET_COMMENT__ */