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

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) 2006
  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.  * mmi_phnset_dispchar.c
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for Display Characteristic
  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.  * removed!
  67.  *
  68.  * removed!
  69.  * removed!
  70.  * removed!
  71.  *
  72.  * removed!
  73.  * removed!
  74.  * removed!
  75.  *
  76.  *------------------------------------------------------------------------------
  77.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  78.  *============================================================================
  79.  ****************************************************************************/
  80. /***************************************************************************** 
  81. * Include
  82. *****************************************************************************/
  83. /*  Include: MMI header file */
  84. #include "MMI_features.h"
  85. #include "stdC.h"
  86. #include "L4Dr1.h"
  87. #include "PixtelDataTypes.h"
  88. #include "DebugInitDef.h"
  89. #include "NVRAMType.h"
  90. #include "NVRAMProt.h"
  91. #include "NVRAMEnum.h"
  92. #include "PhoneSetup.h"
  93. #include "fmt_def.h"
  94. /***************************************************************************** 
  95. * Global Variable
  96. *****************************************************************************/
  97. extern S8 *idle_screen_wallpaper_name;
  98. /***************************************************************************** 
  99. * Local Variable
  100. *****************************************************************************/
  101. /***************************************************************************** 
  102. * Local Function
  103. *****************************************************************************/
  104. /***************************************************************************** 
  105. * External Function
  106. *****************************************************************************/
  107. /*****************************************************************************
  108.  * FUNCTION
  109.  *  mmi_dispchar_get_img_id
  110.  * DESCRIPTION
  111.  *  To get image id from NVRAM.
  112.  * PARAMETERS
  113.  *  nDataItemId     [IN]        Id in cache short
  114.  *  pBuffer         [?]         
  115.  *  data(?)         [OUT]       Data in cache short
  116.  * RETURNS
  117.  *  void
  118.  *****************************************************************************/
  119. void mmi_dispchar_get_img_id(U8 nDataItemId, U16 *pBuffer)
  120. {
  121.     /*----------------------------------------------------------------*/
  122.     /* Local Variables                                                */
  123.     /*----------------------------------------------------------------*/
  124.     S16 error;
  125.     U16 data;
  126.     /*----------------------------------------------------------------*/
  127.     /* Code Body                                                      */
  128.     /*----------------------------------------------------------------*/
  129.     data = *(U16*) (pBuffer);
  130.     ReadValue(nDataItemId, &data, DS_SHORT, &error);
  131.     switch (nDataItemId)
  132.     {
  133.         case NVRAM_FUNANDGAMES_SETWALLPAPER:
  134.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_WP_START);
  135.             break;
  136.         case RESTORE_DEFAULT_FUNANDGAMES_SETWALLPAPER:
  137.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_WP_START);
  138.             break;
  139.     #ifdef __MMI_SUB_WALLPAPER__
  140.         case NVRAM_SETWALLPAPER_SUB:
  141.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_SUB_WP_START);
  142.             break;
  143.         case RESTORE_DEFAULT_SETWALLPAPER_SUB:
  144.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_SUB_WP_START);
  145.             break;
  146.     #endif /* __MMI_SUB_WALLPAPER__ */                
  147.         case NVRAM_CURRENT_SCREENSVER_ID:
  148.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_SS_START);
  149.             break;
  150.         case RESTORE_DEFAULT_CURRENT_SCREENSVER_ID:
  151.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_SS_START);
  152.             break;
  153.     #ifdef __MMI_POWER_ON_OFF_DISPLAY__
  154.         case NVRAM_RESTORE_POWER_ON_DISPLAY:
  155.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_ON_START);
  156.             break;
  157.         case NVRAM_CURRENT_POWER_ON_DISPLAY:
  158.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_ON_START);
  159.             break;
  160.         case NVRAM_RESTORE_POWER_OFF_DISPLAY:
  161.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_OFF_START);
  162.             break;
  163.         case NVRAM_CURRENT_POWER_OFF_DISPLAY:
  164.             data = (data == 0) ? (data) : (data - 1 + IMG_ID_PHNSET_OFF_START);
  165.             break;
  166.     #endif /* __MMI_POWER_ON_OFF_DISPLAY__ */ 
  167.         default:
  168.             MMI_ASSERT(0);
  169.             break;
  170.     }
  171.     *(U16*) (pBuffer) = data;
  172. }
  173. /*****************************************************************************
  174.  * FUNCTION
  175.  *  mmi_dispchar_set_img_id
  176.  * DESCRIPTION
  177.  *  To set image id to NVRAM.
  178.  * PARAMETERS
  179.  *  nDataItemId     [IN]        Id in cache short
  180.  *  pBuffer         [?]         
  181.  *  data(?)         [IN]        Data in cache short
  182.  * RETURNS
  183.  *  void
  184.  *****************************************************************************/
  185. void mmi_dispchar_set_img_id(U8 nDataItemId, U16 *pBuffer)
  186. {
  187.     /*----------------------------------------------------------------*/
  188.     /* Local Variables                                                */
  189.     /*----------------------------------------------------------------*/
  190.     S16 error;
  191.     U16 data;
  192.     /*----------------------------------------------------------------*/
  193.     /* Code Body                                                      */
  194.     /*----------------------------------------------------------------*/
  195.     data = *(U16*) (pBuffer);
  196.     switch (nDataItemId)
  197.     {
  198.         case NVRAM_FUNANDGAMES_SETWALLPAPER:
  199.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_WP_START + 1);
  200.             break;
  201.         case RESTORE_DEFAULT_FUNANDGAMES_SETWALLPAPER:
  202.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_WP_START + 1);
  203.             break;
  204.     #ifdef __MMI_SUB_WALLPAPER__
  205.         case NVRAM_SETWALLPAPER_SUB:
  206.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_SUB_WP_START + 1);
  207.             break;
  208.         case RESTORE_DEFAULT_SETWALLPAPER_SUB:
  209.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_SUB_WP_START + 1);
  210.             break;
  211.     #endif /* __MMI_SUB_WALLPAPER__ */
  212.         case NVRAM_CURRENT_SCREENSVER_ID:
  213.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_SS_START + 1);
  214.             break;
  215.         case RESTORE_DEFAULT_CURRENT_SCREENSVER_ID:
  216.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_SS_START + 1);
  217.             break;
  218.     #ifdef __MMI_POWER_ON_OFF_DISPLAY__
  219.         case NVRAM_RESTORE_POWER_ON_DISPLAY:
  220.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_ON_START + 1);
  221.             break;
  222.         case NVRAM_CURRENT_POWER_ON_DISPLAY:
  223.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_ON_START + 1);
  224.             break;
  225.         case NVRAM_RESTORE_POWER_OFF_DISPLAY:
  226.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_OFF_START + 1);
  227.             break;
  228.         case NVRAM_CURRENT_POWER_OFF_DISPLAY:
  229.             data = (data == 0) ? (data) : (data - IMG_ID_PHNSET_OFF_START + 1);
  230.             break;
  231.     #endif /* __MMI_POWER_ON_OFF_DISPLAY__ */ 
  232.         default:
  233.             MMI_ASSERT(0);
  234.             break;
  235.     }
  236.     WriteValue(nDataItemId, &data, DS_SHORT, &error);
  237. }
  238. /*****************************************************************************
  239.  * FUNCTION
  240.  *  dispchar_iswp_swflash
  241.  * DESCRIPTION
  242.  *  To check if wallpaper is a swflash.
  243.  * PARAMETERS
  244.  *  nDataItemId     [IN]        Id in cache short
  245.  *  pBuffer         [?]         
  246.  *  data(?)         [IN]        Data in cache short
  247.  * RETURNS
  248.  *  void
  249.  *****************************************************************************/
  250. #ifdef __MMI_SWFLASH__
  251. MMI_BOOL dispchar_iswp_swflash(void)
  252. {
  253.     PHNSET_TYPE_DISP type = PhnsetGetDisplayType(PhnsetGetCurWallPaperIdx());
  254.         
  255. if ( type == PHNSET_TYPE_DISP_SWFLASH ||
  256.     (type == PHNSET_TYPE_DISP_USER && idle_screen_wallpaper_name && mmi_fmgr_get_file_group(idle_screen_wallpaper_name) == FMGR_GROUP_SWFLASH))
  257.     return MMI_TRUE;
  258.     else
  259.         return MMI_FALSE;
  260. }
  261. #endif /* __MMI_SWFLASH__ */