📄 simdetection.c
字号:
mmi_da_enter_idle_screen_notify();
#endif
#ifdef __J2ME__
jvm_enter_idle_screen_notify();
#endif
/* diamond, 2005/10/29, keypad lock in insert sim screen */
mmi_idle_start_keypad_lock();
if (mmi_bootup_get_active_flight_mode() == 0)
{
mmi_frm_kbd_reg_pre_key_hdlr(IdleScreenEmergencyCallCheckNKeypadLock);
}
/* end, diamond */
guiBuffer = GetCurrGuiBuffer(SCR_SIM_BLOCK);
ShowSubLCDScreen(ShowSubLCDBlockedSIM);
DinitSubLCDHistory();
#if ( (defined __MMI_WGUI_CSK_ENABLE__) && (defined __MMI_TOUCH_SCREEN__) )
EnableCenterSoftkey(0, IMG_CSK_DIAL_ICON);
#endif
if (0)
{
}
#ifdef __J2ME__
else if (mmi_java_is_launch_after_install())
{
mmi_java_send_mid_start_req(GAMETYPE_JAVA_GAME);
mmi_sim_error_register_keypad_lock_key_events();
}
#endif /* __J2ME__ */
#if (defined(__MMI_VCARD__) || defined(__MMI_VCALENDAR__)) && defined(MMI_ON_HARDWARE_P)
else if (mmi_vobj_is_pending_object())
{
mmi_vobj_entry_recv_object(); /* unread vObjects */
mmi_sim_error_register_keypad_lock_key_events();
}
#endif /* defined(__MMI_VCARD__) || defined(__MMI_VCALENDAR__)) && defined(MMI_ON_HARDWARE_P) */
#ifdef __MMI_OPP_SUPPORT__
else if (mmi_opp_get_recv_files_cnt())
{
mmi_opp_entry_idle_notify_scr(); /* files from Bluetooth */
mmi_sim_error_register_keypad_lock_key_events();
}
#endif /* __MMI_OPP_SUPPORT__ */
#ifdef __MMI_DOWNLOAD_AGENT__
else if (mmi_da_launch_ring_buffer_check())
{
mmi_da_entry_new_push_ind();
mmi_sim_error_register_keypad_lock_key_events();
}
#endif /* __MMI_DOWNLOAD_AGENT__ */
else
{
if (g_keylock_context.gKeyPadLockFlag == 0) /* keypad is not locked */
{
ShowCategory123Screen(
0,
0,
STR_GLOBAL_OPTIONS,
IMG_GLOBAL_OPTIONS,
STR_RSK_SOS,
0,
simErrorDisplayString,
IMG_GLOBAL_WARNING,
NULL);
#if ( (defined __MMI_WGUI_CSK_ENABLE__) && (defined __MMI_TOUCH_SCREEN__) )
SetCenterSoftkeyFunction(HandleInsertSIMScrDigitEntry, KEY_EVENT_UP);
#endif
SetLeftSoftkeyFunction(EntryScrSimOptionMenu, KEY_EVENT_UP);
#if ( (defined __FLIGHT_MODE_SUPPORT__) && (defined __MMI_TOUCH_SCREEN__) )
if (mmi_bootup_get_active_flight_mode() == 1)
SetRightSoftkeyFunction(mmi_flight_mode_popup_in_dialing_sos, KEY_EVENT_UP);
else
#endif
SetRightSoftkeyFunction(ShowMakeSOSCallScr, KEY_EVENT_UP);
SetGroupKeyHandler(
HandleInsertSIMScrDigitEntry,
BlockSIMScreenDigits,
MAX_INSERT_SCR_DIGITS - 1,
KEY_EVENT_DOWN);
SetDefaultVolumeKeyHandlers();
#ifdef __MMI_CAMERA__
#ifdef __MMI_IDLE_CAMERA_KEY_TO_STOP_AUDIOPLAYER__
SetKeyHandler(CheckAndStopAudioPlayer, CAMERA_SHORTCUT_KEY, KEY_EVENT_UP);
#else
SetKeyHandler(mmi_camera_entry_app_screen, CAMERA_SHORTCUT_KEY, KEY_EVENT_DOWN);
#endif
#endif /* __MMI_CAMERA__ */
#ifdef __MMI_TOUCH_SCREEN__
wgui_register_status_icon_pen_event_hdlr(
STATUS_ICON_KEYPAD_LOCK,
WGUI_STATUS_ICON_BAR_PEN_LONG_PRESS_ICON,
InsertSimSetKeyPadLockFlag);
#endif /* __MMI_TOUCH_SCREEN__ */
}
else
{
mmi_idle_set_keypad_lock_string();
#if (defined __MMI_TOUCH_SCREEN__ && defined __MMI_WGUI_CSK_ENABLE__ )
ResetCenterSoftkey();
#endif
ShowCategory123Screen(
0,
0,
g_keylock_context.KeyLockLSKStringID,
g_keylock_context.KeyLockLSKIconID,
g_keylock_context.KeyLockRSKStringID,
g_keylock_context.KeyLockRSKIconID,
simErrorDisplayString,
IMG_GLOBAL_WARNING,
NULL);
#if defined(__MMI_KEYPAD_LOCK_PROMPT_TEXT__)
SetGroupKeyHandler(
EntryScrKeyPadLockOnPessingAnyKey,
(PU16) PresentAllKeys,
(U8) TOTAL_KEYS,
(U16) KEY_EVENT_DOWN);
#endif /* defined(__MMI_KEYPAD_LOCK_PROMPT_TEXT__) */
#ifdef __MMI_TOUCH_SCREEN__
mmi_idle_pen_block(); /* diamond, 2005/12/22 Disable touch panel if re-entry idle keypad lock screen */
SetKeyHandler(EntryScrAfterPessingRSK, KEY_SEND, KEY_EVENT_DOWN);
#else /* __MMI_TOUCH_SCREEN__ */
#ifdef __MMI_KEYPAD_LOCK_PATTERN_1__ /* Robin 1223 */
SetRightSoftkeyFunction(EntryScrAfterPessingRSK, KEY_EVENT_UP);
#endif
#ifdef __MMI_KEYPAD_LOCK_PATTERN_2__ /* Robin 1223 */
SetLeftSoftkeyFunction(EntryScrAfterPessingRSK, KEY_EVENT_UP);
#endif
#endif /* __MMI_TOUCH_SCREEN__ */
if (g_idle_context.IsRSKPressOnScreenSaver)
{
EntryScrAfterPessingRSK();
g_idle_context.IsRSKPressOnScreenSaver = 0;
}
}
}
}
/*****************************************************************************
* FUNCTION
* ShowSubLCDBlockedSIM
* DESCRIPTION
* Entry screen for sulcd when SIM is blocked
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void ShowSubLCDBlockedSIM(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ExecSubLCDCurrExitHandler();
#ifdef __MMI_SUBLCD_SHOW_ANALOG_CLOCK__
if (IsClamClose())
{
ShowSubLCDAnalogClockScreen();
}
else
{
ShowSubLCDLogoString();
}
#else /* __MMI_SUBLCD_SHOW_ANALOG_CLOCK__ */
ShowCategory301Screen((PU8) GetString(STR_SIM_BLOCK_MSG), 0, NULL);
#endif /* __MMI_SUBLCD_SHOW_ANALOG_CLOCK__ */
SetSubLCDExitHandler(ExitSubLCDBlockedSIM);
g_idle_context.IsSubLcdOnIdleScreen = SUBLCD_ON_IDLE_SIM_BLOCKED;
}
/*****************************************************************************
* FUNCTION
* ExitSubLCDBlockedSIM
* DESCRIPTION
* Exit screen for sulcd when SIM is blocked
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void ExitSubLCDBlockedSIM(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
SubLCDHistoryNode SubLCDHistory;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
SubLCDHistory.entryFuncPtr = ShowSubLCDBlockedSIM;
AddSubLCDHistory(&SubLCDHistory);
g_idle_context.IsSubLcdOnIdleScreen = SUBLCD_NOT_ON_IDLE;
}
/**************************************************************************
SIM Option Menu APIs:
void EntryScrSimOptionMenu(void)
**************************************************************************/
/*****************************************************************************
* FUNCTION
* EntryScrSimOptionMenu
* DESCRIPTION
* Entry function for option button on 'insert sim' / 'blocked sim' / 'flight mode' screen
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void EntryScrSimOptionMenu(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 *guiBuffer; /* Buffer holding history data */
U16 nNumofItem; /* Stores no of children in the submenu */
U16 nDispAttribute; /* Stores display attribue */
U16 nStrItemList[MAX_SUB_MENUS]; /* Stores the strings id of submenus returned */
#if defined(__MMI_VERSION_2__)
U16 MenuOptionIconList[MAX_SUB_MENUS] =
{
#ifndef __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__
#ifdef __MMI_BI_DEGREE_MAIN_MENU_STYLE__
MAIN_MENU_AVZONE_TITLE,
#endif
#ifdef __MMI_MAINLCD_240X320__
IMG_ID_OPTION_MENU_PHONEBOOK_ICON,
IMG_ID_OPTION_MENU_MULTIMEDIA_ICON,
IMG_ID_OPTION_MENU_FILEMNGR_ICON,
IMG_ID_OPTION_MENU_FUNANDGAMES_ICON,
IMG_ID_OPTION_MENU_PROFILES_ICON,
IMG_ID_OPTION_MENU_ORGANIZER_ICON,
IMG_ID_OPTION_MENU_EXTRA_ICON,
IMG_ID_OPTION_MENU_SETTINGS_ICON /* diamond, 2005/12/23 Phone setup in option menu */
#else /* __MMI_MAINLCD_240X320__ */
MAIN_MENU_TITLE_PHONEBOOK_ICON,
MAIN_MENU_TITLE_MULTIMEDIA_ICON,
MAIN_MENU_TITLE_FILE_MNGR_ICON,
MAIN_MENU_TITLE_FUNANDGAMES_ICON,
MAIN_MENU_TITLE_PROFILES_ICON,
MAIN_MENU_TITLE_ORGANIZER_ICON,
MAIN_MENU_TITLE_EXTRA_APP_ICON,
MAIN_MENU_TITLE_SETTINGS_ICON /* diamond, 2005/12/23 Phone setup in option menu */
#endif /* __MMI_MAINLCD_240X320__ */
#else /* __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__ */
IMG_GLOBAL_L1,
IMG_GLOBAL_L2,
IMG_GLOBAL_L3,
IMG_GLOBAL_L4,
IMG_GLOBAL_L5,
IMG_GLOBAL_L6,
IMG_GLOBAL_L7,
IMG_GLOBAL_L8,
#if defined(__MMI_BI_DEGREE_MAIN_MENU_STYLE__)
IMG_GLOBAL_L9
#endif
#endif /* __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__ */
};
#else /* defined(__MMI_VERSION_2__) */
U16 MenuOptionIconList[MAX_SUB_MENUS] =
{
#ifndef __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__
#ifdef __MMI_MAINLCD_240X320__
IMG_ID_OPTION_MENU_MULTIMEDIA_ICON,
IMG_ID_OPTION_MENU_FUNANDGAMES_ICON,
IMG_ID_OPTION_MENU_PROFILES_ICON,
IMG_ID_OPTION_MENU_ORGANIZER_ICON,
#else /* __MMI_MAINLCD_240X320__ */
MAIN_MENU_TITLE_MULTIMEDIA_ICON,
MAIN_MENU_TITLE_FUNANDGAMES_ICON,
MAIN_MENU_TITLE_PROFILES_ICON,
MAIN_MENU_TITLE_ORGANIZER_ICON
#endif /* __MMI_MAINLCD_240X320__ */
#else /* __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__ */
IMG_GLOBAL_L1,
IMG_GLOBAL_L2,
IMG_GLOBAL_L3,
IMG_GLOBAL_L4
#endif /* __MMI_SERVICE_MENU_NUMERIC_LIST_ICON__ */
};
#endif /* defined(__MMI_VERSION_2__) */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
#ifndef __MMI_TOUCH_SCREEN__
#ifdef __MMI_KEYPAD_LOCK_PATTERN_2__
g_idle_context.ToMainMenuScrFromIdleApp = 1; /* diamond, 2005/10/29, keypad lock in insert sim screen */
#endif
#endif /* __MMI_TOUCH_SCREEN__ */
EntryNewScreen(SCR_SIM_OPTION, NULL, EntryScrSimOptionMenu, NULL);
guiBuffer = GetCurrGuiBuffer(SCR_SIM_OPTION);
SetParentHandler(MENU_SIM_OPTION_ID);
nNumofItem = GetNumOfChild(MENU_SIM_OPTION_ID);
nDispAttribute = GetDispAttributeOfItem(MENU_SIM_OPTION_ID);
GetSequenceStringIds(MENU_SIM_OPTION_ID, nStrItemList);
RegisterHighlightHandler(ExecuteCurrHiliteHandler);
ShowCategory15Screen(
STR_SIM_OPTION_CAPTION,
0,
STR_GLOBAL_OK,
IMG_GLOBAL_OK,
STR_GLOBAL_BACK,
IMG_GLOBAL_BACK,
nNumofItem,
nStrItemList,
MenuOptionIconList,
LIST_MENU,
0,
guiBuffer);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
/* diamond, 2005/10/29, keypad lock in insert sim screen */
#ifndef __MMI_TOUCH_SCREEN__
#if (defined(__MMI_KEYPAD_LOCK_PATTERN_2__) && !defined(__MMI_DISABLE_KEYPAD_LOCK__))
if (g_idle_context.ToMainMenuScrFromIdleApp == 1)
{
StartTimer(KEYPAD_LOCK_TIMER, KEYPAD_LOCK_TIMEOUT, IdleHandleKeypadLockProcess);
SetKeyHandler(IdleHandlePoundKeyForKeypadLock, KEY_POUND, KEY_EVENT_UP);
}
#endif /* (defined(__MMI_KEYPAD_LOCK_PATTERN_2__) && !defined(__MMI_DISABLE_KEYPAD_LOCK__)) */
#endif /* __MMI_TOUCH_SCREEN__ */
}
/**************************************************************************
Enter PIN APIs:
void EntryScrEnterPIN(void)
void ShowSubLCDEnterPIN(void)
void ExitSubLCDEnterPIN(void)
**************************************************************************/
/*****************************************************************************
* FUNCTION
* EntryScrEnterPIN
* DESCRIPTION
* Function inputs PIN from the user
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void EntryScrEnterPIN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 PassCountdownDisp[MAX_PASS_COUNTDOWN_DISP];
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
EntryNewScreen(SCR_ENTER_PIN, NULL, EntryScrEnterPIN, NULL);
DinitHistory();
//if(!g_pwr_context.idleScreenFirst)
// g_pwr_context.PowerOnPeriod = 0;
g_pwr_context.PowerOnMMIStatus = MMI_POWER_ON_SECURITY_SIM_LOCK; /* 0x12: SIM lock */
g_pwr_context.PrevScreenIndicator = ENTER_PIN_SCR;
/* Callback to check input password length */
RegisterInputBoxValidationFunction(RstrSettingPasswdScrSoftKeyFunc);
g_pwr_context.SOSCallFlagTOAvoidHistorySave = 0;
FillCountDownString(MMI_SETTING_TYPE_CHV1, PassCountdownDisp);
ShowCategory111Screen(
STR_GLOBAL_OK,
IMG_GLOBAL_OK,
STR_RSK_SOS,
0,
STR_ENTER_PIN_MSG,
INPUT_TYPE_NUMERIC_PASSWORD,
(U8*) gInputPwdBuffer,
MAX_PWD_LENGTH_MMI,
PassCountdownDisp,
NULL);
ShowSubLCDEnterPIN(); //ShowSubLCDScreen(ShowSubLCDEnterPIN);
DinitSubLCDHistory();
SetLeftSoftkeyFunction(ValidatePassword, KEY_EVENT_UP);
if (mmi_bootup_get_active_flight_mode() == 1)
{
SetCategory111RightSoftkeyFunction(mmi_flight_mode_popup_in_dialing_sos, KEY_EVENT_UP);
}
else
{
SetCategory111RightSoftkeyFunction(ShowMakeSOSCallScr,KEY_EVENT_UP);
SetKeyHandler(GoToSOSDialScr,KEY_SEND,KEY_EVENT_UP);
}
SetKeyHandler(ValidatePassword,KEY_POUND,KEY_EVENT_UP);
/* Disable LSK if the input password length isn't enough */
gSecuritySetupContext.PasswdLenCheckCallBack = ValidatePassword;
if (pfnUnicodeStrlen((S8*) gInputPwdBuffer) < MMI_MIN_PASSWORD_LENGTH)
{
ChangeLeftSoftkey(0, 0);
ClearKeyHandler(KEY_POUND, KEY_EVENT_UP);
}
}
/*****************************************************************************
* FUNCTION
* ShowSubLCDEnterPIN
* DESCRIPTION
* Entry function for sublcd for enter pin
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void ShowSubLCDEnterPIN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ExecSubLCDCurrExitHandler();
#ifdef __MMI_SUBLCD_SHOW_ANALOG_CLOCK__
if (IsClamClose())
{
ShowSubLCDAnalogClockScreen();
}
else
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -