Пример #1
0
void MTPNP_PFAL_Rearrange_SignalIcons(void)
{
    if (MTPNP_AD_Get_Status() == MTPNP_AD_DUALCARD)
    {
        if (MTPNP_AD_Get_Card1Status() != MTPNP_AD_SIMCARD_ABSENT)
        {
            if (MTPNP_AD_Get_Card2Status() != MTPNP_AD_SIMCARD_ABSENT)
            {
                // do nothing...
            }
            else
            {
                // case 10
                MTPNP_PFAL_Update_SlaveQOS(0);
            }
        }
        else
        {
            if (MTPNP_AD_Get_Card2Status() != MTPNP_AD_SIMCARD_ABSENT)
            {
                gSignalStrengthLevel = 0;
                ChangeStatusIconLevel(STATUS_ICON_SIGNAL_STRENGTH, gSignalStrengthLevel);
            }
            else
            {
                // case 9
                MTPNP_PFAL_Update_SlaveQOS(0);
            }
        }
    }
}
Пример #2
0
void MTPNP_PFAL_boot_up(void * inMsg)
{
    if (MTPNP_AD_Get_Card1Status() > 0x0 &&
            MTPNP_AD_Get_Card2Status() > 0x0)
    {
        ClearProtocolEventHandler(MSG_ID_MTPNP_WAIT_DUALSIM_READY);
        FlightModeCheckBeforeAnimation();
    }
    else
    {
        MYQUEUE Message;

        SetProtocolEventHandler(MTPNP_PFAL_boot_up, MSG_ID_MTPNP_WAIT_DUALSIM_READY);
        Message.oslSrcId = MOD_MMI;
        Message.oslDestId = MOD_MMI;
        Message.oslMsgId = MSG_ID_MTPNP_WAIT_DUALSIM_READY;
        Message.oslDataPtr = NULL;
        Message.oslPeerBuffPtr = NULL;
        OslMsgSendExtQueue(&Message);
    }
}
Пример #3
0
void MTPNP_PFAL_Rearrange_RootScreen(DUALMODE_SWITCH_STATUS *dm_switch)
{
    extern MTPNP_UINT16 simErrorDisplayString;
    DUALMODE_SWITCH_STATUS tmp_dm_switch;

    MTPNP_PFAL_Refresh_Slave_Idle_ServiceArea();
    memcpy(&tmp_dm_switch, dm_switch, sizeof (DUALMODE_SWITCH_STATUS));

    if (tmp_dm_switch.src_status == MTPNP_FLIGHTMODE_CONFIG && (g_pwr_context.CurrentServiceType == FULL_SERVICE || g_pwr_context_2.CurrentServiceType == FULL_SERVICE))
    {
        /* play camp on tone */
        g_pwr_context.IsCampOnTonePlayed = 1;
        g_pwr_context_2.IsCampOnTonePlayed = 1;
        mmi_phnset_flight_mode_camp_on_tone_hdlr();
    }

    if (g_idle_context.IsOnIdleScreen || g_idle_context.IsOnSimErrorScreen)
    {
        /* force to add root screen to history if current is on root screen */
        EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
    }

    if (MTPNP_AD_Get_Card1Status() != MTPNP_AD_SIMCARD_ABSENT)
    {
        if (MTPNP_AD_Get_Card2Status() != MTPNP_AD_SIMCARD_ABSENT)
        {
            // case 4, 8 ,12
            // still idle screen
            if ((MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD1 && MTPNP_PFAL_Is_Card1CHVBlocked()) || 
                (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD2 && MTPNP_PFAL_Is_Card2CHVBlocked()))
            {
                simErrorDisplayString = STR_SIM_BLOCK_MSG;
                HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_BLOCK, EntryScrnSimBlockRsp);
            }
            else
            {
                HistoryReplace(SCR_SIM_BLOCK, IDLE_SCREEN_ID, EntryIdleScreen);
            }
        }
        else
        {
            // case 2, 6 ,10
            if (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD2)
            {
                simErrorDisplayString = STR_SIM_INSERTION_MSG;
                HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_INSERTION, EntryScrnSimErrorScreen);
                HistoryReplace(SCR_SIM_BLOCK, SCR_SIM_INSERTION, EntryScrnSimErrorScreen);
            }
            else
            {
                if (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD1 && MTPNP_PFAL_Is_Card1CHVBlocked())
                {
                    simErrorDisplayString = STR_SIM_BLOCK_MSG;
                    HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_BLOCK, EntryScrnSimBlockRsp);
                    HistoryReplace(SCR_SIM_INSERTION, SCR_SIM_BLOCK, EntryScrnSimBlockRsp);
                }
                else
                {
                    HistoryReplace(SCR_SIM_INSERTION, IDLE_SCREEN_ID, EntryIdleScreen);
                    HistoryReplace(SCR_SIM_BLOCK, IDLE_SCREEN_ID, EntryIdleScreen);
                }
            }
        }
    }
    else
    {
        if (MTPNP_AD_Get_Card2Status() != MTPNP_AD_SIMCARD_ABSENT)
        {
            // case 3, 7 ,11
            if (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD1)
            {
                simErrorDisplayString = STR_SIM_INSERTION_MSG;
                HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_INSERTION, EntryScrnSimErrorScreen);
                HistoryReplace(SCR_SIM_BLOCK, SCR_SIM_INSERTION, EntryScrnSimErrorScreen);
            }
            else
            {
                if (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD2 && MTPNP_PFAL_Is_Card2CHVBlocked())
                {
                    simErrorDisplayString = STR_SIM_BLOCK_MSG;
                    HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_BLOCK, EntryScrnSimBlockRsp);
                    HistoryReplace(SCR_SIM_INSERTION, SCR_SIM_BLOCK, EntryScrnSimBlockRsp);
                }
                else
                {
                    HistoryReplace(SCR_SIM_INSERTION, IDLE_SCREEN_ID, EntryIdleScreen);
                    HistoryReplace(SCR_SIM_BLOCK, IDLE_SCREEN_ID, EntryIdleScreen);
                }
            }
        }
        else
        {
            // case 1, 5 ,7
            // still insert sim screen
            if (MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD1 || MTPNP_AD_Get_Startup_Mode() == MTPNP_AD_NVRAM_CARD2)
            {
                simErrorDisplayString = STR_SIM_INSERTION_MSG;
                HistoryReplace(IDLE_SCREEN_ID, SCR_SIM_INSERTION, EntryScrnSimErrorScreen);
            }
            else
            {
                HistoryReplace(SCR_SIM_INSERTION, IDLE_SCREEN_ID, EntryIdleScreen);
            }
        }
    }

    /* reset all channels because the previous channel may no longer available after mode switch */
    MTPNP_AD_Free_Channel(MTPNP_AD_CALL_CHANNEL);
    MTPNP_AD_Free_Channel(MTPNP_AD_SMS_CHANNEL);
    MTPNP_AD_Free_Channel(MTPNP_AD_DATA_SERVICE_CHANNEL);
    MTPNP_AD_Free_Channel(MTPNP_AD_AUDIO_RECORD);

    /* sim error menu */
    if (IsScreenPresent(IDLE_SCREEN_ID))
    {
        mmi_sim_error_unhide_menu_items();
    }
    else
    {
        mmi_sim_error_hide_menu_items();
    }
}