📄 idleapp.c
字号:
* 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 Files
*****************************************************************************/
#include "stdC.h"
#include "MMI_Features.h"
#include "L4Dr.h"
#include "L4Dr1.h"
#include "MiscFunctions.h"
#include "KeyBrd.h"
#include "DebugInitDef.h"
#include "gdi_include.h"
#include "CustDataRes.h"
#include "CustMenuRes.h"
#include "gui_themes.h"
#include "GlobalConstants.h"
#include "HistoryGprot.h"
#include "DateTimeGprot.h"
#include "CommonScreens.h" /* DisplayPopup */
#include "wgui_categories.h"
#include "wgui_categories_CM.h"
#include "wgui_categories_multimedia.h"
#include "wgui_categories_idlescreen.h"
#include "wgui_status_icons.h"
#include "wgui_softkeys.h"
#include "UCS2prot.h"
#include "worldclock.h"
#include "IdleAppDef.h"
#include "IdleAppProt.h"
#include "Globaldefs.h"
#include "CallHistoryGProts.h"
#include "SettingProfile.h"
#include "ProfileGprots.h"
#include "SimDetectionGexdcl.h"
#include "SimDetectionGprot.h"
#include "FontRes.h"
#include "KeyBrd.h"
#include "CallManagementGprot.h"
#include "CallHistoryMain.h" /* CHISTResetCallLogIndex */
#include "SSCStringHandle.h"
#include "SettingGprots.h"
#include "audioinc.h"
#include "gpioInc.h"
#include "SettingProfile.h"
#include "Unicodexdcl.h"
#include "SpeedDial.h"
#include "MessagesResourceData.h"
#include "SubLCDHistoryGprot.h"
#include "WPSSProtos.h"
#include "PowerOnChargerProt.h"
#include "FunAndGamesDefs.h"
#include "NVRAMType.h"
#include "NVRAMProt.h"
#include "NVRAMEnum.h"
#include "DownloadDefs.h"
#include "QuickAccessMenuItemProt.h"
#include "AlarmFrameworkProt.h"
#include "ProfilesGexdcl.h"
#include "PhoneBookDef.h"
#include "PhoneBookTypes.h"
#include "PhoneBookProt.h"
#include "PhoneBookGprot.h"
#include "mdi_datatype.h"
#include "mdi_audio.h"
#include "PhoneSetupGprots.h"
#include "OrganizerGprot.h" /* OrgDeInit */
#include "SettingDefs.h" /* ST_NOTIFYDURATION define */
#include "SettingProfile.h" /* SUCCESS_TONE define */
#include "GlobalScrEnum.h" /* GLOBAL_SCR_DUMMY */
#include "Fat_fs.h"
#include "FileSystemDef.h" /* file function */
#include "FileManagerGProt.h" /* file path / file error */
#include "FileManagerDef.h" /* error string id */
#include "statusiconres.h"
#include "FlightModeGProt.h"
#include "VolumeHandler.h"
#if defined(__MMI_DATE_TIME_SETTING_REMINDER__)
#include "rtc_sw.h"
#endif
/* JBRW Sandeep */
#if defined (JATAAYU_SUPPORT) && defined (WAP_SUPPORT)
#include "JBrowserMMIGProts.h"
#endif
/* Manish - adding for JMMS */
#if (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT))
#include "JMMSPushHandling.h"
#include "JMMSMainMMS.h"
#endif /* (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT)) */
/* Dara */
#if defined (JATAAYU_SUPPORT) && (defined (WAP_SUPPORT) || (defined (MMS_SUPPORT)))
#include "JProvProts.h"
#endif
#include "TimerEvents.h"
#include "wgui_status_icons.h"
#include "wgui_ems.h"
#include "ShortcutsProts.h" /* for 4-dedicated shortcuts 0101 */
#include "SATGProts.h"
#ifdef WAP_SUPPORT
#include "Wapadp.h"
#endif
#ifdef __MMI_USB_SUPPORT__
#include "USBDeviceGprot.h"
#endif
#ifdef __J2ME__
#include "javaAgencyGprot.h"
#include "jvm_adaptor.h"
#endif /* __J2ME__ */
#ifdef __MMI_SWFLASH__
#include "SWFlashGprot.h"
#endif /* __MMI_SWFLASH__ */
#ifdef __MMI_IRDA_SUPPORT__
#include "IrdaMMIGprots.h"
#endif
#ifdef __MMI_OPP_SUPPORT__
#include "OPPMMIGprots.h"
#endif
#ifdef __MOD_SMSAL__
#include "MessagesExDcl.h"
#include "SMSApi.h"
#endif /* __MOD_SMSAL__ */
#ifdef __MMI_CAMERA__
#include "lcd_if.h" /* LCD layer enable flag */
#include "gdi_lcd_config.h"
#include "MMI_features_camera.h"
#include "mdi_datatype.h"
#include "mdi_camera.h" /* camera lib */
#include "CameraApp.h"
#endif /* __MMI_CAMERA__ */
#ifdef MMI_ON_HARDWARE_P
#include "mmi_trc.h"
#include "custom_util.h"
#endif /* MMI_ON_HARDWARE_P */
#include "NITZ.h"
#include "vObjects.h"
#include "KeyBrd.h"
#include "OSThreadInterfaceGprot.h"
#include "EventsGprot.h"
#include "NetworkSetupDefs.h" /* Cylen, __MANUAL_MODE_NW_SEL__ */
#include "NetworkSetupGProt.h"
#ifdef __MMI_IMPS__
#include "mmi_imps_gprot.h"
#endif
/* micha_POC */
#ifdef __MMI_POC__
#include "PoCGProt.h"
#endif
#ifdef __MMI_VOIP__
#include "VoIPDef.h"
#include "VoIPGProt.h"
#endif /* __MMI_VOIP__ */
#ifdef __MMI_TOUCH_SCREEN__
#include "TouchScreenGProt.h"
#include "wgui_touch_screen.h"
#endif /* __MMI_TOUCH_SCREEN__ */
#ifdef __MMI_UNIFIED_MESSAGE__
#include "UnifiedMessageGProt.h"
#endif
#if defined(__MMI_DOWNLOAD_AGENT__)
#include "App_mine.h"
#include "DLAgentDef.h"
#include "DLAgentGProt.h"
#endif /* defined(__MMI_DOWNLOAD_AGENT__) */
#ifdef __MMI_SML_MENU__
#include "PersonalizationProt.h"
#endif
#ifdef __MMI_SUBLCD_MASTER_MODE__
#include "sublcd_master.h"
#endif
#ifdef __SYNCML_SUPPORT__
#include "SyncMLGProt.h"
#endif
#if defined(__FOTA_ENABLE__)
#include "DeviceManagementGProt.h"
#endif
#undef __NEWSIMULATOR
/*****************************************************************************
* Define
*****************************************************************************/
/*****************************************************************************
* Typedef
*****************************************************************************/
/* diamond, 2005/10/12 idle revise */
typedef void (*FuncPtr) (void);
typedef U8(*FuncPtrRtn) (void);
typedef struct _idle_callback_info
{
FuncPtrRtn idle_callback_chk_f; /* callback to check if there is any pending event in idle screen */
FuncPtr idle_callback_exe_f; /* callback to execute the corresponding function in idle screen */
} IDLECALLBACKINFO;
/* end, diamond */
/****************************************************************************
* Global Variable
*****************************************************************************/
extern U16 gCurrLangIndex;
extern U16 gMaxDeployedLangs;
/* extern U8 isIdleScreenReached; */
extern S32 MAIN_LCD_device_width;
extern sLanguageDetails *gLanguageArray;
#ifdef __HOMEZONE_SUPPORT__
extern U8 *gHomezoneText;
#endif
extern U16 simErrorDisplayString;
/****************************************************************************
* Global Function
*****************************************************************************/
extern void EmergencyCallCheck(S16 keyCode, S16 keyType);
extern void mmi_java_entry_mid_launch(void);
extern void MMIProcessActionMsg(void);
extern U8 *GetDeliverdReportMessage(void);
extern kal_bool INT_USBBoot(void);
extern EMSData *GetClass0MessagePtr(void);
extern U8 *GetClass0MessageHeader(void);
extern BOOL IsMyTimerExist(U16 nTimerId);
extern void SATEVDLIdleScreenAvaliable(void);
extern void mmiapi_enter_idle_screen_notify(void);
#ifdef WAP_SUPPORT
extern void wap_internet_key_hdlr(void);
#endif
#ifdef __J2ME__
extern void j2me_enter_idle_screen_notify(void);
#endif
#ifdef __MMI_AUDIO_PLAYER__
extern BOOL mmi_audply_is_playing(void);
extern void mmi_audply_set_subLCD_shown(BOOL is_shown);
#endif /* __MMI_AUDIO_PLAYER__ */
#ifdef __MMI_FM_RADIO__
extern BOOL mmi_fmrdo_is_power_on(void);
extern void mmi_fmrdo_set_subLCD_shown(BOOL is_shown);
void mmi_fmrdo_power_on(BOOL turn_on);
#endif /* __MMI_FM_RADIO__ */
#if defined(__MMI_VRSD__)
extern void mmi_vrsd_rcg_pre_entry(void);
#endif
#if defined(__MMI_VRSD_DIAL__)
extern BOOL mmi_vrsddial_check_sim_change(void);
#endif
#if defined(__MMI_VRSI__)
extern void mmi_vrsi_rcg_pre_entry(void);
#endif
#ifdef MMI_ON_WIN32
extern void MMI_system_keybord_handler(S32 key_code, S32 key_state);
#endif
/* Associate caller group in SIM card entry */
#if defined(__MMI_PHB_CALLERGROUP_IN_SIM__)
extern BOOL mmi_phb_init_check_sim_change(void);
#endif
#ifdef __MMI_WGUI_MINI_TAB_BAR__
extern void ClndrPreEntryApp(void);
extern void fmgr_launch(void);
#endif /* __MMI_WGUI_MINI_TAB_BAR__ */
/* diamond, 2005/07/05 Flight mode */
#ifdef __FLIGHT_MODE_SUPPORT__
extern void EntryScrSimOptionMenu(void);
void EntryFlightModeIdleScreen(void);
void EntryFlightModeKeypadLockScreen(void);
void FlightModeDigitHandler(void);
#endif /* __FLIGHT_MODE_SUPPORT__ */
/* end, diamond */
//zx add begin 20070523
#ifdef PLX_APP_SUPPORT
extern void PlxDsmMain(void);
#endif
//zx add end
extern void InsertSimSetKeyPadLockFlag(void);
extern void UI_set_font(UI_font_type f);
static U8 mmi_idle_missed_call_check(void);
#ifdef __MMI_NITZ__
static U8 mmi_idle_pending_nitz_check(void);
#endif
#if defined(OBIGO_SUPPORT) && defined(WAP_SUPPORT)
static U8 mmi_idle_widget_check_and_display_new_msg(void);
#endif
//begin add by luo ren 2007/06/21
#ifdef __REJECT_ALL_INCOMING_SHORTCUTS__
U8 RejectAllIncomingFlag;
#endif
//end add by luo ren 2007/06/21
/*****************************************************************************
* Local Variable
*****************************************************************************/
idle_context_struct g_idle_context =
{
0, /* IsOnIdleScreen */
SUBLCD_NOT_ON_IDLE, /* IsSubLcdOnIdleScreen */
0, /* IsOnDialerScreen */
0, /* IsOnSimErrorScreen */
0, /* IsOnSimErrorDialerScreen */
0, /* IsScrSvrSleepIn */
0, /* IsRSKPressOnScreenSaver */
0, /* LongPressEnable */
0, /* AvoidHistoryofDialerScreen */
0, /* ScreenSaverRunFlag */
0, /* ToNameScrFromIdleApp */
#ifdef __MMI_KEYPAD_LOCK_PATTERN_2__
0, /* ToMainMenuScrFromIdleApp */
#endif
0, /* RskPressedFromIdleApp */
-1, /* IdleScreenDigitKeyCode */
SET_CURRENT_PROFILE, /* ToggleProfile */
#ifdef __MMI_SIMAP_SUPPORT__
0,
#endif
0, /* AutoLockTimeOut */
{0} /* All dialled digits from idle screen */
};
idle_keylock_struct g_keylock_context =
{
0, /* gKeyPadLockFlag */
0,
0, /* KeyLockLSKStringID */
0, /* KeyLockRSKStringID */
0, /* KeyLockLSKIconID */
0, /* KeyLockRSKIconID */
NULL /* diamond, 2006/03/26 Generic exit function for keypad lock callback screens */
};
#ifdef __MMI_NITZ__
static idle_nitz_struct g_nitz_display =
{
0, /* opname_from_nitz */
0, /* country_init */
{0}, /* plmn[] */
{0} /* display_name[] */
};
#endif /* __MMI_NITZ__ */
static const IDLECALLBACKINFO mmi_idle_callbacks[] =
{
/* How to add callbacks for idle screen/keypad lock ? */
/* 1. Fill the callbacks into this array */
/* Notice that the function type ! */
/* 1. Checking function should be U8 XXX(void) */
/* 2. Execution function should be void XXX(void) */
#ifdef __MMI_SAT_DISPLAY_TEXT_WITH_KEYPAD_LOCK__
{mmi_sat_is_pending_idle_sat_cmd, mmi_sat_execute_idle_sat_cmd},
#endif
#ifdef __J2ME__
{mmi_java_is_launch_after_install, mmi_java_entry_mid_launch}, /* new Java midlet */
#endif
{mmi_idle_missed_call_check, EntryCHISTNotifyMissedCall}, /* missed call */
{mmi_msg_need_class0_msg_ind, mmi_msg_entry_class0_msg_ind}, /* new class 0 message */
#ifdef __MMI_UNIFIED_MESSAGE__
{mmi_um_check_new_msg, mmi_um_pre_entry_new_msg_ind}, /* new unified message */
#else
{mmi_msg_need_new_msg_ind, mmi_msg_entry_new_msg_ind}, /* new short message */
#endif
{mmi_msg_need_mem_exceed_ind, mmi_msg_entry_mem_exceed_ind}, /* memory exceed notification */
{mmi_msg_need_delivery_report_ind, mmi_msg_entry_deliver_report_ind}, /* deliver report */
{mmi_msg_need_waiting_ind, mmi_msg_entry_msg_waiting_ind}, /* waiting message */
#ifdef __MMI_VOIP__
{mmi_voip_need_msg_waiting_ind, mmi_voip_entry_msg_waiting_ind},
#endif
#ifdef __MMI_IMPS__
{mmi_imps_check_invite_in_idle, NULL}, /* IMPS invitation */
#endif
#if (defined(__MMI_VCARD__) || defined(__MMI_VCALENDAR__)) && defined(MMI_ON_HARDWARE_P)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -