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

📄 pwroncharger.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
            LowBatteryCommonAction();
            break;
        }

        case BATTERY_LOW_WARNING:
        {
            if (g_charbat_context.LowBatteryFlag == 0 || g_charbat_context.LowBatteryTxProhibitFlag == 1)
            {
                /* Battery level changer, Change alert Threshold */

                /* Battery level coming up from BATTERY_LOW_TX_PROHIBIT, reset flag */
                g_charbat_context.LowBatteryTxProhibitFlag = 0;

                if (GetTotalCallCount() == 0)
                {
                    SET_LOW_BATTERY_ALARM_THRESHOLD(LBAT_IDLE_DURCNT_NORMAL);
                    RESET_LOW_BATTERY_ALARM_CNT();
                }
                else
                {
                    SET_LOW_BATTERY_ALARM_THRESHOLD(LBAT_TALK_DURCNT_NORMAL);
                    RESET_LOW_BATTERY_ALARM_CNT();
                }
            }

            LowBatteryCommonAction();
            break;
        }

        case BATTERY_LEVEL_0:   /* pass */
        case BATTERY_LEVEL_1:   /* pass */
        case BATTERY_LEVEL_2:   /* pass */
        case BATTERY_LEVEL_3:   /* pass */
        default:
        {
            batteryLowCount = 0;                    /* reset low battery ind count */
            g_charbat_context.LowBatteryFlag = 0;   /* MTK added, Robin 1009 for status led history */
            g_charbat_context.LowBatteryTxProhibitFlag = 0;
            break;
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  BatteryStatusIndication
 * DESCRIPTION
 *  This function shows the level on status icons of mainlcd nad sublcd.
 * PARAMETERS
 *  battery_voltage     [IN]        Battery level
 * RETURNS
 *  void
 *****************************************************************************/
void BatteryStatusIndication(U8 battery_voltage)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    switch (battery_voltage)
    {
        case BATTERY_LOW_POWEROFF:      /* pass */
        case BATTERY_LOW_TX_PROHIBIT:   /* pass */
        case BATTERY_LOW_WARNING:       /* pass */
        case BATTERY_LEVEL_0:
        {
            PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[DevMngr-PMIC] Low Battery Warning: level = %d", battery_voltage));
            ChangeStatusIconLevel(STATUS_ICON_BATTERY_STRENGTH, 0);
            // wangbei add start 20071010
         #ifdef __NEW_STATUS_ICONS_STYLE__
             draw_submenu_statusicons();
         #endif
             // wangbei add end
        #ifdef __MMI_SUBLCD__
            ChangeStatusIconLevel(STATUS_ICON_SUBLCD_BATTERY_STRENGTH, 0);
        #endif 
            break;
        }

        case BATTERY_LEVEL_1:   /* pass */
        case BATTERY_LEVEL_2:   /* pass */
        case BATTERY_LEVEL_3:   /* pass */
        {
            PRINT_INFORMATION_2((MMI_TRACE_G7_MISC, "[DevMngr-PMIC] Battery Level = %d", battery_voltage));
            ChangeStatusIconLevel((S16) STATUS_ICON_BATTERY_STRENGTH, (U8) (33 * (battery_voltage - BATTERY_LEVEL_0)));
        #ifdef __MMI_SUBLCD__
            ChangeStatusIconLevel(
                (S16) STATUS_ICON_SUBLCD_BATTERY_STRENGTH,
                (U8) (33 * (battery_voltage - BATTERY_LEVEL_0)));
        #endif /* __MMI_SUBLCD__ */ 
        // wangbei add start 20071010
         #ifdef __NEW_STATUS_ICONS_STYLE__
          draw_submenu_statusicons();
         #endif
         // wangbei add end
            break;
        }

        default:
        {
            PRINT_INFORMATION(("Battery Status Indication unknown voltage "));           
            ChangeStatusIconLevel(STATUS_ICON_BATTERY_STRENGTH, 33);
            // wangbei add start 20070930
         #ifdef __NEW_STATUS_ICONS_STYLE__
             draw_submenu_statusicons();
         #endif
            // wangbei add end
        #ifdef __MMI_SUBLCD__
            ChangeStatusIconLevel(STATUS_ICON_SUBLCD_BATTERY_STRENGTH, 33);
        #endif 
            break;
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  CHECK_MO_ALLOW
 * DESCRIPTION
 *  This function checks if outgoing call is allowed or not.
 * PARAMETERS
 *  void
 * RETURNS
 *  MMI_TRUE:  MO allowed
 *  MMI_FALSE: MO not allowed
 *****************************************************************************/
BOOL CHECK_MO_ALLOW(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_charbat_context.LowBatteryTxProhibitFlag == 0)
    {
        return MMI_TRUE;    /* allow MO call */
    }
    else
    {
        return MMI_FALSE;   /* prohibit MO call */
    }
}


/*****************************************************************************
 * FUNCTION
 *  IS_LOW_BATTERY
 * DESCRIPTION
 *  This function checks if battery is low.
 * PARAMETERS
 *  void
 * RETURNS
 *  MMI_TRUE:  voltage low
 *  MMI_FALSE: noe voltage low
 *****************************************************************************/
BOOL IS_LOW_BATTERY(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_charbat_context.LowBatteryFlag == 1)
    {
        return MMI_TRUE;    /* Low battery */
    }
    else
    {
        return MMI_FALSE;
    }
}


/*****************************************************************************
 * FUNCTION
 *  SET_LOW_BATTERY_ALARM_THRESHOLD
 * DESCRIPTION
 *  TThis function sets the thresh hold for low battery alarm.
 * PARAMETERS
 *  cnt     [IN]        The thresh
 * RETURNS
 *  void
 *****************************************************************************/
void SET_LOW_BATTERY_ALARM_THRESHOLD(U8 cnt)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /*********************************************************/
    /***** The threshold will be changed when:*****/
    /*********************************************************/
    /* 1. MT Call Accepted */
    /* 2. Call END */
    /* 3. Make MO Call */
    /* 4. SAT Call setup */
    /*********************************************************/
    if (lowBatteryAlarmThreshold == cnt)
    {
        return;
    }

    lowBatteryAlarmThreshold = cnt;
    batteryLowCount = lowBatteryAlarmThreshold;
}


/*****************************************************************************
 * FUNCTION
 *  RESET_LOW_BATTERY_ALARM_CNT
 * DESCRIPTION
 *  This function reset battery low alert count.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void RESET_LOW_BATTERY_ALARM_CNT(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* 
     * Set counter to threshold value so that MMI will alert at next indication
     * (the indication will comes to MMI by 1 minute ( depends on custom setting) 
     */
    batteryLowCount = lowBatteryAlarmThreshold;
}


/*****************************************************************************
 * FUNCTION
 *  BatteryIndicationPopup
 * DESCRIPTION
 *  General popup fn for charger events.
 * PARAMETERS
 *  stringId        [IN]        String shows in the popup screen
 * RETURNS
 *  void
 *****************************************************************************/
void BatteryIndicationPopup(U16 stringId)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 pp_flag, tone_id = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /*
     * Popup screen display permisstion flag
     * * Framework support Popup display permisstion flag
     * * Application who wanna stop popup has to intercept related messages and set the flag 
     */
    pp_flag = GetInterruptPopupDisplay();
    if ((pp_flag & POPUP_DSPL_ON) == 0 ||
        (pp_flag & POPUP_PMIC_ON) == 0)
    {
        return;
    }

    if (pp_flag & POPUP_TONE_ON)
    {
        tone_id = AUX_TONE;
    }

    /* Call End Transition, not allow to dispaly popup */
    if (GetTransitionToActiveFlag() == TRUE)
    {
        return;
    }

    DisplayPopup((U8*) GetString(stringId), IMG_GLOBAL_WARNING, 0, UI_POPUP_NOTIFYDURATION_TIME, tone_id);

}


/*****************************************************************************
 * FUNCTION
 *  ExitChargerPopUpScr
 * DESCRIPTION
 *  Exit Charger pop up screen.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void ExitChargerPopUpScr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    StopTimer(LOW_BATTERY_SCR_TIMER);
}


/*****************************************************************************
 * FUNCTION
 *  ChargingAbnormalHandler
 * DESCRIPTION
 *  Handle General Abnormal battery ind.
 * PARAMETERS
 *  stringId        [IN]        String shows in the popup screen
 * RETURNS
 *  void
 *****************************************************************************/
void ChargingAbnormalHandler(U16 stringId)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (g_charbat_context.isChargerConnected && mmi_bootup_is_in_power_on_period() == MMI_FALSE)
    {
        AbnormalBatteryIndPopup(stringId);
        StartLEDPatternBatteryWarning();
        playRequestedTone(BATTERY_WARNING_TONE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  AbnormalBatteryIndPopup
 * DESCRIPTION
 *  Exit General Abnormal battery ind popup.
 * PARAMETERS
 *  stringId        [IN]        String shows in the popup screen
 * RETURNS
 *  void
 *****************************************************************************/
void AbnormalBatteryIndPopup(U16 stringId)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    static U16 LocalStringId;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_charbat_context.ChargingAbnormal = 1;
    EntryNewScreen(SCR_ABNORMAL_CHARGING, ExitAbnormalBatteryIndPopup, NULL, NULL);
    ClearKeyEvents();

    if (stringId != 0)
    {
        LocalStringId = stringId;
    }

    ShowCategory64Screen(LocalStringId, IMG_GLOBAL_WARNING, 0);
    ShowSubLCDScreen(ShowSubLCDAbnormalPopup);

    HideStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);
    ShowStatusIcon(STATUS_ICON_SUBLCD_BATTERY_STRENGTH);

    ClearInputEventHandler(MMI_DEVICE_KEY);
    if (g_charbat_context.PowerOnCharger == 0)
    {
        HideStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
        ShowStatusIcon(STATUS_ICON_BATTERY_STRENGTH);
    }

⌨️ 快捷键说明

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