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

📄 idleapp.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
    if (!datejust_reminder_shown && RTC_is_MS_FirstPowerOn())
#else 
    if (!datejust_reminder_shown)
#endif 
    {
        DisplayPopup((PU8) GetString(STR_DATE_TIME_UPDATE_REMINDER), IMG_GLOBAL_OK, 0, 2000, 0);
        datejust_reminder_shown = MMI_TRUE;
    }
#endif /* defined(__MMI_DATE_TIME_SETTING_REMINDER__) */ 
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_dummy_key_in_screensaver
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
static void mmi_idle_dummy_key_in_screensaver(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 i;
    U8 ScreenSaverStatus, ScreenSaverWait;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (IsClamClose())
    {
        return ;
    }

    PhnsetGetScrSvrSetings(&ScreenSaverStatus, &ScreenSaverWait);
    /* Compensatory key handler registration for screen saver.             */
    /* The idea here is to set those keys which are not set with handlers to a dummy handler. */
    /* But not that END key is still being set a handler (DisplayIdleScreen)        */
    /* for KEY_EVENT_DOWN in PowerAndEndKeyHandler.                  */
    if (g_keylock_context.gKeyPadLockFlag)
    {
        if (ScreenSaverStatus == 1) /* Screensaver is set to on */
        {
            for (i = KEY_0; i < MAX_KEYS; i++)
            {
                if ((GetKeyHandler(i, KEY_EVENT_DOWN) == NULL) && (GetKeyHandler(i, KEY_EVENT_UP) == NULL))
                {
                    SetKeyHandler(mmi_idle_dummy_key_handler, i, KEY_EVENT_DOWN);
                }
            }
            /*  add this because of PowerAndEndKeyHandler */
        #ifndef __MMI_KEYPAD_LOCK_PROMPT_TEXT__
            /* diamond, 2005/12/20 END key is registered to prompt text if __MMI_KEYPAD_LOCK_PROMPT_TEXT__ is on */
            SetKeyHandler(mmi_idle_dummy_key_handler, KEY_END, KEY_EVENT_DOWN);
        #endif /* __MMI_KEYPAD_LOCK_PROMPT_TEXT__ */ 
        }
    }
    else
    {
        if (ScreenSaverStatus == 1) /* Screensaver is set to on */
        {
            for (i = KEY_0; i < MAX_KEYS; i++)
            {
                dummyKeyHandler[i] = GetKeyHandler(i, KEY_EVENT_DOWN);
                SetKeyHandler(mmi_idle_dummy_key_handler, i, KEY_EVENT_DOWN);
            }
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_set_eg_events
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
extern void nor_sweep_device(void);

static void mmi_idle_set_eg_events(void)
{
#ifdef __MTK_TARGET__
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    pBOOL egIsSet = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (!egIsSet)
    {
        nor_sweep_device();
        egIsSet = 1;
    }
#endif /* __MTK_TARGET__ */
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_start_keypad_lock
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_start_keypad_lock(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_idle_set_eg_events();

    if (!g_keylock_context.gKeyPadLockFlag) /* keypad isn't lock now */
    {
        SETTING_AKPL_TIME GetAutoLockTimeOut = GetAutoKeypadLockTime();

        switch (GetAutoLockTimeOut)
        {
            case TIME_0:
                g_idle_context.AutoLockTimeOut = 0;
                break;
            case TIME_5:
                g_idle_context.AutoLockTimeOut = 5000;
                break;
            case TIME_30:
                g_idle_context.AutoLockTimeOut = 30000;
                break;
            case TIME_60:
                g_idle_context.AutoLockTimeOut = 60000;
                break;
            case TIME_2:
                g_idle_context.AutoLockTimeOut = 300000;
                break;
        }

        if (g_idle_context.AutoLockTimeOut != 0)
        {
            PRINT_INFORMATION(("[Keypad Lock] mmi_idle_start_keypad_lock: Timer %d start", g_idle_context.AutoLockTimeOut));
        #ifdef __MMI_SIMAP_SUPPORT__
            if (mmi_bootup_is_sim_valid() == MMI_TRUE || mmi_bootup_get_active_bt_access_profile_mode() == MMI_TRUE)
        #else
            if (mmi_bootup_is_sim_valid() == MMI_TRUE)
        #endif
            {
                StartTimer(IDLE_APP_AUTO_LOCK_TIMER_ID, g_idle_context.AutoLockTimeOut, IdleSetKeyPadLockFlag);
            }
            else
            {
                StartTimer(IDLE_APP_AUTO_LOCK_TIMER_ID, g_idle_context.AutoLockTimeOut, InsertSimSetKeyPadLockFlag);
            }
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_restart_keypad_lock_timer
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_restart_keypad_lock_timer(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_keylock_context.gKeyPadLockFlag == 1)
    {
        return;
    }

    if (g_idle_context.AutoLockTimeOut != 0 &&
        (g_idle_context.IsOnIdleScreen == 1 || g_idle_context.IsOnSimErrorScreen == 1))
    {
        StopTimer(IDLE_APP_AUTO_LOCK_TIMER_ID);
        if (g_idle_context.IsOnIdleScreen == 1)
        {
            StartTimer(IDLE_APP_AUTO_LOCK_TIMER_ID, g_idle_context.AutoLockTimeOut, IdleSetKeyPadLockFlag);
        }
        if (g_idle_context.IsOnSimErrorScreen == 1)
        {
            StartTimer(IDLE_APP_AUTO_LOCK_TIMER_ID, g_idle_context.AutoLockTimeOut, InsertSimSetKeyPadLockFlag);
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_start_screensaver
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_start_screensaver(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 ScreenSaverStatus, ScreenSaverWait;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PhnsetGetScrSvrSetings(&ScreenSaverStatus, &ScreenSaverWait);

    if (ScreenSaverStatus == 0xFF)
    {
        PhnsetRstScrSvrDefault();
    }

    if (ScreenSaverStatus == 1) /* Screensaver is set to on */
    {
        StartTimer(SCREENSAVER_TIMER, ScreenSaverWait * 1000, EntryIdleSetScreenSaver);
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_restart_screensaver_timer
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_restart_screensaver_timer(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 ScreenSaverStatus, ScreenSaverWait;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_idle_context.ScreenSaverRunFlag == 1) /* screensaver is running */
    {
        return;
    }

    if (g_idle_context.IsOnIdleScreen == 1)
    {
        PhnsetGetScrSvrSetings(&ScreenSaverStatus, &ScreenSaverWait);
        if (ScreenSaverStatus == 0xFF)
        {
            PhnsetRstScrSvrDefault();
        }

        if (ScreenSaverStatus == 1) /* screensaver is active */
        {
            StopTimer(SCREENSAVER_TIMER);
            StartTimer(SCREENSAVER_TIMER, ScreenSaverWait * 1000, EntryIdleSetScreenSaver);
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_is_on_idle_screen
 * DESCRIPTION
 *  Is on idle screen?
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
pBOOL mmi_idle_is_on_idle_screen(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_idle_context.IsOnIdleScreen == 1)
    {
        return MMI_TRUE;
    }
    else
    {
        return MMI_FALSE;
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_is_screensaver_running
 * DESCRIPTION
 *  Is screensaver running?
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
pBOOL mmi_idle_is_screensaver_running(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_idle_context.ScreenSaverRunFlag == 1)
    {
        return MMI_TRUE;
    }
    else
    {
        return MMI_FALSE;
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_idle_entry_idle_screen
 * DESCRIPTION
 *  Idle screen with/without keypad lock
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_entry_idle_screen(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 IdleScreenDigits[MAX_IDLE_SCREEN_DIGITS] =
        {KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_STAR, KEY_POUND};

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    IdleRefreshServiceIndicationArea(); /* Refresh Service Indication Area */

#if ( (defined  __MMI_WGUI_CSK_ENABLE__) && (defined __MMI_TOUCH_SCREEN__) && !(defined __MMI_TOUCH_IDLESCREEN_SHORTCUTS__))    /* PMT MANISH   20050623 */
    EnableCenterSoftkey(0, IMG_CSK_DIAL_ICON);
#endif 
//wangbei add begin 20071010
#ifdef __NEW_IDLE_SCREEN_UI_STYLE__
    EnableCenterSoftkey(0, IMG_CSK_DIAL_ICON);
#endif
//wangbei add end 
#ifdef __MMI_SWFLASH__
    if (dispchar_iswp_swflash())
        ShowCategory34Screen(IDLE_SCREEN_LSK_TEXT, IDLE_SCREEN_LSK_ICON, idleLRStringtID, IDLE_SCREEN_RSK_ICON, PhnsetGetCurWallPaperIdx(), idle_screen_wallpaper_name, NULL);
    else
#endif /* _MMI_SWFLASH__ */
    #ifdef __MMI_SWAP_LSK_RSK_IN_IDLE_SCREEN__
        ShowCategory33Screen(IDLE_SCREEN_RSK_TEXT, IDLE_SCREEN_RSK_ICON, idleLRStringtID, IDLE_SCREEN_LSK_ICON, NULL);
    #else 
        ShowCategory33Screen(IDLE_SCREEN_LSK_TEXT, IDLE_SCREEN_LSK_ICON, idleLRStringtID, IDLE_SCREEN_RSK_ICON, NULL);
    #endif 

    g_idle_context.LongPressEnable = 0;

    SetGroupKeyHandler(HandleIdleScreenDigitEntry, IdleScreenDigits, MAX_IDLE_SCREEN_DIGITS - 1, KEY_EVENT_DOWN);
    IdleSetLRKey(); /* __MANUAL_MODE_NW_SEL__ */

#ifdef __MMI_TOUCH_SCREEN__
    wgui_register_status_icon_pen_event_hdlr(
        STATUS_ICON_KEYPAD_LOCK,
        WGUI_STATUS_ICON_BAR_PEN_LONG_PRESS_ICON,
        IdleSetKeyPadLockFlag);
#endif /* __MMI_TOUCH_SCREEN__ */ 

#if ( (defined  __MMI_WGUI_CSK_ENABLE__) && (defined __MMI_TOUCH_SCREEN__) && !(defined __MMI_TOUCH_IDLESCREEN_SHORTCUTS__))    /* PMT MANISH   20050623 */
    SetCenterSoftkeyFunction(IdleScreenDigitHandler, KEY_EVENT_UP);
#endif 
//wangbei add begin 20071010
#ifdef __NEW_IDLE_SCREEN_UI_STYLE__
    SetCenterSoftkeyFunction(IdleScreenDigitHandler, KEY_EVENT_UP);
#endif
//wangbei add end 
#ifdef __MMI_TOUCH_DIAL_SCREEN__
    memset((U8*) g_idle_context.DialPadCallBuffer, 0, sizeof((U8*) g_idle_context.DialPadCallBuffer));
#endif 

    /* Voice Recognition */
#if defined(__MMI_VRSD__)
    SetRightSoftkeyFunction(mmi_vrsd_rcg_pre_entry, KEY_LONG_PRESS);
#endif 

#if defined(__MMI_VRSI__)
    SetRightSoftkeyFunction(mmi_vrsi_rcg_pre_entry, KEY_LONG_PRESS);
#endif 

    /* for 4-dedicated shortcuts */
#if defined(__MMI_DEDICATED_KEY_SHORTCUTS__)
    RegisterDedicatedKeyHandlers();
#elif !defined(__DISABLE_SHORTCUTS_MENU__)
    SetKeyHandler(EntryShctInIdle, KEY_UP_ARROW, KEY_EVENT_DOWN);
#endif 

    /* sync the behavior with DisplayIdleScreen */
    CHISTResetCallLogIndex();

#ifdef __MMI_KLG__
    SetKeyHandler(fmgr_launch, KEY_EXTRA_1, KEY_EVENT_UP);
    SetKeyHandler(ClndrPreEntryApp, KEY_EXTRA_2, KEY_EVENT_UP);
#endif /* __MMI_KLG__ */ 

#ifdef __MMI_UI_CALL_LOG_IN_TAB_PANE__
    SetKeyHandler(EntryCHISTTabPaneIdleScreen, KEY_SEND, KEY_EVENT_DOWN);       /* diamond, 2005/09/13 key event DOWN to UP */
#else 
    SetKeyHandler(CHISTGetCallLogBySENDKey, KEY_SEND, KEY_EVENT_DOWN);  /* diamond, 2005/09/13 key event DOWN to UP */
#endif 

#if defined(WAP_SUPPORT) && defined(__MMI_WITH_WAP_KEY__)
    SetKeyHandler(wap_internet_key_hdlr, KEY_WAP, KEY_LONG_PRESS);
      //zx add begin 20070410
        //SetKeyHandler(EntryMainMenuFromIdleScreen,KEY_WAP,KEY_EVENT_UP);  //zx del 20070523
        #ifdef PLX_APP_SUPPORT // wangbei add 20070618
        SetKeyHandler(PlxDsmMain,KEY_WAP,KEY_EVENT_UP);   //zx add 20070523
        #endif // wangbei add 20070618
       //zx add end
#endif 

    /* camera fast access key */
#ifdef __MMI_CAMERA__
#ifdef __MMI_IDLE_CAMERA_KEY_TO_STOP_AUDIOPLAYER__
    SetKeyHandler(CheckAndStopAudioPlayer, CAMERA_SHORTCUT_KEY, KEY_EVENT_UP);
#else
    #ifdef __MMI_SUBLCD_CAMERA__
    if (IsClamClose())
        SetKeyHandler(mmi_sublcd_camera_entry_option_screen, CAMERA_SHORTCUT_KEY, KEY_EVENT_DOWN);
    else
        SetKeyHandler(mmi_camera_entry_app_screen, CAMERA_SHORTCUT_KEY, KEY_EVENT_DOWN);
    #else
//zx modify begin 20070410 //改为待机时长按侧键进入拍照预览功能
    //SetKeyHandler(mmi_camera_entry_app_screen, CAMERA_SHORTCUT_KEY, KEY_EVENT_DOWN);
    SetKeyHandler(mmi_camera_entry_app_screen, CAMERA_SHORTCUT_KEY, KEY_EVENT_LONG_PRESS);
    //zx modify end
    #endif
#endif /* __MMI_IDLE_CAMERA_KEY_TO_STOP_AUDIOPLAYER__ */
#endif /* __MMI_CAMERA__ */

    /* volume key */
    SetDefaultVolumeKeyHandlers();

    ForceSubLCDScreen(ShowIdleAppSubLcd);

    /* 
     * Compensatory key handler registration for screen saver
     * The idea here is to set those keys which are not set with handlers to a dummy handler. 
     * But not that END key is still being set a handler (DisplayIdleScreen)  for KEY_EVENT_DOWN in PowerAndEndKeyHandler. 
     */
    mmi_idle_dummy_key_in_screensaver();

#if defined(__MMI_WLAN_FEATURES__) && defined(__MMI_VOIP__)
    if (mmi_netset_get_active_preferred_mode() == P_WLAN_ONLY || mmi_netset_get_active_preferred_mode() == P_WLAN_PREFERRED)
    {
        mmi_netset_set_dial_mode(DIAL_MODE_WLAN);
    }
    else
    {
        mmi_netset_set_dial_mode(DIAL_MODE_GSM);
    }
#endif /* defined(__MMI_WLAN_FEATURES__

⌨️ 快捷键说明

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