📄 pwroncharger.c
字号:
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 + -