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

📄 simdetection.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -