MTK每日总结2

 

2009-11-17

(1)

NVRAM_EF_SYS_CACHE_OCTET_DEFAULT->11->控制模式设置

(2)模式设置

MTPNP_AD_Set_Card1Status( ) ->模式设置中设置SIM1模式

MTPNP_AD_Set_Card2Status( ) ->模式设置中设置SIM2模式

MTPNP_AD_Get_Card1Status( ) ->模式设置中获取SIM1当前模式

MTPNP_AD_Get_Card2Status( ) ->模式设置中获取SIM2当前模式

例如,判断模式设置中, SIM1是否设置有效

 If(MTPNP_AD_Get_Card1Status( )= = MTPNP_AD_SIMCARD_ABSENT)

MTPNP_AD_Get_UsableSide( ) -> 获取当前的模式设置有效值

例如,if( MTPNP_AD_Get_UsableSide() = =MTPNP_AD_DUALSIM_USABLE)

(4)开机步骤检查函数,

大多以mmi_bootup_is_XXX开头,例如

mmi_bootup_is_before_power_on(void)

mmi_bootup_is_in_security_check(void);

mmi_bootup_is_sim_valid(void);

(5)重画电话本快速搜索界面:RedrawCategoryControlledArea200Screen

(6)缺省的开机设定值default_power_saving_cnxt[]

包括背光亮度和时间,开关机音量,音视频音量,通话音量和按键音量

2009-11-18

(1)

紧急拨号号码EmergencyNumber[]

入口函数EntryScrEmergencyCallDialing( )

(2)

VGAVideo Graphic Array,即显示绘图阵列。支持最高分辨率640X480,同时显示16种色彩或256种灰度,在320X240分辨率下可以同时显示256种颜色.

QVGAQuarter VGA VGA4分之一尺寸。就是在液晶屏幕上输出的分辨率是320x240像素。

CIF:(common intermediate format)是常用的标准化图像格式。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。CIF = 352×288像素

QCIF:quarter CIF 分辨率为:176x144

(3)字库

&Pluto_Small,&Pluto_Medium,&Pluto_Large,&alpha_sublcd,&alpha_dialling, &virtual_keyboard

小,中,大,子屏,拨号,虚拟键盘

MTK的字库文件包括*.h的字库,和fontres.c的配置文件

(4)输入法

输入法列表MMI_implement_input_mode_set[]

wgui_input.c中添加该语言的大小写键盘映射,对已ACSII的前256位应该可以用ASCII(两者应该相同),其他的写对应的unicode码。

2009-11-20

(1)主题中,用图片替换颜色

#if defined(__RICHVIEW_MMI_SUB_MENU_BG_USE_IMG__)

UI_FILLED_AREA_TYPE_BITMAP, /*用图片*/

(UI_image_type) __MAINLCD__SUBMENU__SB_BG_GIF,//用全路径来指定图片

#else

UI_FILLED_AREA_TYPE_COLOR, /*用颜色*/

UI_IMAGE_ID_NULL, /*或者用(U8*)NULL*/

#endif

ADD_APPLICATION_IMAGE2 (IMG_SUBMENU_SB_BG, CUST_IMG_PATH"\\\\MainLCD\\\\SubMenu\\\\SB_BG.gif"," SB_BG.gif ");

(2)待机界面

ShowCategory33Screen_ext( );

状态栏

show_status_icons( );

wgui_status_icon_show_status_icons( );

wgui_status_icon_refresh_fixed_status_icon( );//状态栏刷新函数

show_title_status_icon( );

快捷方式

RegisterIdleShortcutsKeyHandlers();

SetKeyHandler(EntryIdleShortcutScreen, KEY_ENTER,KEY_EVENT_UP);

wgui_cat033_display_shortcut_item( );

wgui_cat033_display_shortcut( );

wgui_cat033_setup_shortcut( );

网络名称

wgui_cat033_show_details( );

wgui_cat033_show_network_name( );

