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

📄 pwroncharger.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
    else
    {
        ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
        ClearKeyHandler(KEY_END, KEY_LONG_PRESS);   /* Abnormal case */
        ClearKeyHandler(KEY_POWER, KEY_LONG_PRESS);   /* Abnormal case */
    }

    UpdateStatusIcons();
}


/*****************************************************************************
 * FUNCTION
 *  ExitAbnormalBatteryIndPopup
 * DESCRIPTION
 *  Exit General Abnormal battery ind popup.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ExitAbnormalBatteryIndPopup(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (GetInterruptPopupDisplay() == POPUP_ALL_ON)
    {
        GoBackSubLCDHistory();
    }
}


/*****************************************************************************
 * FUNCTION
 *  ShowSubLCDAbnormalPopup
 * DESCRIPTION
 *  General Abnormal battery ind popup for sublcd.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ShowSubLCDAbnormalPopup(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ExecSubLCDCurrExitHandler();
    ShowCategory304Screen(IMG_SUBLCD_ABNORMAL_BATTERY, 0);
}


/*****************************************************************************
 * FUNCTION
 *  ShowLowPowerShutdownScr
 * DESCRIPTION
 *  Show Low power shutdown screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ShowLowPowerShutdownScr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
    DeInitFramework_KeyAndEventHandler();

    ShowCategory64Screen(STR_LOW_BATTERY_SHUTDOWN, IMG_GLOBAL_WARNING, NULL);
    BatteryStatusIndication(0);
    StartTimer(LOW_BATTERY_SCR_TIMER, LBAT_SHUTDOWN_SCR_TIMER_DUR, LowBatteryShutDownScrTimeout);

    ChgrPlayLowBatTone();
}


/*****************************************************************************
 * FUNCTION
 *  LowBatteryShutDownScrTimeout
 * DESCRIPTION
 *  Call back fn when Low Battery shutdown timer expired.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void LowBatteryShutDownScrTimeout(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    StopTimer(LOW_BATTERY_SCR_TIMER);
#ifdef __MMI_LOW_BATTERY_SHUTDOWN_NO_ANIMATION__
    QuitSystemOperation();
#else /* __MMI_LOW_BATTERY_SHUTDOWN_NO_ANIMATION__ */ 
    /* if low battery shutdown at power on, do no play power off animation */
    if (mmi_bootup_is_in_power_on_period() == MMI_TRUE)
    {
        QuitSystemOperation();
    }
    else
    {
        ShutdownSystemOperation();
    }
#endif /* __MMI_LOW_BATTERY_SHUTDOWN_NO_ANIMATION__ */ 
}


/*****************************************************************************
 * FUNCTION
 *  IdleScreenChargerConnected
 * DESCRIPTION
 *  Update status icon display.
 * PARAMETERS
 *  playtone        [IN]        True/False
 * RETURNS
 *  void
 *****************************************************************************/
void IdleScreenChargerConnected(U8 playtone)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (playtone == KAL_TRUE)
    {
        playRequestedTone(AUX_TONE);
    }

    ShowStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    AnimateStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    AnimateStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    UpdateStatusIcons();
    PRINT_INFORMATION(("[DevMngr-PMIC] CHARGER IN"));
}


/*****************************************************************************
 * FUNCTION
 *  IdleScreenChargerDisconnected
 * DESCRIPTION
 *  Update status icon display.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void IdleScreenChargerDisconnected(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 pp_flag = 0;
    
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    pp_flag = GetInterruptPopupDisplay();
    if (pp_flag & POPUP_TONE_ON)
    {
        playRequestedTone(AUX_TONE);
    }
    HideStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    HideStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    UpdateStatusIcons();
    BatteryStatusIndication(g_charbat_context.chargerLevel);
    PRINT_INFORMATION(("[DevMngr-PMIC] CHARGER OUT"));
}


/*****************************************************************************
 * FUNCTION
 *  IdleScreenBatteryFullCharged
 * DESCRIPTION
 *  Update status icon display.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void IdleScreenBatteryFullCharged(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    HideStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    HideStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    ChangeStatusIconLevel(STATUS_ICON_BATTERY_STRENGTH, 100);
    // wangbei add start 20071010
     #ifdef __NEW_STATUS_ICONS_STYLE__
         draw_submenu_statusicons();
     #endif
        // wangbei add end
    ChangeStatusIconLevel(STATUS_ICON_SUBLCD_BATTERY_STRENGTH, 100);
    UpdateStatusIcons();
    PRINT_INFORMATION(("[DevMngr-PMIC] BATTERY FULL CHARGED"));
}


/*****************************************************************************
 * FUNCTION
 *  ShowChargingCompleteScr
 * DESCRIPTION
 *  Show Charging Complete screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ShowChargingCompleteScr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_CHARGING_COMPLETE, NULL, ShowChargingCompleteScr, NULL);
    DinitHistory();
    ShowCategory9Screen(0, IMG_BATTERY_FULL_CHARGED, NULL);
    ShowSubLCDScreen(ShowSubLCDChargingCompleteScr);
    ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
#ifndef __MMI_POWER_ON_OFF_BY_POWER_KEY__
    SetKeyHandler(ChargingPwnOnThanPwnOn, KEY_END, KEY_LONG_PRESS);
#endif
    SetKeyHandler(ChargingPwnOnThanPwnOn, KEY_POWER, KEY_LONG_PRESS);    
}


/*****************************************************************************
 * FUNCTION
 *  ShowSubLCDChargingCompleteScr
 * DESCRIPTION
 *  Show sublcd charging complete screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ShowSubLCDChargingCompleteScr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ExecSubLCDCurrExitHandler();
#ifdef __MMI_SUBLCD_SHOW_ANALOG_CLOCK__
    if (!IsClamClose())
    {
        ShowCategory310Screen(get_string(STR_GLOBAL_LOGO));
    }
    else
#endif /* __MMI_SUBLCD_SHOW_ANALOG_CLOCK__ */ 
    {
        ShowCategory304Screen(IMG_SUBLCD_CHARGING_COMPLETE, 0);
    }

    SetSubLCDExitHandler(ExitSubLCDChargingCompleteScr);
}


/*****************************************************************************
 * FUNCTION
 *  ExitSubLCDChargingCompleteScr
 * DESCRIPTION
 *  Exit from sublcd charging complete screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ExitSubLCDChargingCompleteScr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    SubLCDHistoryNode SubLCDHistory;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    SubLCDHistory.entryFuncPtr = ShowSubLCDChargingCompleteScr;
    AddSubLCDHistory(&SubLCDHistory);
}


/*****************************************************************************
 * FUNCTION
 *  ChargerDetectTimeoutHdlr
 * DESCRIPTION
 *  Display Charger status after power on enter idle screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ChargerDetectTimeoutHdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    StopTimer(BOOTUP_CHARGER_DETECT_TIMER);

    if (g_charbat_context.isChargerConnected == 1)
    {
        IdleScreenChargerConnected(KAL_FALSE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  ChgrPlayLowBatTone
 * DESCRIPTION
 *  Display Charger status after power on enter idle screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ChgrPlayLowBatTone(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_charbat_context.isChargerConnected == 0)
    {
        playRequestedTone(BATTERY_LOW_TONE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_devmgr_charger_send_ack
 * DESCRIPTION
 *  send ack to PS
 * PARAMETERS
 *  action   

⌨️ 快捷键说明

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