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

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.  * LineSwitching.c
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *   <file description>.
  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.  *------------------------------------------------------------------------------
  99.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  100.  *============================================================================== 
  101.  *******************************************************************************/
  102. /**
  103.  * Copyright Notice
  104.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  105.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  106.  *  (It is illegal to remove this copyright notice from this software or any
  107.  *  portion of it)
  108.  */
  109. /**************************************************************
  110.    FILENAME : LineSwitching.c
  111.    PURPOSE     : 
  112.    REMARKS     : nil
  113.    AUTHOR      : Ashish Gupta, Vanita Jain
  114.    DATE     : 
  115. **************************************************************/
  116. #include "stdC.h"
  117. #include "L4Dr1.h"
  118. #include "ProtocolEvents.h"
  119. #include "CallSetUp.h"
  120. #include "PhoneBookTypes.h"
  121. #include "SimDetectionDef.h"
  122. #include "SimDetectionGprot.h"
  123. #include "wgui_status_icons.h"
  124. #include "IdleAppProt.h"
  125. #include "IdleAppDef.h"
  126. #include "DebugInitDef.h"
  127. #include "CallSetUpEnum.h"
  128. #include "Globaldefs.h"
  129. #include "wgui_fixed_menus.h"
  130. #include "LineSwitchGprot.h"
  131. #include "MMI_features.h"
  132. #include "wgui_touch_screen.h"
  133. #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__      /* 022505 Calvin added */
  134. #include "StatusIconRes.h"
  135. #endif 
  136. #ifdef __MMI_WLAN_FEATURES__
  137. #include "NetworkSetupDefs.h"
  138. #endif
  139. /*****************************************************************************
  140.  * FUNCTION
  141.  *  InitLineSwitch
  142.  * DESCRIPTION
  143.  *  initialization function for line switching
  144.  * NA
  145.  *  
  146.  * PARAMETERS
  147.  *  void
  148.  * RETURNS
  149.  *  void
  150.  *****************************************************************************/
  151. void InitLineSwitch(void)
  152. {
  153.     /*----------------------------------------------------------------*/
  154.     /* Local Variables                                                */
  155.     /*----------------------------------------------------------------*/
  156.     /*----------------------------------------------------------------*/
  157.     /* Code Body                                                      */
  158.     /*----------------------------------------------------------------*/
  159.     /* set hilite handlers for the individual menu items */
  160.     SetHiliteHandler(MENU_LINE_SWCH, HighlightCALLSETLineSwitch);
  161.     return;
  162. }
  163. /*****************************************************************************
  164.  * FUNCTION
  165.  *  HighlightCALLSETLineSwitch
  166.  * DESCRIPTION
  167.  *  hilite handler for line selection option
  168.  * NA
  169.  *  
  170.  * PARAMETERS
  171.  *  void
  172.  * RETURNS
  173.  *  void
  174.  *****************************************************************************/
  175. void HighlightCALLSETLineSwitch(void)
  176. {
  177.     /*----------------------------------------------------------------*/
  178.     /* Local Variables                                                */
  179.     /*----------------------------------------------------------------*/
  180.     /*----------------------------------------------------------------*/
  181.     /* Code Body                                                      */
  182.     /*----------------------------------------------------------------*/
  183.     g_callset_context.LineIDInput = (U8) GetCurrHiliteID();
  184.     /* Change left soft key icon and label */
  185.     ChangeLeftSoftkey(STR_SETTING_LINE_SEL, 0);
  186.     /* Change right soft key icon and label */
  187.     ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
  188.     /* set the left/right soft key functions handlers */
  189.     SetLeftSoftkeyFunction(MakePsSelectLine, KEY_EVENT_UP);
  190.     SetKeyHandler(0, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
  191.     SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  192.     /* set the left/right arrow key function handlers */
  193.     SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
  194.     return;
  195. }
  196. /*****************************************************************************
  197.  * FUNCTION
  198.  *  MakePsSelectLine
  199.  * DESCRIPTION
  200.  *  Sends Clip request to stack
  201.  * PARAMETERS
  202.  *  void
  203.  * RETURNS
  204.  *  void
  205.  *****************************************************************************/
  206. void MakePsSelectLine(void)
  207. {
  208.     /*----------------------------------------------------------------*/
  209.     /* Local Variables                                                */
  210.     /*----------------------------------------------------------------*/
  211.     MYQUEUE Message;
  212.     mmi_cphs_update_als_req_struct *msg = NULL;
  213.     /*----------------------------------------------------------------*/
  214.     /* Code Body                                                      */
  215.     /*----------------------------------------------------------------*/
  216.     msg = (mmi_cphs_update_als_req_struct*) OslConstructDataPtr(sizeof(mmi_cphs_update_als_req_struct));
  217.     ClearInputEventHandler(MMI_DEVICE_ALL);
  218.     SetKeyHandler(0, KEY_END, KEY_EVENT_DOWN);
  219.     Message.oslSrcId = MOD_MMI;
  220.     Message.oslDestId = MOD_L4C;
  221.     if (g_callset_context.LineID == LINE1)
  222.     {
  223.         msg->line_id = LINE2;
  224.     }
  225.     else
  226.     {
  227.         msg->line_id = LINE1;
  228.     }
  229.     SetProtocolEventHandler(CALLSETLineSwitchRsp, PRT_MMI_CPHS_UPDATE_ALS_RSP);
  230.     Message.oslMsgId = PRT_LINE_SET_REQ;
  231.     Message.oslDataPtr = (oslParaType*) msg;
  232.     Message.oslPeerBuffPtr = NULL;
  233.     OslMsgSendExtQueue(&Message);
  234.     return;
  235. }
  236. /*****************************************************************************
  237.  * FUNCTION
  238.  *  CALLSETLineSwitchRsp
  239.  * DESCRIPTION
  240.  *  response handler for set line1 req
  241.  * NA
  242.  *  
  243.  * PARAMETERS
  244.  *  info            [?]         
  245.  *  response(?)     [IN]        Buffer void *
  246.  * RETURNS
  247.  *  void
  248.  *****************************************************************************/
  249. void CALLSETLineSwitchRsp(void *info)
  250. {
  251.     /*----------------------------------------------------------------*/
  252.     /* Local Variables                                                */
  253.     /*----------------------------------------------------------------*/
  254.     mmi_cphs_update_als_rsp_struct *local;
  255. #ifdef __MMI_LINE_SWITCH_SHOW_NUMBER__
  256.     S8 tempstr[10];
  257. #endif 
  258.     /*----------------------------------------------------------------*/
  259.     /* Code Body                                                      */
  260.     /*----------------------------------------------------------------*/
  261.     local = (mmi_cphs_update_als_rsp_struct*) info;
  262.     if (local->res == MMI_TRUE)
  263.     {
  264.         if (g_callset_context.LineID == LINE1)
  265.         {
  266.             /* 101805 ChangeStatusIconImage Calvin Start */
  267.             /* ChangeStatusIconImage will not call UpdateStatusIcon */
  268.         #if 0
  269. #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ //022505 Calvin added
  270. /* under construction !*/
  271. #else
  272. /* under construction !*/
  273. /* under construction !*/
  274. #endif
  275.         #endif /* 0 */ 
  276.         #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__      /* 022505 Calvin added */
  277.             ChangeStatusIconImage(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L2);
  278.         #else /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  279.             HideStatusIcon(STATUS_ICON_ALTERNATE_LINE_L1);
  280.             ShowStatusIcon(STATUS_ICON_ALTERNATE_LINE_L2);
  281.         #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  282.             /* 101805 ChangeStatusIconImage Calvin End */
  283.             g_callset_context.LineID = LINE2;
  284.             pfnUnicodeStrcpy((S8*) g_callset_context.LineInfo, (S8*) GetString(STR_LSW_LINE2));
  285.         #ifdef __MMI_LINE_SWITCH_SHOW_NUMBER__
  286.             if (pfnUnicodeStrlen((S8*) gDispOwnerNumber[1].name) > 0)
  287.             {
  288.                 AnsiiToUnicodeString((S8*) tempstr, (S8*) ",");
  289.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) tempstr);
  290.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) gDispOwnerNumber[1].name);
  291.             }
  292.             else if (pfnUnicodeStrlen((S8*) gDispOwnerNumber[1].number) > 0)
  293.             {
  294.                 AnsiiToUnicodeString((S8*) tempstr, (S8*) ",");
  295.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) tempstr);
  296.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) gDispOwnerNumber[1].number);
  297.             }
  298.         #endif /* __MMI_LINE_SWITCH_SHOW_NUMBER__ */ 
  299.         }
  300.         else
  301.         {
  302.             /* 101805 ChangeStatusIconImage Calvin Start */
  303.             /* ChangeStatusIconImage will not call UpdateStatusIcon */
  304.         #if 0
  305. #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ //022505 Calvin added
  306. /* under construction !*/
  307. #else
  308. /* under construction !*/
  309. /* under construction !*/
  310. #endif
  311.         #endif /* 0 */ 
  312.         #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__      /* 022505 Calvin added */
  313.             ChangeStatusIconImage(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L1);
  314.         #else /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  315.             HideStatusIcon(STATUS_ICON_ALTERNATE_LINE_L2);
  316.             ShowStatusIcon(STATUS_ICON_ALTERNATE_LINE_L1);
  317.         #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  318.             /* 101805 ChangeStatusIconImage Calvin End */
  319.             g_callset_context.LineID = LINE1;
  320.             pfnUnicodeStrcpy((S8*) g_callset_context.LineInfo, (S8*) GetString(STR_LSW_LINE1));
  321.         #ifdef __MMI_LINE_SWITCH_SHOW_NUMBER__
  322.             if (pfnUnicodeStrlen((S8*) gDispOwnerNumber[0].name) > 0)
  323.             {
  324.                 AnsiiToUnicodeString((S8*) tempstr, (S8*) ",");
  325.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) tempstr);
  326.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) gDispOwnerNumber[0].name);
  327.             }
  328.             else if (pfnUnicodeStrlen((S8*) gDispOwnerNumber[0].number) > 0)
  329.             {
  330.                 AnsiiToUnicodeString((S8*) tempstr, (S8*) ",");
  331.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) tempstr);
  332.                 pfnUnicodeStrcat((S8*) g_callset_context.LineInfo, (S8*) gDispOwnerNumber[0].number);
  333.             }
  334.         #endif /* __MMI_LINE_SWITCH_SHOW_NUMBER__ */ 
  335.         }
  336.         RefreshDisplayOwnerNumber((U8) g_callset_context.LineID);
  337.         /* micha0602 */
  338.         if (GetActiveScreenId() == SCR_ID_CALLSET_MAIN)
  339.         {
  340.             pfnUnicodeStrcpy((S8*) hintData[g_callset_context.LineIDInput], (PS8) g_callset_context.LineInfo);
  341.             Category52ChangeItemDescription(g_callset_context.LineIDInput, (U8*) g_callset_context.LineInfo);
  342.             RedrawCategoryFunction();
  343.             ClearInputEventHandler(MMI_DEVICE_KEY);
  344.             register_fixed_list_keys();
  345. #ifdef __MMI_TOUCH_SCREEN__
  346.             wgui_register_general_pen_handler();
  347. #endif            
  348.             HighlightCALLSETLineSwitch();
  349.         }
  350.         else    /* 101805 ChangeStatusIconImage Calvin add: ChangeStatusIconImage will not call UpdateStatusIcon */
  351.         {
  352.             UpdateStatusIcons();
  353.         }
  354.     }
  355.     else
  356.     {
  357.         ShowCategory2Screen(
  358.             STR_LINE_SET_TITLE,
  359.             IMG_LINE_SET_TITLE,
  360.             STR_GLOBAL_OK,
  361.             IMG_GLOBAL_OK,
  362.             0,
  363.             0,
  364.             STR_LINE1_SET_ERR,
  365.             NULL);
  366.         SetLeftSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
  367.     }
  368.     return;
  369. }
  370. /*****************************************************************************
  371.  * FUNCTION
  372.  *  RefreshDisplayOwnerNumber
  373.  * DESCRIPTION
  374.  *  Owner number associate with Line ID
  375.  * NA
  376.  *  
  377.  * PARAMETERS
  378.  *  lineid      [IN]        
  379.  *  line(?)     [IN]        Id
  380.  * RETURNS
  381.  *  void
  382.  *****************************************************************************/
  383. extern void UI_set_font(UI_font_type f);
  384. void RefreshDisplayOwnerNumber(U8 lineid)
  385. {
  386.     /*----------------------------------------------------------------*/
  387.     /* Local Variables                                                */
  388.     /*----------------------------------------------------------------*/
  389.     U8 idx = 0, iCnt = 0;
  390.     S32 StringWidth, StringHeight;
  391.     stFontAttribute prev_f;
  392.     /*----------------------------------------------------------------*/
  393.     /* Code Body                                                      */
  394.     /*----------------------------------------------------------------*/
  395.     if (lineid == LINE1)
  396.     {
  397.         idx = 0;
  398.     }
  399.     else
  400.     {
  401.         idx = 1;
  402.     }
  403.     memset(gOwnerName, 0, sizeof(gOwnerName));
  404.     if (gDispOwnerNumber[idx].name[0] != 0x0 || gDispOwnerNumber[idx].name[1] != 0x0)   /* not null string */
  405.     {
  406.         iCnt = ((MAX_PB_NAME_LENGTH) > MAX_DISPLAY_CHAR) ? MAX_DISPLAY_CHAR : (MAX_PB_NAME_LENGTH);
  407.         pfnUnicodeStrncpy(gOwnerName, (PS8) gDispOwnerNumber[idx].name, iCnt);
  408.     }
  409.     else if (gDispOwnerNumber[idx].number[0] != 0x0 || gDispOwnerNumber[idx].number[1] != 0x0)  /* not null string */
  410.     {
  411.         iCnt = ((MAX_PB_NUMBER_LENGTH + 1) > MAX_DISPLAY_CHAR) ? MAX_DISPLAY_CHAR : (MAX_PB_NUMBER_LENGTH + 1);
  412.         pfnUnicodeStrncpy(gOwnerName, (PS8) gDispOwnerNumber[idx].number, iCnt);
  413.     }
  414.     memcpy(&prev_f, UI_font, sizeof(stFontAttribute));
  415.     //      UI_set_font(&MMI_default_font); 
  416.     // lisen: to calculate based on the current font size
  417.     UI_set_font(&UI_DEFAULT_FONT);
  418.     for (iCnt = (U8) pfnUnicodeStrlen((PS8) gOwnerName); iCnt > 0; iCnt--)
  419.     {
  420.         Get_StringWidthHeight((U8*) gOwnerName, &StringWidth, &StringHeight);
  421.         /* Add one pixel for border text */
  422.         if ((StringWidth + 1) >= MAIN_LCD_device_width - (ICON_WIDTH << 1))
  423.         {
  424.             gOwnerName[iCnt * ENCODING_LENGTH] = 0x0;
  425.             /* micha0305 */
  426.             gOwnerName[iCnt * ENCODING_LENGTH + 1] = 0x0;
  427.         }
  428.         else
  429.         {
  430.             break;
  431.         }
  432.     }
  433.     UI_set_font(&prev_f);
  434. }
  435. /*****************************************************************************
  436.  * FUNCTION
  437.  *  CALLSETLineInUseRsp
  438.  * DESCRIPTION
  439.  *  response handler to set the line in use
  440.  * NA
  441.  *  
  442.  * PARAMETERS
  443.  *  info        [?]     
  444.  * RETURNS
  445.  *  void
  446.  *****************************************************************************/
  447. void CALLSETLineInUseRsp(void *info)
  448. {
  449.     /*----------------------------------------------------------------*/
  450.     /* Local Variables                                                */
  451.     /*----------------------------------------------------------------*/
  452.     mmi_cphs_display_als_ind_struct *localPtr;
  453.     /*----------------------------------------------------------------*/
  454.     /* Code Body                                                      */
  455.     /*----------------------------------------------------------------*/
  456.     /* check the response struct for set line in use */
  457.     localPtr = (mmi_cphs_display_als_ind_struct*) info;
  458.     if (localPtr->line == LINE1)
  459.     {
  460.         /* update the status icon the menu items */
  461.     #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__      /* 022505 Calvin added */
  462.         if (mmi_bootup_get_active_flight_mode() == 0
  463.     #ifdef __MMI_WLAN_FEATURES__
  464.         && mmi_netset_get_active_preferred_mode() != P_WLAN_ONLY
  465.     #endif /* __MMI_WLAN_FEATURES__ */
  466.         )
  467.         {
  468.             ChangeStatusIconImage(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L1);
  469.             UpdateStatusIcons();    /* 101805 ChangeStatusIconImage Calvin: ChangeStatusIconImage will not call UpdateStatusIcon */
  470.         }
  471.     #else /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  472.         IdleResetStatusIcon(STATUS_ICON_ALTERNATE_LINE_L2);
  473.         IdleSetStatusIcon(STATUS_ICON_ALTERNATE_LINE_L1);
  474.     #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  475.         g_callset_context.LineID = LINE1;
  476.     }
  477.     else
  478.     {
  479.         /* update the status icon the menu items */
  480.     #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__      /* 022505 Calvin added */
  481.         if (mmi_bootup_get_active_flight_mode() == 0
  482.     #ifdef __MMI_WLAN_FEATURES__
  483.         && mmi_netset_get_active_preferred_mode() != P_WLAN_ONLY
  484.     #endif /* __MMI_WLAN_FEATURES__ */
  485.         )
  486.         {
  487.             ChangeStatusIconImage(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L2);
  488.             UpdateStatusIcons();    /* 101805 ChangeStatusIconImage Calvin: ChangeStatusIconImage will not call UpdateStatusIcon */
  489.         }
  490.     #else /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  491.         IdleResetStatusIcon(STATUS_ICON_ALTERNATE_LINE_L1);
  492.         IdleSetStatusIcon(STATUS_ICON_ALTERNATE_LINE_L2);
  493.     #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  494.         g_callset_context.LineID = LINE2;
  495.     }
  496.     /* Owner number associate with Line ID */
  497.     RefreshDisplayOwnerNumber((U8) g_callset_context.LineID);
  498.     return;
  499. }
  500. /* PMT HIMANSHU START 20050625 */
  501. #if defined(__MMI_UI_TECHNO_STATUS_ICON__)
  502. /*****************************************************************************
  503.  * FUNCTION
  504.  *  set_vertical_signal_status_icons
  505.  * DESCRIPTION
  506.  *  
  507.  * PARAMETERS
  508.  *  void
  509.  * RETURNS
  510.  *  void
  511.  *****************************************************************************/
  512. void set_vertical_signal_status_icons(void)
  513. {
  514. #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__
  515.     /*----------------------------------------------------------------*/
  516.     /* Local Variables                                                */
  517.     /*----------------------------------------------------------------*/
  518.     /*----------------------------------------------------------------*/
  519.     /* Code Body                                                      */
  520.     /*----------------------------------------------------------------*/
  521.     if (g_callset_context.LineID == LINE1)
  522.     {
  523.         ChangeStatusIconImageWithoutReArrange(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_IDLE_L1);
  524.     }
  525.     else if (g_callset_context.LineID == LINE2)
  526.     {
  527.         ChangeStatusIconImageWithoutReArrange(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_IDLE_L2);
  528.     }
  529. #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  530. }
  531. /*****************************************************************************
  532.  * FUNCTION
  533.  *  set_horizontal_signal_status_icons
  534.  * DESCRIPTION
  535.  *  
  536.  * PARAMETERS
  537.  *  void
  538.  * RETURNS
  539.  *  void
  540.  *****************************************************************************/
  541. void set_horizontal_signal_status_icons(void)
  542. {
  543. #ifdef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__
  544.     /*----------------------------------------------------------------*/
  545.     /* Local Variables                                                */
  546.     /*----------------------------------------------------------------*/
  547.     /*----------------------------------------------------------------*/
  548.     /* Code Body                                                      */
  549.     /*----------------------------------------------------------------*/
  550.     if (g_callset_context.LineID == LINE1)
  551.     {
  552.         ChangeStatusIconImageWithoutReArrange(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L1);
  553.     }
  554.     else if (g_callset_context.LineID == LINE2)
  555.     {
  556.         ChangeStatusIconImageWithoutReArrange(STATUS_ICON_SIGNAL_STRENGTH, IMG_SI_SIGNAL_STRENGTH_L2);
  557.     }
  558. #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  559. }
  560. #endif /* defined(__MMI_UI_TECHNO_STATUS_ICON__) */ 
  561. /* PMT HIMANSHU END */