wgui_cat033_show_network_name2( );

日期和时间

show_main_LCD_date_time( );

ShowBlackBerryTime();//wgui_clock_show_main_lcd();

画墙纸

draw_wallpaper( );

2009-11-21

(1)主菜单

category14_matrix[]//主菜单控件

coordinate_set14_Matrix[]//主菜单控件坐标

gui_show_fixed_matrix_menu( )//画主菜单

standard_animated_matrix_highlight_handler_full_background( )//画动态菜单高亮菜单项

CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH//主菜单选中图片宽度

CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT//主菜单选中图片高度

MAIN_MENU_TITLE_BG_HEIGHT//主菜单title背景高度

MAIN_MENU_ANIMATION_WIDTH//主菜单动画图片宽度

MAIN_MENU_ANIMATION_HEIGHT//主菜单动画图片高度

MAIN_MENU_BG_X//主菜单背景X坐标

MAIN_MENU_BG_Y //主菜单背景Y坐标

gMainMenuAnimationPos[][]//主菜单各个图片坐标

DrawCatMainMenuCat14ControlledArea( )//主菜单中画title的函数

(2)修改useragent账户

NVRAM_EF_INET_CUSTPACK_DEFAULT[]

(3)title

draw_title( ) //title

gui_title_oem_show_normal( ) //title

draw_matrix_style_title( )//画主菜单

gui_title_oem_show_background( )//title背景

MMI_CONTENT_HEIGHT//菜单部分高度

MMI_TITLE_X//title的横坐标

MMI_TITLE_WIDTH//title坐标的宽度

MMI_CONTENT_X//菜单起点坐标横坐标

MMI_CONTENT_Y//菜单起点坐标纵坐标

(4)信号栏

MASTER_SIGINAL_X//SIM卡信号条横坐标

SLAVE_SIGINAL_X//SIM卡信号条横坐标

BATTERY_SIGINAL_X//电池信号条横坐标

SIGINAL_ICON_WIDTH//信号条的宽度(宽度)

wgui_status_icon_refresh_fixed_status_icon( )//信号条图片的刷新函数

wgui_status_icon_redraw_status_icon_bar( )//信号栏刷新函数

status_icon_draw_background( )//画信号栏背景函数

wgui_status_icon_show_status_icons( )//画信号栏函数

(5)定义屏的大小

LCD_WIDTH//定义屏的宽度

LCD_HEIGHT//定义屏的高度

(6)memory大小

SWFLASH_MEM_SIZE

2009-11-24

const RangeDetails STMing_16_r_RangeInfo={

3913, //nNoOfRanges ------------------偏移量的范围

STMing_16_r_RangeData //RangeData ----------数组里面包含字符的起始位置

};

sCustFontData Pluto_ch = {

16, //字符高度

16, //字符宽度

1, //字符之间的间距

32, //每个字符占据的宽度

500,//最大字符数是做什么用?

 

(U8*)NULL, //数组宽度为什么位空?

(U32*)NULL, //数组偏移为什么位空?

(U8*)STMing_16_r_Data, //该数组大小为522752,里面是字符的数据

(U32*)STMing_16_r_RangeOffset,//数组大小为3913pRange为字符的偏移量

{字体},//这个是字符的类型

&STMing_16_r_RangeInfo//这个包含个数3913,和//RangeData数组里面包含字符的起始位置

};

2009-11-26

(1)输入法图标相关部分

typedef struct

{

    U8 display_flag;//显示的位置

    U8 hint_type;//图片或者字串

    U16 hint_id; //图片或者字串的ID

}mmi_imm_input_mode_hint_item_struct,

mmi_imm_get_curr_input_mode_hint_info( )//获取当前的输入法

mmi_imc_pen_vk_icon_display_callback( )//画当前输入法图标(字串)

(2)不同语言键盘映射的修改

2009-12-2

状态栏: IMG_STATUS_BAR

标题栏:

IMG_TITLEBAR_BG

MAIN_MENU_PAGE_TITLE_BG// __MMI_MAINMENU_PAGE_SUPPORT__

MAIN_MENU_LIST_TITLE_BG// __MMI_MAINMENU_LIST_SUPPORT__

MAIN_MENU_MATRIX_TITLE_BG//主菜单

IMG_SUBMENU_TB_BG//二级菜单

Softkey:

IMG_SOFTKEY_BAR

MAIN_MENU_MATRIX_SOFTKEY_BG

2009-12-4

 (1)查找问题步骤

字符串à菜单àEnter函数(Show函数和按键注册函数) àShowCategories***Screen函数à查询Categories***[ ]coordinate_set***[ ] (看包括哪些控件和控件坐标) àdm_setup_and_draw_***( )(每个控件的绘画函数) à跟踪具体的GUI/GDI函数

2009-12-9

(1)修改默认最大GPRS个数,需要改动

nvram_meta_abm_gprs_profile_struct//GPRSnvram结构定义

NVRAM_EF_ABM_GPRS_PROFILE_TOTAL

NVRAM_EF_ABM_PS_PROFILE_DEFAULT[ ]

MAX_GPRS_PROFILE_NUM//最大的nvram数组个数

 

(2) 修改MSN默认的GPRS

DSM_GPRS_ACCOUNT_NO//MSN默认的GPRS

UNET_APN_AL_MAX_APN_NUM//最多支持不同apn通道同存的数目

2009-12-10

#define  FACTORY_RESTORE_DEFAULT_AUDPLY_VOLUME  15/* AUDIOPLAYER默认改为最大*/

#define  FACTORY_RESTORE_DEFAULT_FMRDO_VOLUME  6 /* FM默认改为最大*/

2009-12-14UNET_APN_PROFILE_NAME:MSNgprs名称

2009-12-15

一 文件Common_nvram_editor_data_item.h

(1) 添加结构体,例如:

#ifdef __MMI_MESSAGES_TEMPLATE__

typedef struct

{

    kal_char smsTemplate[NVRAM_SMS_TEMPL_RECORD_SIZE];

} nvram_sms_struct;

#endif /* __MMI_MESSAGES_TEMPLATE__ */

(2) 添加 VER_LID

#ifdef __MMI_MESSAGES_TEMPLATE__

     LID_BIT VER_LID(NVRAM_EF_SMS_LID)

     nvram_sms_struct *NVRAM_SMS_RECORD_TOTAL

     {

         smsTemplate:"SMS Template"

         {

         };

     };

 #endif /* __MMI_MESSAGES_TEMPLATE__ */

 

二 文件 Nvram_common_config.c

#ifdef __MMI_MESSAGES_TEMPLATE__

       ,{

              NVRAM_EF_SMS_LID, //

              NVRAM_SMS_TEMPL_RECORD_SIZE,//

              NVRAM_SMS_RECORD_TOTAL,//

              NVRAM_EF_ZERO_DEFAULT,//

              NVRAM_ATTR_AVERAGE,//

              NVRAM_CATEGORY_USER | NVRAM_CATEGORY_SHADOW | NVRAM_CATEGORY_FACTORY,

              "MP0v",//

              VER(NVRAM_EF_SMS_LID),//

              "SMS\0",//

              NVRAM_RESERVED_VALUE

       }

#endif/*__MMI_MESSAGES_TEMPLATE__*/

 

三 文件Nvram_common_defs.h

(1) nvram_lid_commapp_enum中定义NVRAM_EF_SMS_LID

(2) 定义NVRAMSIZETOTAL

#ifdef __MMI_MESSAGES_TEMPLATE__

//#define NVRAM_SMS_TEMPL_RECORD_SIZE    84

#define NVRAM_SMS_TEMPL_RECORD_SIZE    120

#if defined(__RBTEL_MMI_SMS_MULTILANG_TEMPLATE__)    //wenshulong,20071115

#define NVRAM_SMS_RECORD_TOTAL         151

#else

#define NVRAM_SMS_RECORD_TOTAL         31

#endif

#endif /* __MMI_MESSAGES_TEMPLATE__ */

 

四 NVRAM值和对应的全局变量的值交换

(1) 全局变量初始化

ReadRecord()ànvram值给全局变量

(2) WriteRecord()à将全局变量的值改变传给NVRAM

 

五 nvram 读写函数

#define WriteRecord(

nFileId,//NVRAM LID 标号

nRecordId,///写其中的第几项

pBuffer, //全局变量地址

nBufferSize,//每次读写的大小

pError)

 

#define ReadRecord (

nFileId, //NVRAM LID 标号

nRecordId, ///写其中的第几项

pBuffer, //全局变量地址

nBufferSize, //每次读写的大小

pError)

 

2009-12-16

(1)dm_register_vkpad_callback( )//虚拟键盘的回调函数

(2) 虚拟键盘

2009-12-18

(1)编译modis常关特性

ANALOG_TV_CHIP     = NONE

FM_RADIO_WITH_TV_CHIP = FALSE

SUPPORT_MAGIC_SOUND = TRUE

第三方的SP

INPUT_METHOD        =    NONE

MOTION_SENSOR_SUPPORT = NONE

MANUAL_TEST     = FALSE   #手动测试

FM_AUTO_CHARGER_TST_SUPPORT = FALSE        #充电测试

IS_FLASHLIGHT_EXIST =FALSE            #照相闪光灯

DUAL_TFLASH = FALSE                  #T-Flash

IS_SINGLE_ELECTRIC_TORCH_EXIST =FALSE          #手电筒和闪光灯用不同LED

IS_FLASH_ELECTRIC_TORCH_EXIST =FLASE       #手电筒和闪光灯用同一颗LED

 

PHB_SIM_ENTRY       =     100  # Phonebook Entry Number in SIM: 100, 200

PHB_PHONE_ENTRY  =     300  #500 # Phonebook Entry Number in NVRAM: 100, 200

PHB_LN_ENTRY  =     20    # Call log; Last Number Entry Number: 10, 20, 50

TOUCH_PANEL_SUPPORT     = NONE

RF_MODULE         =  MT6139_CUSTOM 

INPUT_METHOD        = MMI_CSTAR_V2_DEMO

(2) MMI_multiline_inputbox

2009-12-19

(1)对号图标

CK_V.gif

(2)显示上午(AM图片),下午

ShowAmPm( )

实时的显示时间的函数

ShowNumPicStr2( )

(3)拨号界面的绘画

DrawCate16CategoryControlArea2( );

ShowCategory16Screen( );

(4) 视频录像播放时,关闭状态栏

__VDOREC_FEATURE_SHOW_STATUS_BAR__

(5)中间件功能

__MMI_WGUI_CSK_ENABLE__

(3)模拟时钟作为墙纸

PhnsetConstSysWallpaperList( )

(4)短信

MMI_multiline_inputbox

MMI_multiline_inputbox.normal_text_color//短信字体颜色

(5)搜网界面

SCR_ID_SAT_WAITSCREEN

(6)主菜单高亮

main_menu_custom_highlight_handler( );

(7)时钟显示

gui_clock_show_analog_clock_dial( );

(8)来电界面

mmi_ucm_entry_incoming_call( );

(9)日历

ORGANIZER_CALENDER_MENU

ClndrPreEntryApp( );

2009-12-21

主菜单快捷方式

gShctCandList[ ]

2009-12-25

(1)设置系统初始值时间

DEFAULT_HARDWARE_YEAR

DRV_POWERON( )

#define AUD_TIMER_PERIOD 2000

(2)手机插入电脑界面

EntryUsbDetectQueryScr( )

(3)时间显示函数

void update_mainlcd_dt_display(void);

