Example #1
0
/*****************************************************************************
 * FUNCTION
 *  mmi_java_terminate_dialog_yes_hdlr
 * DESCRIPTION
 *  Handler Function:   revoked when select "YES" in "TERMINATE" dialog
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
static void mmi_java_terminate_dialog_yes_hdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mmi_java_highlight_index == 0)  /* pause */
    {
        jvm_enter_pause_mode();
        DeleteScreenIfPresent(SCR_JAVA_APP_MIDS_OPTION);
        DeleteScreenIfPresent(SCR_JAVA_APP_OPTION_SELECT);
        DeleteScreenIfPresent(SCR_JAVA);
    }
    else    /* terminate */
    {

        jvm_pause_state_exit();
        mmi_java_entry_terminating(MMI_FALSE);
    }

    if(GetActiveScreenId() == SCR_JAVA_TERMINATE_DIALOG)
    {
        GoBackHistory();
    }
    else
    {
        DeleteScreenIfPresent(SCR_JAVA_TERMINATE_DIALOG);
    }
}
Example #2
0
/*****************************************************************************
 * FUNCTION
 *  mmi_idle_entry_change_dial_mode
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_entry_change_dial_mode(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_idle_context.DigitScreenDialMode = (g_idle_context.DigitScreenDialMode) ? 0 : 1;  /* 0: GSM, 1: WLAN */

    sprintf(g_idle_context.DialPadCallBuffer, "");
    g_idle_context.IdleScreenDigitKeyCode = -1;

    IdleScreenDigitHandler();

    DeleteScreenIfPresent(IDLE_SCREEN_DIGIT_OPTIONS_ID);
    DeleteScreenIfPresent(IDLE_SCREEN_DIGIT_HANDLER_ID);
    DeleteScreenIfPresent(SCR_ID_VOIP_CALL_EDITOR);

    if (mmi_netset_get_active_preferred_mode() == P_WLAN_PREFERRED || mmi_idle_get_dial_mode() == 0)
    {
        /* enter VoIP dialer screen first then change dialer mode to digit dialer */
        /* restore RSK/LSK handers because they are changed to disable long press */
        SetLeftSoftkeyFunction(mmi_idle_entry_dial_pad_option, KEY_EVENT_UP);
        SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
    }
}
Example #3
0
/*****************************************************************************
 * FUNCTION
 *  mmi_idle_delete_dial_pad_screens
 * DESCRIPTION
 *  Callback function of UCM dial option
 * PARAMETERS
 *  p       [IN]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_idle_delete_dial_pad_screens(void *p)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    DeleteScreenIfPresent(IDLE_SCREEN_DIGIT_OPTIONS_ID);
    DeleteScreenIfPresent(IDLE_SCREEN_DIGIT_HANDLER_ID);
    /* no need to delet VoIP dial pad screen because it will be deleted by VoIP application */
}
Example #4
0
/*****************************************************************************
 * FUNCTION
 *  mmi_netset_save_user_ctrl_plmn_cancel
 * DESCRIPTION
 *  Cancellation of save
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_netset_save_user_ctrl_plmn_cancel(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    stopRequestedTone(WARNING_TONE);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
    GoBackHistory();
}
Example #5
0
/*****************************************************************************
 * FUNCTION
 *  RspDeleteAllMissedNum
 * DESCRIPTION
 *  Response handler for deleteallmissedcalls request.
 * NA
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void RspDeleteAllMissedNum(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    DEL_LAST_NUMBER_RSP *rsp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* retrive the data from the response info structure */
    rsp = (DEL_LAST_NUMBER_RSP*) info;

    /* Check the response is success or not */
    if (rsp->result.flag == CALL_LOG_RESULT_OK)
    {
        /* Incase of success */
        /* Reset the missed call icon on idle screen */
        IdleResetStatusIcon(STATUS_ICON_MISSED_CALL);
        /* Reset the missed calls counters */
        /* MTK Leo add 20040322, add two new statusicons on sublcd */
    #ifndef __MMI_SUBLCD_SHORT_STATUSICON_LIST__
        IdleResetStatusIcon(STATUS_ICON_SUBLCD_MISSED_CALL);
    #endif 
        /* MTK Leo end */
        chis_p->nMissedCalls = 0;
        chis_p->nMissedCallBeforeView = 0;
    #ifdef __MMI_DUAL_SIM_MASTER__
        DeleteScreenIfPresent(SCR_MTPNP_CALL_HISTORY_NOTIFY);
    #endif /* __MMI_DUAL_SIM_MASTER__ */
        g_chist_have_missed_call = 0;
    	mmi_chist_set_have_missed_call();
    }

    if (chis_p->isDeleteAll == TRUE)
    {
        if (chis_p->nRecvdCalls != 0)
        {
            DeleteAllRecdCalls();
            return;
        }
        chis_p->isDeleteAll = FALSE;
    }

    if (rsp->result.flag == CALL_LOG_RESULT_OK)
    {
        /* Incase of success */
        /* Display success popup for user notification */
        DisplayPopup((PU8) GetString(STR_GLOBAL_DELETED), IMG_GLOBAL_ACTIVATED, 1, CS_NOTIFYDURATION, SAVE_TONE);
    }
    else
    {
        /* If failure; then display failure popup for user notification */
        DisplayPopup((PU8) GetString(STR_GLOBAL_UNFINISHED), IMG_GLOBAL_UNFINISHED, 1, CS_NOTIFYDURATION, ERROR_TONE);
    }

    /* Delete screens in history to go back to reset call main screen */
    /* DeleteUptoScrID(SCR_CALLHISTORY_RESETCALL); */
    return;
}
Example #6
0
/*****************************************************************************
 * FUNCTION
 *  mmi_syncml_phb_sync_rsp
 * DESCRIPTION
 *  Callback for phonebook access
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_syncml_phb_sync_rsp(U16 phb_result, U16 store_index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
#ifdef __MMI_SYNCML_REFRESH_SYNC_SUPPORT__
    if (g_syncml_context.sync_type == SYNCML_TYPE_RESTORE && mmi_syncml_is_phb_sync_now() == MMI_FALSE)
    {
        if (phb_result == MMI_PHB_SYNC_SUCCESS)
        {
            /* delete phb for RESTORE sync type */
            mmi_syncml_perform_delete_phb_one_by_one();
        }
        else
        {
            DisplayPopup(
            (U8*) GetString(STR_GLOBAL_UNFINISHED),
                IMG_GLOBAL_UNFINISHED,
                1,
                UI_POPUP_NOTIFYDURATION_TIME,
                (U8) ERROR_TONE);
            DeleteScreenIfPresent(SCR_ID_SYNC_DELETE_ALL);
        }
        return;
    }
#endif /* __MMI_SYNCML_REFRESH_SYNC_SUPPORT__ */

    switch (phb_result)
    {
        case MMI_PHB_SYNC_SUCCESS:
           g_syncml_sync_context.result = SYNCML_OK;
           break;

        case MMI_PHB_SYNC_STORAGE_FULL:
           g_syncml_sync_context.result = SYNCML_DEVICE_FULL;
           break;

        default:
           g_syncml_sync_context.result = SYNCML_FAIL;
           break;
    }

    if (g_syncml_sync_context.operation == SYNCML_RECORD_ADD)
    {
        g_syncml_sync_context.luid = store_index;
    }

    if (g_syncml_sync_context.operation == SYNCML_RECORD_GET)
    {
        mmi_syncml_get_record_res_req();
    }
    else
    {
        mmi_syncml_set_record_res_req();
    }
}
Example #7
0
/**************************************************************

	FUNCTION NAME		: RspDeleteAllMissedNum

  	PURPOSE				: Response handler for deleteallmissedcalls request.

	INPUT PARAMETERS	: void *

	OUTPUT PARAMETERS	: nil

	RETURNS				: void

 

**************************************************************/
void RspDeleteAllMissedNum( void *info )
{
	DEL_LAST_NUMBER_RSP *rsp;

	/* retrive the data from the response info structure */
	rsp = (DEL_LAST_NUMBER_RSP *) info;

	/* Check the response is success or not */
	if( rsp->result.flag == CALL_LOG_RESULT_OK)
	{
		/* Incase of success */
		/* Reset the missed call icon on idle screen */
		chis_p->nMissedCalls = 0;
		chis_p->nMissedCallBeforeView = 0;
		mmi_chist_rearrange_missed_call_status_icon();	

#ifdef __MMI_CHIST_ACCU_NUM_MISSED_CALL_BEFORE_VIEW_AFTER_REBOOT__
        mmi_chist_set_num_missed_call_before_view();
#endif

#ifdef __MMI_MULTI_SIM__
	DeleteScreenIfPresent(SCR_MTPNP_CALL_HISTORY_NOTIFY);
#endif
	}

	if (chis_p->isDeleteAll == TRUE)
	{
	   if (chis_p->nRecvdCalls != 0)
	   {
	      DeleteAllRecdCalls();
	      return;
	   }
     else if (chis_p->nRejectedCalls != 0)
     {
	      DeleteAllRejectedCalls();
	      return;
     }
	   chis_p->isDeleteAll = FALSE;
	}

	if( rsp->result.flag == CALL_LOG_RESULT_OK)
	{
	   /* Incase of success */
	   /* Display success popup for user notification */
		DisplayPopup((PU8)GetString(STR_GLOBAL_DONE) ,
		             IMG_GLOBAL_ACTIVATED, 1,
		             CS_NOTIFYDURATION,SAVE_TONE);
	}
	else
	{
		/* If failure; then display failure popup for user notification */
		DisplayPopup((PU8)GetString(STR_GLOBAL_UNFINISHED) ,
		             IMG_GLOBAL_UNFINISHED, 1,
		             CS_NOTIFYDURATION,ERROR_TONE);
	}

	/* Delete screens in history to go back to reset call main screen */
	//DeleteUptoScrID(SCR_CALLHISTORY_RESETCALL);
	return;
}
Example #8
0
/**************************************************************

	FUNCTION NAME		: SECSETDelFdlReq(void)
 
	INPUT PARAMETERS	: nil
	OUTPUT PARAMETERS	: nil
	RETURNS				: void
  	Author				: Vanita Jain
 

**************************************************************/
void SECSETDelFdlReq()
{
	MSG_PHB_DELETE_ENTRY_REQ_STRUCT *pMsgDelEntry = NULL ;
	MYQUEUE Message;
	module_type dest_mod_id = MOD_L4C + gSecSetupMenuSimID;

	EntrySECSETFDNBDNDeleting();
	pMsgDelEntry = (MSG_PHB_DELETE_ENTRY_REQ_STRUCT*) OslConstructDataPtr(sizeof(MSG_PHB_DELETE_ENTRY_REQ_STRUCT));
	pMsgDelEntry->no_data = 1;
	pMsgDelEntry->del_all = MMI_FALSE; //No 
	pMsgDelEntry->index = gpFDLBDLContext->FDLBDLEntries[gpFDLBDLContext->HighlightedFDN].index;

	pMsgDelEntry->type = MMI_PHB_FDN ; //PHB_PHONEBOOK
	Message.oslSrcId=MOD_MMI;
	Message.oslDestId=dest_mod_id;
	Message.oslMsgId = PRT_PHB_DEL_ENTRY_REQ;
	Message.oslDataPtr = (oslParaType *)pMsgDelEntry;
	Message.oslPeerBuffPtr= NULL;

	DeleteUptoScrID(SCR_ID_SECSET_FDN_LIST);
	DeleteScreenIfPresent(SCR_ID_SECSET_FDN_LIST);
	ExitSECSETFDNListReload();	
	SetProtocolEventHandlerExt(SECSETDelFdlRsp,PRT_PHB_DEL_ENTRY_RSP,gSecSetupMenuSimID);
	
	OslMsgSendExtQueue(&Message);

}
Example #9
0
/*****************************************************************************
 * FUNCTION
 *  ResetGPRSCounterRsp
 * DESCRIPTION
 *  
 * PARAMETERS
 *  info        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void ResetGPRSCounterRsp(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    /* micha1020 */
