⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phonebookmain.c

📁 mtk 6225平台下电话本的主要实现
💻 C
📖 第 1 页 / 共 5 页
字号:
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 *
 *
 * removed!
 * removed!
 *
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
#include "MMI_include.h"
#ifndef _PHONEBOOKMAIN_C
#define _PHONEBOOKMAIN_C

#include "ProtocolEvents.h"
#include "wgui_status_icons.h"
#include "PhonebookDef.h"
#include "PhoneBookTypes.h"
#include "PhonebookProt.h"
#include "PhonebookGprot.h"
#include "mainmenudef.h"
#include "IdleAppDef.h"
#include "SpeedDial.h"
#include "IdleAppDef.h"
#include "IdleAppProt.h"
#include "CommonScreens.h"
#include "SettingGprots.h"
#include "gpioInc.h"
#include "CommonScreens.h"
#include "SettingDefs.h"        /* For FDN on Message */
#include "SettingsGdcl.h"
#include "custom_equipment.h"
#include "nvram_data_items.h"
#include "GSM7BitDefaultAlphabet.h"
#if defined(__MMI_PHB_UPDATE_CALL_LOG_AFTER_SAVE__)     /* Update Call Log after save number */
#include "CallHistoryGProts.h"
#endif 
#if defined(__MMI_FILE_MANAGER__)
#endif

#ifdef __J2ME__
#include "j2me_custom_option.h"
#endif
#if defined(SUPPORT_JSR_75_PIM) || defined(SUPPORT_CMCC)
#include "PhoneBookJavaHandler.h"
#endif 

#if defined(__MMI_INTELLIGENT_CALL_ALERT__)
#include "ProfileGprots.h"
#endif 
#include "CallManagementGprot.h"

#if defined(__MMI_VRSI__)
#include "Mdi_datatype.h"
#include "VRSIResDef.h"
#include "VRSIType.h"
#include "VRSIProt.h"
#endif /* defined(__MMI_VRSI__) */ 

#ifdef __MMI_DSM__
#include "mrporting.h"
#include "mmidsmmain.h"
#include "mmidsmphone.h"
#endif
#if !defined(__MMI_KEYPADLOCK_WITH_KEYTONE__)
#endif 

#include "PictureEditorDefs.h"
#include "SimDetectionGprot.h"

#ifdef __MMI_VOIP__
#include "VoIPGProt.h"
#endif

#ifdef __SYNCML_SUPPORT__
#include "SyncMLDef.h"
#include "SyncMLGprot.h"
#endif /* __SYNCML_SUPPORT__ */

#ifdef __USB_IN_NORMAL_MODE__ 
#include "USBDeviceGprot.h"
#endif /* __USB_IN_NORMAL_MODE__ */

#ifdef __MMI_WLAN_FEATURES__
#include "NetworkSetupDefs.h"
#endif

#ifdef __MMI_DUAL_SIM_MASTER__
#include "MTPNP_PFAL_Master_ADN.h"
#include "MTPNP_AD_resdef.h"
#include "MTPNP_PFAL_CC.h"
#endif	/* __MMI_DUAL_SIM_MASTER__ */
#include "MessagesResourceData.h"
#if defined(__SLT_ENHANCED_IP_PROMPT_CANNOT_DIAL__)     //qiusheng 20050120 for GN528,add "deactive " in ip number option menu
#include "CallSetUpEnum.h"
#include "CallSetUp.h"
extern U8 IPSetting;
extern U8 IPNumber[MAX_IP_NUMBER][(MAX_IP_NUMBER_LEN+1)*ENCODING_LENGTH];
extern void PrompIPNumberDialError(void);
#endif
#ifdef __SLT_MMI_DUAL_SIM_MASTER__  //jean,080326,forbug2096
#include "SimDetectionDef.h"
#include "SettingResDef.h"
#include "UCMResDef.h"   //080409
#endif
/*
 * Local Variable
 */
static PHB_OPTIONAL_IDS_STRUCT g_phb_optional_ids;
static PHB_CALLER_GROUP_STRUCT g_phb_caller_group[MAX_PB_CALLER_GROUPS];

#ifdef __MMI_PHB_USIM_FIELD__
static MMI_PHB_NAME_STRUCT g_phb_usim_group[MAX_PB_USIM_GROUPS];
#endif 

static U16 g_phb_message;
static U16 g_phb_message_icon;
static U16 g_phb_alpha_index_list[ALPHA_LIST_LENGTH];
static U16 g_phb_highlight_alpha;

#if defined(__MMI_VOIP__)
static U8 phb_voip_number_index = 0xff;
#endif 

#if defined(__MMI_PHB_NAME_LIST_FILTER__)
static U32 g_phb_list_index_total;
#endif /* defined(__MMI_PHB_NAME_LIST_FILTER__) */

mmi_phb_context_struct g_phb_cntx;

U16 PhoneBookEntryCount;
 #ifdef __SLT_MMI_PHB_BUG3693__
  BOOL  ReadPbflag = TRUE; //tjx
	#endif

#if (MAX_PB_ENTRIES)
U16 g_phb_name_index[MAX_PB_ENTRIES];   /* Sorting Order by Name Field. */
MMI_PHB_ENTRY_BCD_STRUCT PhoneBook[MAX_PB_ENTRIES];

#if (MAX_PB_ENTRIES >= 1000)
U16 g_phb_list_filter[MAX_PB_ENTRIES];
#endif /* MAX_PB_ENTRIES >= 1000 */
#else /* (MAX_PB_ENTRIES) */ 
U16 g_phb_name_index[1];    /* Sorting Order by Name Field. */
MMI_PHB_ENTRY_BCD_STRUCT PhoneBook[1];
#endif /* (MAX_PB_ENTRIES) */ 

#ifdef __MMI_PHB_USIM_FIELD__
MMI_PHB_EMAIL_STRUCT phb_email[MAX_PB_SIM_ENTRIES];
MMI_PHB_NUMBER_BCD_STRUCT phb_anr[MAX_PB_SIM_ENTRIES][3];
#endif /* __MMI_PHB_USIM_FIELD__ */ 

#if !defined(__MMI_PHB_NO_OPTIONAL_FIELD__) || defined(__MMI_PHB_USIM_FIELD__)
PHB_OPTIONAL_FIELDS_STRUCT PhoneBookOptionalFields;
#endif 
MMI_PHB_LOOKUP_NODE_STRUCT LookUpTable[MAX_LOOKUP_TABLE_COUNT];

#ifdef __MTK_TARGET__
__align(2)
#endif
S8 pbName[(MAX_PB_NAME_LENGTH + 1) * ENCODING_LENGTH];
#ifdef __MMI_T_FLASH_STORE_SUPPORT__
S8 pbLastName[(MAX_PB_NAME_LENGTH + 1) * ENCODING_LENGTH];
#endif
#ifdef __MTK_TARGET__
__align(2)
#endif
S8 pbNumber[(MAX_PB_NUMBER_LENGTH+1+1)*ENCODING_LENGTH];
#if !defined(__MMI_PHB_NO_OPTIONAL_FIELD__) || defined(__MMI_PHB_USIM_FIELD__)
S8 pbHomeNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) * ENCODING_LENGTH];      /* ANRA */
S8 pbCompanyName[(MAX_PB_COMPANY_LENGTH + 1) * ENCODING_LENGTH];        /* ANRB */
S8 pbEmailAddress[(MAX_PB_EMAIL_LENGTH + 1) * ENCODING_LENGTH];
S8 pbOfficeNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) * ENCODING_LENGTH];
S8 pbFaxNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) * ENCODING_LENGTH];       /* ANRC */
#endif /* !defined(__MMI_PHB_NO_OPTIONAL_FIELD__) || defined(__MMI_PHB_USIM_FIELD__) */

#if defined(__MMI_PHB_BIRTHDAY_FIELD__)
S8 pbBday[12 * ENCODING_LENGTH];    /* Use for display total sstring, Format: xxxx/xx/xx */
S8 pbDay[3 * ENCODING_LENGTH];
S8 pbMon[3 * ENCODING_LENGTH];
S8 pbYear[6 * ENCODING_LENGTH];
#endif /* defined(__MMI_PHB_BIRTHDAY_FIELD__) */ 
#if defined(__MMI_PHB_INFO_FIELD__)
PHB_INFO_FIELDS_STRUCT PhoneBookInfoFields;
S8 pbTitle[(MAX_PB_TITLE_LENGTH + 1) * ENCODING_LENGTH];
S8 pbUrl[(MAX_PB_URL_LENGTH + 1) * ENCODING_LENGTH];
S8 pbAddress[(MAX_PB_ADDRESS_LENGTH + 1) * ENCODING_LENGTH];
S8 pbNote[(MAX_PB_NOTE_LENGTH + 1) * ENCODING_LENGTH];
#endif /* defined(__MMI_PHB_INFO_FIELD__) */ 