void update_sublcd_dt_display(void);

void show_main_LCD_dt_display(void);

void show_sub_LCD_dt_display(void);

(4)模式设置

void EntryFlightModeIdleScreen(void) // Entry idle screen in flight mode

MTPNP_PFAL_Rearrange_StatusBar( )//不同卡的模式下SIM卡栏目更新

(5)音乐播放格式

if (MR_SOUND_MIDI == type)

              format = MDI_FORMAT_SMF;

       else if (MR_SOUND_MP3 == type)

              format = MDI_FORMAT_DAF;

       else if (MR_SOUND_WAV == type)

              format = MDI_FORMAT_WAV;

       else if(MR_SOUND_PCM == type)

              format = MDI_FORMAT_PCM_8K;

       else if(MR_SOUND_M4A == type)

              format = MDI_FORMAT_M4A;

       else if(MR_SOUND_AMR == type)

              format = MDI_FORMAT_AMR;

       else if(MR_SOUND_AMR_WB == type)

              format = MDI_FORMAT_AMR_WB;

       else

              format = MDI_NO_OF_FORMAT;

(6)修改滚动文字

gui_redraw_scrolling_text( );

(7)自动测试死机的问题

FM_Autotest_Stop_Test( )

(8)菜单快捷方式

gui_shortcut_show( )

2009-12-28

(1)开机界面

SCR_CHARGER_POWER_ON

(2)关机界面

SCR_CHARGING_COMPLETE

2009-12-29

(1)显示USB界面

ShowUsbScr( )

(2)TITLE滚动显示

gui_title_show_scrolling( )

gui_title_oem_show_normal( )

gui_title_show( )// TITLE显示

wgui_title_set_no_icon_shct( )// TITLE菜单指示数字

2009-12-30

(1)

mmi_ime_word_code_to_symbol( )

(2)编模拟器

关掉SP,motion_sensor,电视,打开收音机

2009-12-30

(1)title

画非滚动title:

S32 gui_title_oem_show_normal(gui_title_struct *t, U32 part),在该函数里,先画一遍背景,再画ICON,再画TEXT。如果信号强度图片和电池电量图片不占用title层,则MMI_TITLE_X=0MMI_TITLE_WIDTH=MAIN_LCD_DEVICE_WIDTH;如果不是则MMI_TITLE_X要右移,MMI_TITLE_WIDTH<IN_LCD_DEVICE_WIDTH.

如果不想画title的数字快捷方式,则把函数gui_title_set_no_icon_shct( )置成FALSE

如果出现标题重叠,应该是没有画背景;如果显示不全,很可能是剪切区域重叠。

(2)pop

CFG_UI_POP_UP_DIALOG_X, CFG_UI_POP_UP_DIALOG_Y , CFG_UI_POP_UP_DIALOG_WIDTH , CFG_UI_POP_UP_DIALOG_HEIGHT 定义了pop框的起始位置和大小。其中文字pop框里的文字显示在dm_setup_and_draw_multiline_inputbox( )函数,通过设置一块剪切区域,然后画上要显示的字符串。其中文字pop框里的图片显示在dm_setup_and_draw_image ( )函数,通过设置一块剪切区域,然后画上居中画上图片。如果文字显示不全,可能是文字剪切区域不够大或者文字剪切区域和图片剪切区域重叠,导致文字被盖。如果图片显示不全,可能是图片的剪切区域比图片本身要小。

2009-12-31

(1)status_icons

在数组MMI_status_icons[MAX_STATUS_ICONS]里面,定义了每个状态栏图片的默认大小和图片名称,wgui_status_icon_arrange_status_icons( )函数计算每个状态栏图片的默认位置,其中主卡信号图片和电池电量图片采用时默认值。wgui_status_icon_show_status_icons( )函数先把要画的图标画一层背景,然后画出改图标。wgui_status_icon_show_status_icon_bar(status_bar_ID )显示画该status_bar.

(2)显示时间—>控件

时间显示类型显示在DT_DISPLAY_TYPE[ ]枚举变量中,在每个SHOW_SCREEN里面,通过set_dt_display( )函数设置要显示的时间界面类型,然后通过函数show_main_LCD_dt_display( )函数画出时间。

(3) IsChineseSet( )//检测当前语言是否是中文

2010-1-12

register_fixed_matrix_loop_keys( );//定义菜单上下左右定义

SetupCategoryKeyHandlers( );//定义缺省的左右键的按键定义

mmi_nmgr_ctrl_tbl[ ] //提醒数组

2010-2-26

gui_EMS_input_box_insert_character //输入区插入单个字符

gui_draw_ems_single_character //输入区画单个字符

2010-3-11

话机设置输入法

void mmi_ime_set_ime_by_lang(U8* lang_contry_code)//输入法过滤主函数

HintPhnsetPreferedInputMethod//HINT函数

EntryScrPreferedInputMethodList//预设输入法主界面

SelectInputMethodHandler//左键设置输入法函数

PhnsetLangLSKHandler//设置语言界面

菜单滚动显示

gui_fixed_icontext_list_menuitem_start_scroll

菜单显示

gui_show_fixed_icontext_list_menuitem

菜单双行显示

gui_show_fixed_icontext_list_menuitem_263screen_two_line

输入法关联字显示区域

mmi_imui_update_selection_area

 

inline菜单高亮函数调用关系(从上到下的调用关系)

inline_text_edit_handle_down_arrow

inline_fixed_list_goto_next_item

gui_fixed_list_menu_switch_highlighted_item

Cat57HighlightHandler

wgui_inline_edit_default_list_highlight_handler

gui_fixed_list_menu_goto_next_item

gui_fixed_list_menu_switch_highlighted_item

gui_highlight_fixed_icontext_menuitem

 

inline菜单类型

#define INLINE_ITEM_TYPE_MASK                   0x000000FF

#define INLINE_ITEM_TYPE_CAPTION                0x00000001

#define INLINE_ITEM_TYPE_DISPLAY_ONLY           0x00000002

#define INLINE_ITEM_TYPE_TEXT_EDIT              0x00000003

#define INLINE_ITEM_TYPE_FULL_SCREEN_EDIT       0x00000004

#define INLINE_ITEM_TYPE_SELECT                 0x00000005

#define INLINE_ITEM_TYPE_USER_DEFINED_SELECT    0x00000006

#define INLINE_ITEM_TYPE_DATE                   0x00000007

#define INLINE_ITEM_TYPE_TIME                   0x00000008

#define INLINE_ITEM_TYPE_TIME_PERIOD            0x00000009

#define INLINE_ITEM_TYPE_DOW_SELECT             0x0000000A

#define INLINE_ITEM_TYPE_IP4_EDIT               0x0000000B

当前菜单项内容

GUI_current_fixed_icontext_menuitem_data

菜单中断显示,不滚动显示

UI_MENUITEM_TRUNCATE_CONTENT

2010-3-17

//闹钟界面日历显示

show_DOW_select( )

//日历界面日期显示

mmi_clndr_get_weekday( )

MTK调试基本标志量

current_fixed_list_menuitem_display_index == -1//表示为高亮菜单

MMI_fixed_list_menu.highlighted_item //高亮菜单项

MMI_fixed_list_menu.item_display_function//当前菜单的显示函数

wgui_inline_items[MMI_fixed_list_menu.highlighted_item].handler//inline高亮菜单处理函数

 

MTK调试基本函数

gui_list_show_text()//显示列表菜单文字

gui_show_fixed_icontext_menuitem( )//显示菜单项

gdi_image_codec_draw( )//画图函数

handle_inline_item_location()// //inline菜单处理函数

mmi_frm_execute_curr_key_handler_int ( )

MTK调试关键词

Mmi_current

Gui_show

Gui_set

Gui_draw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值