#ifdef __MMI_GPRS_FEATURES__

    mmi_ps_reset_gprs_data_counter_rsp_struct *localPtr;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    localPtr = (mmi_ps_reset_gprs_data_counter_rsp_struct*) info;

    if (localPtr->result == MMI_TRUE)
    {
        gprsTotalSent = 0;
        gprsTotalReceived = 0;
        gprsLastSent = 0;
        gprsLastReceived = 0;
        DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_ACTIVATED, 1, CS_NOTIFYDURATION, SUCCESS_TONE);
    }
    else
    {
        DisplayPopup((PU8) GetString(STR_GLOBAL_NOT_DONE), IMG_GLOBAL_UNFINISHED, 1, CS_NOTIFYDURATION, ERROR_TONE);
    }

    DeleteScreenIfPresent(SCR_CONFIRM_SCREEN);
    return;

#endif /* __MMI_GPRS_FEATURES__ */ 

}
Example #10
0
/*****************************************************************************
 * FUNCTION
 *  mmi_netset_entry_user_ctrl_plmn_del_one
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_netset_entry_user_ctrl_plmn_del_one(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 i;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    DisplayPopup(
        (U8*) GetString(STR_GLOBAL_DONE),
        IMG_GLOBAL_ACTIVATED,
        1,
        UI_POPUP_NOTIFYDURATION_TIME,
        (U8) SUCCESS_TONE);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);

    /* write data to nvram */
    for (i = gUserCtrlPlmnList.CurrSelPlmn + 1; i < gUserCtrlPlmnList.PlmnListSize; i++)
    {
        memcpy(gUserCtrlPlmnList.PrefPLMN[i - 1], gUserCtrlPlmnList.PrefPLMN[i], 24);
    }

    memset(gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize - 1], 0, 24);
    gUserCtrlPlmnList.PlmnListSize--;

    mmi_netset_access_user_ctrl_plmn_nvram(1);

    RefreshNwProviderName(gPLMN);
}
Example #11
0
/*****************************************************************************
 * FUNCTION
 *  mmi_brw_delete_all_push_messages
 * DESCRIPTION
 *  Deletes the entire recent page list
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_brw_delete_all_push_messages(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 msg_counter;
    JC_UINT32 brw_total_msg_count = 0;
    JC_UINT32 brw_unread_msg_count = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* added by Vivek */
    HideStatusIcon(STATUS_ICON_WAP);

    mmi_brw_get_push_statistics(&brw_total_msg_count, &brw_unread_msg_count);

    for (msg_counter = 0; msg_counter < brw_total_msg_count; msg_counter++)
    {
        mmi_brw_delete_push_msg(0);
    }

    /* Added by Vivek - 13072006 */
    mmi_brw_push_free_service_value_struct(&g_mmi_brw_push_cntx.current_service_message);

    /* Edited By Vivek - 5 July 2006 */
    /* DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_DELETED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE); */
    /* Edited by Vivek - 02082006. Now instead of displaying the image IMG_GLOBAL_DELETED
       we are displaying IMG_GLOBAL_ACTIVATED as we are doing in other part of browser */
    DisplayPopup((PU8) GetString(STR_GLOBAL_DONE), IMG_GLOBAL_ACTIVATED, 1, UI_POPUP_NOTIFYDURATION_TIME, SUCCESS_TONE);

    if (IsScreenPresent(SCR_ID_BRW_SERVICE_INBOX))
    {
        DeleteUptoScrID(SCR_ID_BRW_SERVICE_INBOX);
    }
    else    /* when message is deleted from idle screen */
    {
        mmi_brw_entry_service_inbox();
        DeleteScreenIfPresent(SCR_ID_BRW_PUSH_MESSAGE_READ_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_BRW_NEW_PUSH_MESSAGE_IND);
        DeleteScreenIfPresent(SCR_ID_BRW_READ_SERVICE_MESSAGE);
    }

    /* Save to persistant storage */
    mmi_brw_save_current_push_info();
}
Example #12
0
/*****************************************************************************
 * FUNCTION
 *  csb_frm_testtool_callback
 * DESCRIPTION
 *  Callback to take snap shots one by one (non-blocking)
 * PARAMETERS
 *  void
 * RETURNS
 *  U16
 *****************************************************************************/
void csb_frm_testtool_callback(void)
{
    /*----------------------------------------------------------*/
    /* Local Variables                                          */
    /*----------------------------------------------------------*/
	BOOL error_code = TRUE;

    /*----------------------------------------------------------*/
    /* Code Body                                                */
    /*----------------------------------------------------------*/

	StopTimer(CSB_AUTO_MODE_TIMER_ID);

    /* Lock the buffer as we dont want to display the category screens */
    gdi_layer_lock_frame_buffer();

    /* ASSERT if the entryFuncPtr is NULL */
    ASSERT(g_CSB_struct.pscreen_info[g_csb_index].entryFuncPtr != NULL);
    /* Call the category as the buffer must built before calling csb_frm_save_screen_shot */
    g_CSB_struct.pscreen_info[g_csb_index].entryFuncPtr();

    /* Unlock the buffer as it is already built */
    gdi_layer_unlock_frame_buffer();

    /* API to create the file path and save the LAYER contents in JPEG format */
    error_code = (BOOL)csb_frm_save_screen_shot((U32)g_csb_index);

    if (error_code == FALSE)
    {
        /* Clear the key events */
        ClearKeyEvents();
        DisplayPopup((PU8) GetString(STR_ID_CSB_JPEG_FAIL_TEXT), IMG_GLOBAL_ERROR, 1, CSB_NOTIFY_DURATION, 0);
        DeleteUptoScrID(SCR_ID_CSB_TESTTOOL_SCR_ID);
		return;
    }

	/* Show processing screen till all the screenshots are taken */
    TestToolProcessingScr(STR_ID_CSB_PROCESSING_TEXT);

    g_csb_index++;

    /* Delete the screens from History, as all the screens are getting added in History */
    DeleteUptoScrID(SCR_ID_CSB_TESTTOOL_SCR_ID);
	DeleteScreenIfPresent(SCR_ID_CSB_DUMMY_SCR_ID);

	if(g_csb_index < TOTAL_CATEGORY_SCREENS)
	{
		EntryCSBTestToolRun();
	}
	else
	{
		g_csb_index = 0;
		/* Once all the category screenshots are taken, show the DONE pop-up */
		DisplayPopup((PU8) GetString(STR_ID_CSB_TESTTOOL_PASS), IMG_GLOBAL_ACTIVATED, 1, CSB_NOTIFY_DURATION, 0);
		DeleteUptoScrID(SCR_ID_CSB_TESTTOOL_SCR_ID);
	}
	
}
Example #13
0
/*****************************************************************************
 * FUNCTION
 *  mmi_java_resume_dialog_yes_hdlr
 * DESCRIPTION
 *  Handle Function: revoked when select "YES" in "RESUME" dialog
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_java_resume_dialog_yes_hdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    // TODO: hope we can update wap profile in java task , not in MMI task
    if (mmi_java_highlight_index == 0)  /* resume */
    {
        if (g_mmi_java_get_wap_prof_ok && !mmi_java_is_no_sim())
        {
            /* this is used to update the wap profile data for java */
            /* default */
            if(g_mmi_java_wap_prof_id == 0xFF)
            {
                MYQUEUE Message;

                SetProtocolEventHandler(j2me_get_wap_rsp, MSG_ID_WAP_GET_BRA_PROF_ID_RSP);
                Message.oslSrcId = MOD_MMI;
                Message.oslDestId = wap_get_service_module(MSG_ID_WAP_GET_BRA_PROF_ID_REQ);;
                Message.oslMsgId = MSG_ID_WAP_GET_BRA_PROF_ID_REQ;
                Message.oslDataPtr = NULL;
                Message.oslPeerBuffPtr = NULL;
                OslMsgSendExtQueue(&Message);
            }
            else
            {
                MYQUEUE Message;
                wap_get_prof_content_req_struct *get_prof;

                SetProtocolEventHandler(j2me_get_wap_rsp, MSG_ID_WAP_GET_PROF_CONTENT_RSP);
                get_prof = construct_local_para(sizeof(wap_get_prof_content_req_struct), TD_CTRL);
                get_prof->id = g_mmi_java_wap_prof_id;

                Message.oslSrcId = MOD_MMI;
                Message.oslDestId = wap_get_service_module(MSG_ID_WAP_GET_PROF_CONTENT_REQ);
                Message.oslMsgId = MSG_ID_WAP_GET_PROF_CONTENT_REQ;
                Message.oslDataPtr = (local_para_struct*) get_prof;
                Message.oslPeerBuffPtr = NULL;
                OslMsgSendExtQueue(&Message);
            }
            g_mmi_java_get_wap_prof_ok = KAL_FALSE;
        }
      /*********************************************************/
        jvm_resume_screen();
    }
    else    /* terminate */
    {
        jvm_pause_state_exit();
        mmi_java_entry_terminating(MMI_FALSE);
    }

    DeleteScreenIfPresent(SCR_JAVA_RESUME_DIALOG);
}
Example #14
0
/**************************************************************

	FUNCTION NAME		: ExitSECSETFDNListReload(void)
  	PURPOSE				: 
	INPUT PARAMETERS	: nil
	OUTPUT PARAMETERS	: nil
	RETURNS				: void
  	Author				: Vanita Jain
 

**************************************************************/
void ExitSECSETFDNListReload(void)
{
	history_t   Scr;
	S16 nHistory = 0;	
	DeleteScreenIfPresent(SCR_ID_SECSET_FDN_LIST);
	Scr.scrnID = SCR_ID_SECSET_FDN_LIST;
	Scr.entryFuncPtr = EntryFdlList;
	pfnUnicodeStrcpy((S8*)Scr.inputBuffer, (S8*)&nHistory);
	GetCategoryHistory(Scr.guiBuffer);
	AddHistory(Scr);
}
Example #15
0
/*****************************************************************************
 * FUNCTION
 *  mmi_opp_request_timeout_callback
 * DESCRIPTION
 *  This function is the call back used the request timeout
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_opp_request_timeout_callback(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((MMI_OPP_CTX(opc_state) == MMI_OPC_DISCONNECTING) || (MMI_OPP_CTX(opc_state) == MMI_OPC_ABORTING))
    {
        if (MMI_OPP_CTX(opc_state) == MMI_OPC_ABORTING)
        {
 
        }
        mmi_opp_opc_connection_terminated(MMI_OPP_ERR_SUCCESS);
    }
    else if (MMI_OPP_CTX(opc_state) != MMI_OPC_IDLE)
    {    
        mmi_opp_opc_connection_terminated(MMI_OPP_ERR_DISCONNECT);
    }
    DeleteScreenIfPresent(SCR_OPP_SENDING);
    DeleteScreenIfPresent(SCR_OPP_ABORTING);
}
Example #16
0
/*****************************************************************************
 * FUNCTION
 *  mmi_java_force_terminate_dialog_no_hdlr
 * DESCRIPTION
 *  Handle Function: revoked when select "NO" in "FORCE TERMINATE" dialog
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
static void mmi_java_cb_terminate_dialog_no_hdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_java_terminate_cb(MMI_FALSE);
    if( GetActiveScreenId() == SCR_JAVA_TERMINATE_DIALOG2)
    {
        GoBackHistory();
    }
    else
    {
       DeleteScreenIfPresent(SCR_JAVA_TERMINATE_DIALOG2);
    }
}
Example #17
0
/*****************************************************************************
 * FUNCTION
 *  mmi_rmgr_http_profile_entry_done
 * DESCRIPTION
 *  Entry function of http profile done screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_rmgr_http_profile_entry_done(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_rmgr_p->http_profile_idx = mmi_rmgr_p->http_profile_hilite_idx;
    DisplayPopupCallBack(
        (U8*) GetString(STR_GLOBAL_DONE),
        IMG_GLOBAL_ACTIVATED,
        0,
        UI_POPUP_NOTIFYDURATION_TIME,
        SUCCESS_TONE,
        mmi_rmgr_http_profile_done_go_back_to_rmgr_main);

    DeleteScreenIfPresent(SCR_ID_RMGR_HTTP_PROFILE_MAIN);        
}
Example #18
0
/**************************************************************

	FUNCTION NAME		: CALLSETBarringPassRsp(void )

  	PURPOSE				: function for handling response for call barring change passwd req.

	INPUT PARAMETERS	: nil

	OUTPUT PARAMETERS	: nil

	RETURNS				: void

 

**************************************************************/
void CALLSETBarringPassRsp(void *info)
{
	mmi_ss_call_barring_rsp_struct *pMsgBarringRsp = 
		(mmi_ss_call_barring_rsp_struct *) info ;
	/* change passwd response handling */
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OUT);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_IN);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OLD_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OPTION);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_NEW_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_CFRM_PASS);
	
	if(pMsgBarringRsp->result.flag == 0)
	{
		pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_CHANGE_PSW_SUCCESS_TEXT));
//micha0322
		DeleteScreenIfPresent(SCR_ID_CALLSET_GENERAL_SS_RESULT);
		EntryCALLSETGeneralSSResut();
	}else {

//micha0616
		if ( pMsgBarringRsp->result.cause == CM_SS_ERR_NEGATIVEPW_CHECK ) {
			DisplayPopup( (PU8) GetString( STR_SETTING_WRONG), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}
		else if (pMsgBarringRsp->result.cause == CM_SS_ERR_NUMBEROFPW_ATTEMPTSVIOLATION) {
			DisplayPopup( (PU8) GetString( STR_SETTING_BLOCK), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}
		else {
			DisplayPopup( (PU8) GetString( STR_GLOBAL_NOT_DONE), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}

//micha0915
		RemoveSSReqScr();
	}
	aud_speech_set_mode(KAL_FALSE); //chenhe,070808. for callforward,CM_KB_OUTGOINGCALL is been sent,so have to do so here
	return;
}
Example #19
0
/*****************************************************************************
 * FUNCTION
 *  mmi_java_force_terminate_dialog_yes_hdlr
 * DESCRIPTION
 *  Handle Function: revoked when select "YES" in "FORCE TERMINATE" dialog
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
static void mmi_java_force_terminate_dialog_yes_hdlr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

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

    mmi_java_entry_terminating(MMI_FALSE);

    if(GetActiveScreenId() == SCR_JAVA_FORCE_TERMINATE_DIALOG)
    {
        GoBackHistory();
    }
    else
    {
        DeleteScreenIfPresent(SCR_JAVA_FORCE_TERMINATE_DIALOG);
    }
}
Example #20
0
iBOOL i51PortReleaseFrontEnd ()
{

	//	author : Jelo 
	//	since : 2011.10.19
	// 	(C) PKIG Tech. Co., Ltd.
	#if( I51_MTK_VS >= VS_11B_1212 )
		MMI_ID ParentScreen,Currentscreen;
	#endif
	
    i51AdeOsLog(i51_LOG_SC, "PORT : i51PortReleaseFrontEnd , Release Front-End S");
    l_InI51 = iFALSE;	

	#if( I51_MTK_VS >= VS_11B_1212 )
	
		mmi_frm_get_active_scrn_id(&ParentScreen,&Currentscreen);
    if( Currentscreen == I51_SCREEN_ID )
    {
         GoBackHistory();
    }
    if( mmi_frm_group_is_present(I51_GROUP_ID)) 
    {
        mmi_frm_group_close(I51_GROUP_ID); 
    }
	#else
	
    if( GetActiveScreenId() == I51_SCREEN_ID )
        GoBackHistory();
    if( IsScreenPresent (I51_SCREEN_ID) )//在历史屏幕中                             
        DeleteScreenIfPresent (I51_SCREEN_ID); 
	
	#endif
	
    i51ExitDo();
    i51AdeOsLog(i51_LOG_SC, "PORT : i51PortReleaseFrontEnd , Release Front-End E");
    return iTRUE ;
	
}
Example #21
0
/*****************************************************************************
 * FUNCTION
 *  mmi_opp_entry_recv_confirm_scr
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_opp_entry_recv_confirm_scr(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (isIncomingCall() )
    {
        mmi_opp_add_history_before_cm_marker(SCR_OPP_NOTY_RECV_ACCEPT,mmi_opp_entry_recv_confirm_scr);
        return;
    }
        
    MMI_OPP_BUILD_RECV_ACCEPT_NOTY_STR();

    EntryNewScreen(SCR_OPP_NOTY_RECV_ACCEPT, NULL, mmi_opp_entry_recv_confirm_scr, NULL);

    SetDelScrnIDCallbackHandler(SCR_OPP_NOTY_RECV_ACCEPT, (HistoryDelCBPtr) NULL);
    DeleteScreenIfPresent(SCR_OPP_NOTY_RECV_ACCEPT);

    ShowCategory165Screen(
        STR_GLOBAL_YES,
        IMG_GLOBAL_YES,
        STR_GLOBAL_NO,
        IMG_GLOBAL_NO,
        (UI_string_type) mmi_opp_idle_notify_str,
        IMG_GLOBAL_QUESTION,
        NULL);

    SetLeftSoftkeyFunction(mmi_opp_accept_file_recv, KEY_EVENT_UP);
    SetRightSoftkeyFunction(mmi_opp_reject_file_recv, KEY_EVENT_UP);
    SetDelScrnIDCallbackHandler(SCR_OPP_NOTY_RECV_ACCEPT, (HistoryDelCBPtr) mmi_opp_confirm_del_cb);

    TurnOnBacklight(1);
}
Example #22
0
/*****************************************************************************
 * FUNCTION
 *  mmi_opp_fmgr_forward_to_opp_callback
 * DESCRIPTION
 *  This function is the call back used when the transfer gets completed
 * PARAMETERS
 *  buf_p       [?]         
 *  result      [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_opp_fmgr_forward_to_opp_callback(void *buf_p, U32 result)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (buf_p)
    {
        OslMfree(buf_p);
    }

    if (result == MMI_OPP_ERR_SUCCESS)
    {
        DisplayPopup(
            (PU8) GetString(STR_GLOBAL_DONE),
            IMG_GLOBAL_ACTIVATED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            SUCCESS_TONE);
    }
    else
    {
        DisplayPopup(
            (PU8) GetString(STR_GLOBAL_UNFINISHED),
            IMG_GLOBAL_UNFINISHED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            WARNING_TONE);
    }
    DeleteScreenIfPresent(SCR_OPP_SENDING);

    StopTimer(FMGR_PROG_UPDATE_TIMER);
}
Example #23
0
/**************************************************************

	FUNCTION NAME		: SECSETSetFdlEntryReq(void)
 
	INPUT PARAMETERS	: nil
	OUTPUT PARAMETERS	: nil
	RETURNS				: void
  	Author				: Vanita Jain
 
	 

**************************************************************/
void SECSETSetFdlEntryReq(void)
{
	MSG_PHB_SET_ENRTY_REQ_STRUCT *pMsgNewEntry = NULL ;
	MYQUEUE Message;
	//U8 pbName_ASCII[MAX_PB_NAME_LENGTH];
	U8 pbNumber_ASCII[MAX_PB_NUMBER_LENGTH+1];		
	module_type dest_mod_id = MOD_L4C + gSecSetupMenuSimID;


	EntrySECSETFDNBDNSaving();
	pMsgNewEntry  = (MSG_PHB_SET_ENRTY_REQ_STRUCT*) OslConstructDataPtr(sizeof(MSG_PHB_SET_ENRTY_REQ_STRUCT));

	 
	//memset(pMsgNewEntry->list.alpha_id.name, 0, strlen((PS8)pbName_ASCII)+1);
	//memset(pMsgNewEntry->list.tel.number, 0, strlen((PS8)pbNumber_ASCII)+1);
	memset(pMsgNewEntry->list.alpha_id.name, 0, MAX_PB_NAME_LENGTH+1);
	memset(pMsgNewEntry->list.tel.number, 0, MAX_PB_NAME_LENGTH+1);
	 

	pMsgNewEntry->type = MMI_PHB_FDN;
	pMsgNewEntry->no_data = 1;
	pMsgNewEntry->list.storage = MMI_SIM + gSecSetupMenuSimID;
	pMsgNewEntry->list.index = 0xFFFF; // For New Entry It should Always be 0xFFFF;
	pMsgNewEntry->list.record_index = 0xFFFF; // For New Entry It should be alaways 0xFFFF

	if(gpFDLBDLContext->FDNBDNEdit)//If entry is edited
	{
		pMsgNewEntry->list.index = gpFDLBDLContext->FDLBDLEntries[gpFDLBDLContext->HighlightedFDN].index;
		pMsgNewEntry->list.record_index = gpFDLBDLContext->FDLBDLEntries[gpFDLBDLContext->HighlightedFDN].record_index;
	}
	if (gpFDLBDLContext->FDLBDLNumber[0] == '+')//If Number is International
	{
		pMsgNewEntry->list.tel.type = MMI_CSMCC_INTERNATIONAL_ADDR; //INTERNATIONAL
		pMsgNewEntry->list.tel.length = (U8)pfnUnicodeStrlen((const S8 *)(gpFDLBDLContext->FDLBDLNumber+ ENCODING_LENGTH));
		UnicodeToAnsii((PS8)pbNumber_ASCII,(PS8)( gpFDLBDLContext->FDLBDLNumber+ ENCODING_LENGTH));
		memcpy(pMsgNewEntry->list.tel.number, pbNumber_ASCII, strlen((PS8)pbNumber_ASCII)+1);
	}
	else
	{
		pMsgNewEntry->list.tel.type = MMI_CSMCC_DEFAULT_ADDR_TYPE; //DEFAULT
		pMsgNewEntry->list.tel.length = (U8)pfnUnicodeStrlen((PS8)gpFDLBDLContext->FDLBDLNumber);
		UnicodeToAnsii((PS8)pbNumber_ASCII, (PS8)gpFDLBDLContext->FDLBDLNumber);
		memcpy(pMsgNewEntry->list.tel.number, pbNumber_ASCII, strlen((PS8)pbNumber_ASCII)+1);
	}
	if(GetUCS2Flag((PS8)gpFDLBDLContext->FDLBDLName)) {
		pMsgNewEntry->list.alpha_id.name_dcs = MMI_PHB_UCS2;
		pMsgNewEntry->list.alpha_id.name_length = ((U8)pfnUnicodeStrlen((PS8)gpFDLBDLContext->FDLBDLName))*ENCODING_LENGTH;
		BigEndianToLittleEndian((PS8)pMsgNewEntry->list.alpha_id.name, (PS8)gpFDLBDLContext->FDLBDLName);
	}
	else {
		pMsgNewEntry->list.alpha_id.name_dcs = MMI_PHB_ASCII;
		pMsgNewEntry->list.alpha_id.name_length = (U8)pfnUnicodeStrlen((PS8)gpFDLBDLContext->FDLBDLName);
		UnicodeToAnsii((PS8)pMsgNewEntry->list.alpha_id.name, (PS8)gpFDLBDLContext->FDLBDLName);
		PhbAsciiToGSM7Bit(pMsgNewEntry->list.alpha_id.name);
	}
	Message.oslSrcId=MOD_MMI;
	Message.oslDestId=dest_mod_id;
	Message.oslMsgId = PRT_PHB_SET_ENTRY_REQ;
	Message.oslDataPtr = (oslParaType *)pMsgNewEntry;
	Message.oslPeerBuffPtr= NULL;
	DeleteUptoScrID(SCR_ID_SECSET_FDN_LIST);
	DeleteScreenIfPresent(SCR_ID_SECSET_FDN_LIST);
	ExitSECSETFDNListReload();
	SetProtocolEventHandlerExt(SECSETSetFdlEntryRsp,PRT_PHB_SET_ENTRY_RSP,gSecSetupMenuSimID);
	OslMsgSendExtQueue(&Message);
}
Example #24
0
/*****************************************************************************
 * FUNCTION
 *  ShowCallManagementErrorMessage
 * DESCRIPTION
 *  This function shows the failure in case of call management
 *  
 *  This is a part of other hardware application.
 * PARAMETERS
 *  cause       [IN]        
 *  TRUE(?)     [OUT]       Or FALSE
 * RETURNS
 *  pBOOL(?)
 *****************************************************************************/
void ShowCallManagementErrorMessage(U16 cause)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 error_code, img_id = IMG_ERROR_NOTIFY;
    U16 tone_id = ERROR_TONE_IN_CALL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    MMI_TRACE(MMI_TRACE_G5_CM, MMI_CM_FUNC_ShowCallManagementErrorMessage);

    if (GetCallEndCause() == 0)
    {
        SetCallEndCause(cause);
    }
    SetCbackAfterSS(NULL);
    if (GetNotifySSFlag())
    {
        MMI_TRACE(MMI_TRACE_G5_CM, MMI_CM_INFO_ShowErrorAfterNotifySS);
        SetCbackAfterSS((FuncPtr) ShowCallManagementErrorMessage);
        return;
    }

    EntryNewScreen(CM_SCR_ERR_MSG, ExitScrCMErrMsg, NULL, NULL);

    switch (GetCallEndCause())
    {
        case ERR_UNASSIGNED_NUM:
        	tone_id = NUM_UNOBTAIN_TONE;
        case ERR_INVALID_NUMBER_FORMAT:
            error_code = ERROR_UNRECOGNIZED_NUMBER;
            break;

        case ERR_SWITCH_EQUIPMENT_CONGESTION:
			tone_id = CONGESTION_TONE;
        case ERR_CALL_REJECTED:
			tone_id= AUTH_FAIL_TONE;
        case ERR_NO_ROUTE_TO_DESTINATION:
        case ERR_DEST_OUT_OF_ORDER:
        case ERR_FACILITY_REJECT:
        case ERR_TEMPORARY_FAILURE:
        case ERR_SER_UNAVAILABLE:
        case ERR_BEARER_SER_UNIMPL:
        case ERR_INVALID_TI_VALUE:
        case ERR_USER_NOT_IN_CUG:
        case ERR_INCOMPATIBLE_DEST:
        case ERR_SEMANTIC_ERR:
        case ERR_INTER_WRK_UNSPECIFIED:
        case ERR_CSMCC_ILLEGAL_CALL_ID:
        case ERR_CSMCC_CALL_ALLOC_FAIL:
        case ERR_CSMCC_BC_FILL_FAIL:
        case ERR_CSMCC_ILLEGAL_BC:
        case ERR_CSMCC_MODIFY_ACTUAL_MODE:
        case ERR_CSMCC_DATA_ACT_FAIL:
        case ERR_MAC_FAILURE:
        case ERR_SYNC_FAILURE:
        case ERR_CONGESTION:
        case ERR_ILLEGAL_MS:
        case ERR_ILLEGAL_ME:
        case ERR_CM_MM_CM_ENQUEUE_FAIL:
        case ERR_CM_MM_NOT_UPDATED:
        case ERR_CM_MM_STATE_NOT_ALLOWED_CM:
            error_code = ERROR_FAIL;
            break;

        case ERR_CHANNEL_UN_ACCP:
        case ERR_NO_CIRCUIT_CHANNEL_AVAIL:
        case ERR_NETWORK_OUT_OF_ORDER:
        case ERR_QOS_UNAVAIL:
        case ERR_INVALID_TRANSIT_NW_SEL:
        case ERR_CSMCC_NO_RESPONSE_FROM_NW:
        case ERR_NETWORK_FAILURE:
        case ERR_CM_MM_RR_CONN_RELEASE:
        case ERR_CM_SS_SYSTEMFAILURE:
            error_code = ERROR_NETWORK_FAIL;
            break;

        case ERR_REQUESTED_CKT_CHANEL_NOT_AVIL:
        case ERR_RESOURCE_UNAVAIL_UNSPECIFIED:
        case ERR_CM_MM_AUTH_FAILURE:
            error_code = ERROR_NETWORK_NOT_AVAILABLE;
            break;

        case ERR_OPR_DTR_BARRING:
        case ERR_CALL_BARRED:
        case ERR_IC_BAR_CUG:
        case ERR_BEARER_CAP_NOT_AVAIL:
        case ERR_CM_MM_ACCESS_BARRED:
            error_code = INCOMING_DEFAULT_ERROR;
            break;

        case ERR_USER_BUSY:
        {
            /* voice call shows user busy, csd call shows network busy */
            if (cm_p->state_info.CallStructureForCallLog.call_type == CM_VOICE_CALL)
            {
                error_code = ERROR_USER_BUSY;
            }
            else
            {
                error_code = ERROR_BUSY_NETWORK;
            }
        }
            break;

        case ERR_NO_USER_RESPONDING:
            error_code = ERROR_NOT_RESPONDING;
            break;

        case ERR_NO_ANSWER_ON_ALERT:
            error_code = ERROR_NO_ANSWER;
            break;

        case ERR_ACM_EXCEEDED:
            error_code = ERROR_ACM_EXCEEDED;
            break;

        case ERR_REQ_FACILITY_UNAVAIL:
        case ERR_IE_NOT_IMPLEMENTED:
        case ERR_CONDITIONAL_MM_IE_ERROR:
        case ERR_CM_MM_ASSIGNMENT_REJECT:
            error_code = ERROR_UNAVAILABLE;
            break;

        case ERR_CSMCC_ILLEGAL_DTMF_TONE:
        case ERR_CSMCC_CALL_ACCEPT_NOT_ALLOW:
        case ERR_MS_ID_NOT_DERIVED_BY_NW:
        case ERR_IMPLICIT_DETACH:
        case ERR_MSG_NOT_COMPAT_WITH_PROTO_STATE:
        case ERR_PROTO_ERROR_UNSPECIFIED:
            error_code = ERROR_UNEXPECTED_ERROR;
            break;

        case ERR_IMSI_UNKNOWN_IN_HLR:
        case ERR_IMSI_UNKNOWN_IN_VLR:
        case ERR_CM_MM_IMSI_DETACH:
            error_code = ERROR_IMSI_UNKNOWN;
            break;

        case ERR_IMEI_NOT_ACCEPTED:
            error_code = ERROR_IMEI_ERROR;
            break;

        case ERR_GPRS_NOT_ALLOWED:
        case ERR_GPRS_NON_GPRS_NOT_ALLOWED:
            error_code = ERROR_GPRS_NOT_ALLOWED;
            break;

        case ERR_CM_MT_DATA_CALL:
            error_code = ERROR_MT_DATA_CALL;
            break;

        case ERR_REQ_FAC_NOT_SUBS:
        case ERR_PLMN_NOT_ALLOWED:
        case ERR_LOCATION_AREA_NOT_ALLOWED:
        case ERR_ROAMING_AREA_NOT_ALLOWED:
        case ERR_GPRS_NOT_ALLOWED_IN_PLMN:
        case ERR_NO_SUITABLE_CELLS_IN_LA:
        case ERR_MSC_TEMP_NOT_REACHABLE:
        case ERR_CM_MM_ABORT_BY_NW:
            /* case ERR_CM_MM_STATE_NOT_ALLOWED_CM: */
        case ERR_BEARER_CAP_NOT_AUTHORISED:
            error_code = ERROR_NETWORK_NOT_ALLOWED;
            break;

        case ERR_CSMCC_CMD_NOT_ALLOW:
        case ERR_SERV_OPTION_NOT_SUPPORTED:
        case ERR_REQ_SERV_OPTION_NOT_SUBSCRIBED:
        case ERR_SERV_OPTION_TEMP_OUT_OF_ORDER:
        case ERR_CALL_CANNOT_BE_IDENTIFIED:
            error_code = ERROR_COMMAND_NOT_SUPPORTED;
            break;

        case ERR_NO_PDP_CONTEXT_ACTIVATED:
        case ERR_SEMANTICALLY_INCORRECT_MSG:
        case ERR_INVALID_MM_MAND_INFO:
            error_code = ERROR_DATA_ERROR;
            break;

        case ERR_MSG_TYPE_NON_EXISTENT:
        case ERR_MSG_TYPE_INCOMPAT_WITH_PROTO_STATE:
            error_code = ERROR_MESSAGE_TYPE_ERROR;
            break;

        case ERR_ACCESS_CLASS_BARRED:
        case ERR_CM_MM_RANDOM_ACCES_FAILURE:
            error_code = ERROR_ACCESS_FAIL;
            break;

        case ERR_CM_MM_CONN_TIMEOUT:
            error_code = ERROR_TIMER_EXPIRED;
            break;

        case ERR_NORMAL_CALL_CLR:
        case ERR_NORMAL_UNSPECIFIED:
            error_code = STR_CALL_ENDED;
            img_id = IMG_CM_STATE_ENDED;
            break;
        case ERR_L4C_USSD_ABORT:
            error_code = ERROR_USSD_ABORTED;
            break;
        case ERR_CM_MM_RR_NO_SERVICE:
        case ERR_CM_MM_NO_SERVICE:
        case ERR_RESERVED:
        case ERR_NUMBER_CHANGED:
        case ERR_PRE_EMPTION:
        case ERR_NON_SEL_USER_CLEAR:
        case ERR_RES_STATUS_ENQ:
        case ERR_ACCESS_INFO_DISCARDED:
        case ERR_RESTR_DIGITAL_INFO:
        case ERR_SER_OPT_UNIMPL:
        case ERR_INVALID_MANDATORY_INF:
        case ERR_MSG_TYPE_UNIMPL:
        case ERR_MSG_TYPE_NOT_COMPATIBLE:
        case ERR_IE_NON_EX:
        case ERR_COND_IE_ERR:
        case ERR_INCOMP_MESG_WITH_STATE:
        case ERR_RECOVERY_ON_TIMER_EXPIRY:
        case ERR_PROTOCOL_ERR_UNSPECIFIED:
        case ERR_CSMCC_CALL_RE_EST:
        case ERR_RETRY_UPON_ENTRY_INTO_NEWCELL_MIN:
        case ERR_RETRY_UPON_ENTRY_INTO_NEWCELL_MAX:
        case ERR_CM_MM_CAUSE_NONE:
        case ERR_L4C_GEN_CAUSE:
            error_code = INCOMING_DEFAULT_ERROR;
            break;

        case ERR_L4C_FDN_FAIL:
            error_code = ERROR_FDN_FAIL;
            break;

        case NO_ACTIVE_CALL:
            error_code = ERROR_INVALID_COMMAND;
            break;

        case ERR_CM_UNKNOWN:
            error_code = INCOMING_UNKNOWN_ERROR;
            break;

        default:
            error_code = INCOMING_DEFAULT_ERROR;
            break;
    }   /* End of Switch */

    ShowCategory62Screen(error_code, img_id, NULL);

    TurnOnBacklight(1);

    SetCallEndCause(0);

    if (GetTotalActiveCallCount() == 0 && GetTotalHoldCallCount() == 0)
    {
        /* only play error tone when not in-call */
        playRequestedTone(tone_id);
        SetErrorToneFlag(tone_id);
    }

    if (cm_p->redial_info.RedialTimer == TRUE)
    {
        /* cannot press key before pop up disappear,
           buy more time for call log writing */
        DeleteSubLCDScreen(SUB_LCD_SCR1001_CM_OUTGOINGCALLSCREEN);
        GoBackSubLCDHistory();
        if (IsScreenPresent(CM_SCR_MARKER))
        {
            DeleteUptoCmScreen();
        }
        DeleteScreenIfPresent(CM_SCR_MARKER);
        ClearInputEventHandler(MMI_DEVICE_ALL);
        SetPOPUpFlag(TRUE);
        SetKeyHandler(ResetRedialAndGoBack, KEY_END, KEY_EVENT_DOWN);
        cm_p->redial_info.ErrRedialScreen = TRUE;
        StartTimer(CM_NOTIFYDURATION_TIMER, CM_NOTIFY_TIMEOUT, ShowRedialScreen);
    }
    else
    {
        /* cannot press key before pop up disappear,
           buy more time for call log writing */
        ClearInputEventHandler(MMI_DEVICE_ALL);
        SetKeyHandler((FuncPtr) GoBackfromNotifyScr, KEY_END, KEY_EVENT_DOWN);
        SetPOPUpFlag(TRUE);
        StartTimer(CM_NOTIFYDURATION_TIMER, CM_NOTIFY_TIMEOUT, GoBackfromNotifyScr);
    }

}
Example #25
0
/*****************************************************************************
 * FUNCTION
 *  mmi_syncml_finish_sync_ind
 * DESCRIPTION
 *  Protocol event handler
 * PARAMETERS
 *  info        [IN]            message content
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_syncml_finish_sync_ind(void *info)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    mmi_syncml_finish_sync_ind_struct *local_data = (mmi_syncml_finish_sync_ind_struct*) info;

    U16 string_id = STR_ID_SYNC_DEFAULT_FAIL;
    U16 image_id = IMG_GLOBAL_UNFINISHED;
    U8 tone_id = ERROR_TONE;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (!mmi_syncml_is_phb_sync_now() && !mmi_syncml_is_tdl_sync_now())
    {
        return;
    }

    g_syncml_context.contact_sync_state = 0;
    g_syncml_context.calendar_sync_state = 0;
    g_syncml_context.abort_state = 0;
    g_syncml_context.sync_progress = 0xFF;
    g_syncml_context.contact_send_noc = 0;
    g_syncml_context.contact_send_current = 0;
    g_syncml_context.contact_recv_noc = 0;
    g_syncml_context.contact_recv_current = 0;
    g_syncml_context.calendar_send_noc = 0;
    g_syncml_context.calendar_send_current = 0;
    g_syncml_context.calendar_recv_noc = 0;
    g_syncml_context.calendar_recv_current = 0;

    mmi_syncml_free_vobj_buffer();

    switch (local_data->result)
    {
        /* process local err */
        case SYNCML_LOCAL_DB_FULL:
            string_id = STR_ID_SYNC_LOCALDB_FULL; 
            break;
            
        /* process server err */
        case SYNCML_OK: /* 200 */
            string_id = STR_ID_SYNC_DONE;
            image_id = IMG_GLOBAL_ACTIVATED;
            tone_id = SUCCESS_TONE;
            break;

        case SYNCML_INVALID_CREDENTIAL: /* 401 */
            string_id = STR_ID_SYNC_INVALID_CREDENTIAL;
            break;

        case SYNCML_MISSING_CREDENTIAL: /* 407 */
            string_id = STR_ID_SYNC_MISSING_CREDENTIAL;
            break;

        case SYNCML_PAYMENT_REQUIRED: /* 402 */
            string_id = STR_ID_SYNC_PAYMENT_REQUIRED;
            image_id = IMG_GLOBAL_WARNING;
            tone_id = WARNING_TONE;
            break;

        case SYNCML_CODE_FORBIDDEN: /* 403 */
            string_id = STR_ID_SYNC_CODE_FORBIDDEN;
            break;
            
        case SYNCML_INCOMPLETE_CMD: /* 412 */
            string_id = STR_ID_SYNC_INCOMPLETE_CMD;
            break;
            
        case SYNCML_DEVICE_FULL: /* 420 */
            string_id = STR_ID_SYNC_SVR_DEVICE_FULL;
            break;

        case SYNCML_SERVICE_UNAVAILABLE: /* 503 */
            string_id = STR_ID_SYNC_SERVICE_UNAVAILABLE;
            break;
            
        case SYNCML_DATASTORE_FAIL: /* 510 */
            string_id = STR_ID_SYNC_DATASTORE_FAIL;
            break;
            
        case SYNCML_SVR_FAIL: /* 511 */
            string_id = STR_ID_SYNC_SVR_FAIL;
            break;
            
        case SYNCML_ERR_OCCUR: /* 512 */
            string_id = STR_ID_SYNC_ERR_OCCUR;
            break;

        case SYNCML_PROTOCOL_UNSUPPORT: /* 513 */
            string_id = STR_ID_SYNC_PROTOCOL_UNSUPPORT;
            break;

        case SYNCML_FAIL: /* 500 */
			string_id = STR_ID_SYNC_FAIL;
			break;
		case SYNCML_ABORT_SYNC:
        default:
            break;
    }

    DisplayPopup(
        (U8*) GetString(string_id),
        image_id,
        1,
        UI_POPUP_NOTIFYDURATION_TIME,
        tone_id);

    SetDelScrnIDCallbackHandler(SCR_ID_SYNC_NOW, NULL);

    DeleteScreenIfPresent(SCR_ID_SYNC_ABORT);
    DeleteScreenIfPresent(SCR_ID_SYNC_BACKGROUND_QUERY);

    if (local_data->result == SYNCML_OK)
    {
        /* update the last anchor because of sync completion */
        if (g_syncml_context.applications_to_sync & SYNCML_DB_PHONEBOOK)
        {
            g_syncml_context.last_phb_anchor[g_syncml_context.active_profile - 1] = g_syncml_context.next_phb_anchor;
          
            memcpy(g_syncml_context.svr_contact_ok_cnt, 
                local_data->svr_contact_ok_cnt, 
                sizeof(g_syncml_context.svr_contact_ok_cnt));
            g_syncml_context.svr_contact_ng_cnt = local_data->svr_contact_ng_cnt;
        }
        if (g_syncml_context.applications_to_sync & SYNCML_DB_TODOLIST)
        {
            g_syncml_context.last_tdl_anchor[g_syncml_context.active_profile - 1] = g_syncml_context.next_tdl_anchor;
            
            memcpy(g_syncml_context.svr_calendar_ok_cnt, 
                local_data->svr_calendar_ok_cnt, 
                sizeof(g_syncml_context.svr_calendar_ok_cnt));
            g_syncml_context.svr_calendar_ng_cnt = local_data->svr_calendar_ng_cnt;
        }
        mmi_syncml_update_settings_to_nvram();
        /* sync report */
        if (g_syncml_context.sync_report_status)
        {
            if (IsScreenPresent(SCR_ID_SYNC_NOW))
            {
                HistoryReplace(SCR_ID_SYNC_NOW, SCR_ID_SYNC_REPORT, mmi_syncml_entry_sync_report);
            }
            else if (isInCall())
            {
                mmi_frm_add_history_before_cm_marker(SCR_ID_SYNC_REPORT, mmi_syncml_entry_sync_report);
            }
            else
            {
                GenericExitScreen(SCR_ID_SYNC_REPORT, mmi_syncml_entry_sync_report);
            }
        }
        else
        {
            DeleteScreenIfPresent(SCR_ID_SYNC_NOW);
        }
    }
    else
    {
        DeleteScreenIfPresent(SCR_ID_SYNC_NOW);
        if (g_syncml_context.applications_to_sync & SYNCML_DB_PHONEBOOK)
        {
            g_syncml_context.next_phb_anchor = g_syncml_context.last_phb_anchor[g_syncml_context.active_profile - 1];
        }
        if (g_syncml_context.applications_to_sync & SYNCML_DB_TODOLIST)
        {
            g_syncml_context.next_tdl_anchor = g_syncml_context.last_tdl_anchor[g_syncml_context.active_profile - 1];
        }
    }

    if (g_syncml_context.applications_to_sync & SYNCML_DB_TODOLIST)
    {
        AlmEnableExpiryHandler(); /* enable alarm */
    }

#ifdef __MMI_SYNCML_SERVER_ALERT_SYNC_SUPPORT__
    mmi_syncml_sas_finish();
#endif
}
Example #26
0
/*****************************************************************************
 * FUNCTION
 *  mmi_ucm_app_make_call
 * DESCRIPTION
 *  Sample code
 * PARAMETERS
 *  call_type       [IN]            Call type
 *  num_uri			[IN]			Number or URI in unicode string
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_ucm_app_make_call(mmi_ucm_call_type_enum call_type, U8 *num_uri)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 unicodeLen = 0;

#ifdef __MMI_BG_SOUND_EFFECT__
    U8 num_type = 0;
#endif /* __MMI_BG_SOUND_EFFECT__ */

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/    
    unicodeLen = (MMI_UCM_MAX_NUM_URI_LEN > mmi_ucs2strlen((S8*)num_uri)) ? (mmi_ucs2strlen((S8*)num_uri)) : (MMI_UCM_MAX_NUM_URI_LEN - 1);
    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
    g_ucm_p->mo_info.dial_type = call_type;
    memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
    mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);

#ifdef __MMI_BG_SOUND_EFFECT__

    num_type = applib_ss_string_parsing((U8*)g_ucm_p->mo_info.dial_num.num_uri, (U8)unicodeLen);

    if (mmi_bgsnd_common_get_mo_bgs_permit_state() &&
        ((call_type & MMI_UCM_VOICE_CALL_TYPE_ALL) || (call_type == MMI_UCM_VOIP_CALL_TYPE)) &&
        mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_NO_CSD) == 0 &&
        mmi_ucm_emergency_call_present() == FALSE &&
        num_type == CC_OPERATION &&
    #ifdef __CTM_SUPPORT__
        (mmi_gsm_ctm_is_on() == FALSE) &&
    #endif /* __CTM_SUPPORT__ */ 
        mmi_ucm_is_sos_number(g_ucm_p->mo_info.dial_type, g_ucm_p->mo_info.dial_num.num_uri) == FALSE &&
        mmi_bootup_get_active_flight_mode() == FLIGHTMODE_OFF)
    {        
        if (g_ucm_p->call_misc.is_bgs_selected == FALSE)
        {
            /* select background sound effect */
            mmi_ucm_entry_bgs_effect_select();

            return;
        }
        else
        {
            /* reset the flag and continue outgoing call procedure */
            g_ucm_p->call_misc.is_bgs_selected = FALSE;

            /* delete idle dial pad related screens */
            mmi_idle_delete_dialpad_from_history();
        }
    }
#endif /* __MMI_BG_SOUND_EFFECT__ */
    
    mmi_ucm_outgoing_call_sendkey();

    /* abort auto redial if necessary */
    if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL || IsScreenPresent(SCR_ID_UCM_AUTO_REDIAL))
    {
        StopTimer(UCM_AUTO_REDIAL_TIMER);
        ClearDelScrnIDCallbackHandler(SCR_ID_UCM_AUTO_REDIAL, NULL);
        
        if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL)
        {
            EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
        }

        DeleteScreenIfPresent(SCR_ID_UCM_AUTO_REDIAL);
        if (g_ucm_p->auto_redial.abort_hdlr)
        {
            g_ucm_p->auto_redial.abort_hdlr();                
        }
        memset(&g_ucm_p->auto_redial, 0, sizeof(mmi_ucm_auto_redial_struct));
    }
}
Example #27
0
/*****************************************************************************
 * FUNCTION
 *  mmi_ucm_app_make_call_with_source
 * DESCRIPTION
 *  Sample code
 * PARAMETERS
 *  call_type       [IN]            Call type
 *  num_uri			[IN]			Number or URI in unicode string
 * RETURNS
 *  void
 *****************************************************************************/
MMI_BOOL mmi_ucm_app_make_call_with_source(mmi_ucm_module_origin_enum module_id, mmi_ucm_call_type_enum call_type, U8 *num_uri)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 unicodeLen = 0;
    U8* num_uri_ascii = NULL;
    MMI_BOOL result = TRUE;
    
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((mmi_bootup_get_active_flight_mode()))
    {
        result = FALSE;
        return result;
    }
#ifdef __MMI_WLAN_FEATURES__
    else if ((mmi_netset_get_active_preferred_mode() == P_WLAN_ONLY) && (call_type != MMI_UCM_VOIP_CALL_TYPE))
    {
        result = FALSE;
        return result;
    }
#endif /* __MMI_WLAN_FEATURES__ */
    else if (mmi_ucm_is_pending_action() == MMI_TRUE)
    {
        result = FALSE;
        return result;
    }

    unicodeLen = (MMI_UCM_MAX_NUM_URI_LEN > mmi_ucs2strlen((S8*)num_uri)) ? (mmi_ucs2strlen((S8*)num_uri)) : (MMI_UCM_MAX_NUM_URI_LEN - 1);
    num_uri_ascii = OslMalloc((unicodeLen + 1) * ENCODING_LENGTH);
    memset(num_uri_ascii, 0, (unicodeLen + 1) * ENCODING_LENGTH);
    mmi_ucs2_n_to_asc((S8*)num_uri_ascii, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);
    
    /* do not check sos number for SAT call */
    if ((module_id != MMI_UCM_FROM_SAT) && (mmi_ucm_is_sos_number(call_type, num_uri_ascii) == TRUE))
    {
        if (mmi_ucm_is_sos_in_call_list() == FALSE)
        {
        #if defined(__MMI_DUAL_SIM_MASTER__)
            mmi_ucm_set_call_channel(call_type);
        #endif /* __MMI_DUAL_SIM_MASTER__ */

            g_ucm_p->mo_info.module_id = module_id;
            g_ucm_p->mo_info.dial_type = call_type;
            memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
            mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);

            /* If CSD number is ECC, the CSD call fails while ECC voice should be dialed. */
            if (call_type & MMI_UCM_CSD_CALL_TYPE)
            {
                g_ucm_p->mo_info.dial_type = MMI_UCM_VOICE_CALL_TYPE;
            
                if (g_ucm_p->mo_info.module_id == MMI_UCM_FROM_ABM)
                {
                    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
                }
                result = FALSE;
            }
            else if (call_type & MMI_UCM_CSD_CALL_TYPE_SIM2)
            {
                g_ucm_p->mo_info.dial_type = MMI_UCM_VOICE_CALL_TYPE_SIM2;

                if (g_ucm_p->mo_info.module_id == MMI_UCM_FROM_ABM)
                {
                    g_ucm_p->mo_info.module_id = MMI_UCM_FROM_IDLE;
                }
                result = FALSE;                
            }

            if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_ALL) != 0)
            {
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] End All Calls before Dial SOS\n");
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_end_all_action();
            }
            else
            {            
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] Directly Dial SOS\n");
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_dial_action();
            }
        }
        else /* not allow to dial this sos number */
        {
            result = FALSE;
        }        
    }
    else /* not a sos number */
    {
        if (!strlen((S8*)num_uri_ascii)) /* empty number */
        {
            result = FALSE;
        }
        else if ((!mmi_bootup_is_sim_valid()) && 
                 (call_type != MMI_UCM_VOIP_CALL_TYPE) && 
                 !(call_type & MMI_UCM_SIM2_CALL_TYPE_ALL))
        {
            result = FALSE;
        }
    #if defined(__MMI_DUAL_SIM_MASTER__)
        else if ((!mmi_bootup_is_sim2_valid()) &&
                 (call_type & MMI_UCM_SIM2_CALL_TYPE_ALL))
        {
            result = FALSE;
        }
    #endif /* __MMI_DUAL_SIM_MASTER__ */
        /* Data/CSD call priority is lower than voice call priority. */
        else if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_ALL) && (call_type & (MMI_UCM_CALL_TYPE_DATA_CSD_ALL)))
        {
            result = FALSE;
        }
        else if ((mmi_ucm_is_busy() == FALSE) && (mmi_ucm_dial_option() == TRUE))
        {
        #if defined(__MMI_DUAL_SIM_MASTER__)
            mmi_ucm_set_call_channel(call_type);
        #endif /* __MMI_DUAL_SIM_MASTER__ */

            g_ucm_p->mo_info.module_id = module_id;
            g_ucm_p->mo_info.dial_type = call_type;
            memset(g_ucm_p->mo_info.dial_num.num_uri, 0, MMI_UCM_MAX_NUM_URI_LEN);
            mmi_ucs2_n_to_asc((S8*)g_ucm_p->mo_info.dial_num.num_uri, (S8*)num_uri, unicodeLen * ENCODING_LENGTH);
        
            if ((g_ucm_p->mo_info.dial_type & MMI_UCM_VOICE_CALL_TYPE_ALL) && 
                (SS_OPERATION == applib_ss_string_parsing((U8*)g_ucm_p->mo_info.dial_num.num_uri, (U8)strlen((S8*)g_ucm_p->mo_info.dial_num.num_uri))))
            {
                /* dial directly if SS operation or SIM operation */
                mmi_ucm_dial_action();
            }
            else if (mmi_ucm_app_total_call(MMI_UCM_CALL_TYPE_DATA_CSD_ALL) && (g_ucm_p->mo_info.dial_type & MMI_UCM_CALL_TYPE_NO_DATA_CSD))
            {
                /* normal call and data call cannot co-exist */
                PRINT_INFORMATION("\n[mmi_ucm_app_make_call_with_source] End All Calls before Dial %d\n", g_ucm_p->mo_info.dial_type);
                g_ucm_p->mo_info.is_wait_dial = TRUE;
                mmi_ucm_end_all_action();
            }
            else if (mmi_ucm_get_active_group(MMI_UCM_CALL_TYPE_ALL, FALSE, g_ucm_p->call_misc.index_list) == MMI_UCM_MAX_ACTIVE_TAB)
            {
                mmi_ucm_hold_and_dial_action();
            }
            else
            {
                mmi_ucm_dial_action();
            }
            result = TRUE;
        }
        else
        {
            result = FALSE;
        }
    }

    if (result == TRUE)
    {
        /* abort auto redial if necessary */
        if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL ||
            IsScreenPresent(SCR_ID_UCM_AUTO_REDIAL))
        {
            StopTimer(UCM_AUTO_REDIAL_TIMER);
            ClearDelScrnIDCallbackHandler(SCR_ID_UCM_AUTO_REDIAL, NULL);
            
            if (GetExitScrnID() == SCR_ID_UCM_AUTO_REDIAL)
            {
                EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
            }

            DeleteScreenIfPresent(SCR_ID_UCM_AUTO_REDIAL);
            if (g_ucm_p->auto_redial.abort_hdlr)
            {
                g_ucm_p->auto_redial.abort_hdlr();                
            }
            memset(&g_ucm_p->auto_redial, 0, sizeof(mmi_ucm_auto_redial_struct));
        }
    }

    OslMfree(num_uri_ascii);
    return result;
}
Example #28
0
/*****************************************************************************
 * FUNCTION
 *  mmi_netset_entry_user_ctrl_plmn_add_data
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_netset_entry_user_ctrl_plmn_add_data(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 *guiBuffer;          /* Buffer holding history data */
    U8 *inputBuffer;        /* added for inline edit history */
    U16 inputBufferSize;    /* added for inline edit history */
    U16 IconList[] = {IMG_GLOBAL_L1, 0, IMG_GLOBAL_L2, 0};

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_ID_NETSET_USER_CTRL_PLMN_ADD, mmi_netset_exit_user_ctrl_plmn_add_data, NULL, NULL);

    guiBuffer = GetCurrGuiBuffer(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
    inputBuffer = GetCurrNInputBuffer(SCR_ID_NETSET_USER_CTRL_PLMN_ADD, &inputBufferSize);      /* added for inline edit history */

    InitializeCategory57Screen();
    mmi_netset_set_user_ctrl_plmn_add_inline_editor();

    if (inputBuffer != NULL)
    {
        SetCategory57Data(wgui_inline_items, 4, inputBuffer);
    }

    ClearHighlightHandler();

    if (IsScreenPresent(SCR_ID_NETSET_USER_CTRL_PLMN_LIST))
    {
        ShowCategory57Screen(
            STR_GLOBAL_ADD,
            MAIN_MENU_TITLE_SETTINGS_ICON,
            STR_GLOBAL_OK,
            IMG_GLOBAL_OK,
            STR_GLOBAL_BACK,
            IMG_GLOBAL_BACK,
            4,
            IconList,
            wgui_inline_items,
            1,
            guiBuffer);
    }
    else
    {
        ShowCategory57Screen(
            STR_GLOBAL_ADD,
            MAIN_MENU_TITLE_SETTINGS_ICON,
            STR_GLOBAL_OK,
            IMG_GLOBAL_OK,
            STR_GLOBAL_BACK,
            IMG_GLOBAL_BACK,
            4,
            IconList,
            wgui_inline_items,
            3,
            guiBuffer);
    }

    SetCategory57RightSoftkeyFunctions(mmi_netset_save_user_ctrl_plmn_confirm, GoBackHistory);

    DeleteScreenIfPresent(SCR_ID_NETSET_UNKNOWN_PLMN_MSG);
}
Example #29
0
/*****************************************************************************
 * FUNCTION
 *  mmi_netset_entry_user_ctrl_plmn_add_one
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_netset_entry_user_ctrl_plmn_add_one(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 plmn_ansii[MAX_PLMN_LEN + 1], opname_asnii[MAX_LENGTH_DISPLAY_NAME];
    U32 plmn_usr;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (mmi_ucs2strlen((S8*) gUserCtrlPlmnList.PlmnAddNumber) < MAX_PLMN_LEN - 1 ||
        mmi_ucs2cmp((S8*) gUserCtrlPlmnList.PlmnAddString, (S8*) L"") == 0)
    {
        DisplayPopup(
            (PU8) GetString(STR_GLOBAL_UNFINISHED),
            IMG_GLOBAL_UNFINISHED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            ERROR_TONE);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
        return;
    }

    mmi_ucs2_to_asc((S8*) plmn_ansii, (S8*) gUserCtrlPlmnList.PlmnAddNumber);
    mmi_ucs2_to_asc((S8*) opname_asnii, (S8*) gUserCtrlPlmnList.PlmnAddString);

    CloseCategory57Screen();

    if (mmi_netset_retrieve_opname_from_plmn(plmn_ansii, NULL) >= 0)
    {
        /* duplicated */
        DisplayPopup(
            (PU8) GetString(STR_ID_NETSET_DUPLICATED_PLMN),
            IMG_GLOBAL_UNFINISHED,
            1,
            UI_POPUP_NOTIFYDURATION_TIME,
            ERROR_TONE);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
        DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);
        return;
    }

    DisplayPopup(
        (U8*) GetString(STR_GLOBAL_DONE),
        IMG_GLOBAL_ACTIVATED,
        1,
        UI_POPUP_NOTIFYDURATION_TIME,
        (U8) SUCCESS_TONE);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_OPTIONS);
    DeleteScreenIfPresent(SCR_ID_NETSET_USER_CTRL_PLMN_ADD);

    /* write data to nvram */
    plmn_usr = mmi_netset_plmn_str_2_bcd_short(plmn_ansii);
    memset(gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize], 0, 24);
    memcpy(gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize], (char*)(&plmn_usr), sizeof(U32));
    memcpy(
        gUserCtrlPlmnList.PrefPLMN[gUserCtrlPlmnList.PlmnListSize] + sizeof(U32),
        opname_asnii,
        strlen((S8*) opname_asnii));
    gUserCtrlPlmnList.PlmnListSize++;

    mmi_netset_access_user_ctrl_plmn_nvram(1);

    RefreshNwProviderName(gPLMN);
}
Example #30
0
void CALLSETBarringRsp(void * info )
{

	mmi_ss_call_barring_rsp_struct *pMsgBarringRsp = 
		(mmi_ss_call_barring_rsp_struct *) info ;
	U8 bs_index;

	memset(g_callset_cntx_p->SSDisplayBuffer,0, MAX_DISP_UCS2);

	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OUT);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_IN);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OLD_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_OPTION);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_NEW_PASS);
	DeleteScreenIfPresent(SCR_ID_CALLSET_BARRING_CFRM_PASS);
	
	/* check the status of the response result */
	if(pMsgBarringRsp->result.flag == L4C_OK) {
		/* if the response is success check the type */
		switch ( pMsgBarringRsp->type) {
			/* call barring all outgoing calls */
			case L4_BAOC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BAOC_A));
				break;
			/* call barring all outgoing international calls */
			case L4_BOIC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BOIC_A));
				break;
			/* call barring all outgoing international calls except home */
			case L4_BOICEXHC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BOICEXHC_A));
				break;
			/* call barring all incoming calls */
			case L4_BAIC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BAIC_A));
				break;
			/* call barring all incoming roaming calls */
			case L4_BAICROAM:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BAICROAM_A));
				break;
			/* call barring cancel all calls */
			case L4_BAC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BAC_A));
				break;
			/* call barring all outgoing calls */
			case L4_BOC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BOC_A));
				break;
			/* call barring all incoming calls */
			case L4_BIC:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_BIC_A));
				break;
			default:
				pfnUnicodeStrcpy((PS8)g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_DEFAULT_A));
				break;
			}
			/* format the result string with active/deactive tags. */
			if (pMsgBarringRsp->count == 0 ) {
				pfnUnicodeStrcat((PS8) g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_DEACTIVATED));
			}
			for ( bs_index = 0; bs_index < pMsgBarringRsp->count; bs_index++)
			{
				if (( pfnUnicodeStrlen((PS8)GetString(STR_L4_ALL_TELESERVICES_EXCEPT_SMS))
						+ pfnUnicodeStrlen((PS8)GetString(STR_DEACTIVATED))
						+ pfnUnicodeStrlen((PS8)g_callset_cntx_p->SSDisplayBuffer)) < MAX_DISP_UCS2 / ENCODING_LENGTH) 
				{
					if (pMsgBarringRsp->list[bs_index].ss_status & SS_ABIT) 
			{
				pfnUnicodeStrcat((PS8) g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_ACTIVATED));
			}
			else
			{
				pfnUnicodeStrcat((PS8) g_callset_cntx_p->SSDisplayBuffer,(PS8)GetString(STR_DEACTIVATED));
			}
					AppendBScodeString( pMsgBarringRsp->list[bs_index].bs_code, (PS8)g_callset_cntx_p->SSDisplayBuffer);
				}
			}
		/* call the result screen function to display the result string */
//micha0322
		DeleteScreenIfPresent(SCR_ID_CALLSET_GENERAL_SS_RESULT);			
		EntryCALLSETGeneralSSResut();
	}
	else {
		/* in case of response failure */
#ifdef  __MMI_SS_SHOW_CAUSE__
		ShowCauseString( pMsgBarringRsp->result.cause, (PS8)g_callset_cntx_p->SSDisplayBuffer);
//micha0322
		DeleteScreenIfPresent(SCR_ID_CALLSET_GENERAL_SS_RESULT);
		EntryCALLSETGeneralSSResut();
#else
		/* display the not done popup */
//micha0616
		if ( pMsgBarringRsp->result.cause == CM_SS_ERR_NEGATIVEPW_CHECK ) {
			DisplayPopup( (PU8) GetString( STR_SETTING_WRONG), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}
		else if (pMsgBarringRsp->result.cause == CM_SS_ERR_NUMBEROFPW_ATTEMPTSVIOLATION) {
			DisplayPopup( (PU8) GetString( STR_SETTING_BLOCK), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}
		else {
			DisplayPopup( (PU8) GetString( STR_GLOBAL_NOT_DONE), IMG_GLOBAL_UNFINISHED, 0, CS_NOTIFYDURATION, ERROR_TONE);
		}

//micha0915
		RemoveSSReqScr();
#endif
	}
	aud_speech_set_mode(KAL_FALSE); //chenhe,070808. for callforward,CM_KB_OUTGOINGCALL is been sent,so have to do so here
	return;
}