#if defined(__MMI_PHB_IMPS_FIELD__)
S8 PhoneBookImpsField[MAX_PB_IMPS_LENGTH + 1];
S8 pbImps[(MAX_PB_IMPS_LENGTH + 1) * ENCODING_LENGTH];
#endif /* defined(__MMI_PHB_IMPS_FIELD__) */ 

#if defined(__MMI_VOIP__)
S8 PhoneBookVoipField[VOIP_URI_LEN];
S8 pbVoip[(VOIP_URI_LEN) * ENCODING_LENGTH];
#endif /* defined(__MMI_VOIP__) */ 

#ifdef __MMI_PHB_USIM_FIELD__
S8 pbNickName[(MAX_PB_NAME_LENGTH + 1) * ENCODING_LENGTH];
#endif 

U8 gPictureItemIndex = 10;
U16 TitleStrings[MAX_PB_FIELDS];

#ifdef __MMI_INTELLIGENT_CALL_ALERT__
U8 g_phb_is_speaking_name = 0;
#endif 

#ifdef __SLT_MMI_MULTIGSM_PHONEBOOK_TWO_SEND_KEY__
U16  sendkey=KEY_SEND_MAIN;
#endif

#ifdef __SLT_MMI_SMS_NEW_SMS_STRUCTURE__
BOOL MMI_PHB_SELECTED_FLAG=FALSE;
U8 g_phb_isselected[MAX_PB_ENTRIES];
FuncPtr lskfuncptr=NULL, mskfuncptr=NULL;
U16 lskstr=0,lskimg=0;
#endif

/*
 * Global Variable
 */
extern MMI_PHB_LIST_VIEW phbListView;
extern wgui_inline_item wgui_inline_items[];
extern BOOL r2lMMIFlag; /* For right to left language */
extern U16 g_phb_read_index;

extern BOOL g_phb_mass_op_success;  /* for sim refresh */
extern U16 g_phb_mass_op_count;

extern U8 g_phb_enter_from;

#ifdef __SLT_MMI_MULTIGSM_PHONEBOOK_TWO_SEND_KEY__
extern U8 gwhichSim ;  //for  select  sim1, sim2
#endif
/*
 * Global Function
 */
extern void MakeCall(PS8);
extern void set_wgui_inline_list_menu_changed(void);

#if defined(__IP_NUMBER__)
extern void SetTempUseIPNumber(pBOOL flag);
#endif 
#if defined(__MMI_PHB_CALLERGROUP_IN_SIM__)
static U8 g_phb_sim_check;
#ifdef __GEMINI__
extern kal_bool is_sim_replaced(kal_uint8 simInterface);
#else /* __GEMINI__ */
extern kal_bool is_sim_replaced(void);
#endif /* __GEMINI__ */
#endif /* defined(__MMI_PHB_CALLERGROUP_IN_SIM__) */ 

#if defined(__MMI_FILE_MANAGER__)
extern void Cat212ShortCutHdlr(S32 item_index); /* For Image List Fast Jump */
#endif 

#ifdef __MMI_GEMINI__   //only for sim2 old interface
extern pBOOL mmi_bootup_get_active_flight_mode1(void);   //only for sim1
extern pBOOL mmi_bootup_get_active_flight_mode2(void);  //only for sim2
#endif

/*
 * Static Function
 */
#ifdef __MMI_PHB_TWO_LINE_MENUITEM_DISPLAY__
static void mmi_phb_two_line_send_key_handler(void);
#endif 
#ifdef __SLT_MMI_VIP_PHB__
#include "VIP_PhoneBookTypes.h"
#include "Vip_res_data.h"
#include "SimDetectionDef.h"
extern U16 mmi_vip_phb_member_get_index(U8 list_enum, U16 item_index);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -