📄 textphonecontrol.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*******************************************************************************
* Modification Notice:
* --------------------------
* This software is modified by MediaTek Inc. and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2001
*
*******************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* TextPhoneControl.c
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
* .......
*
* Author:
* -------
* -------
*
*------------------------------------------------------------------------------
* $Log$
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
*******************************************************************************/
#ifdef __CTM_SUPPORT__
// #define __CTM_DEBUG
#include "stdC.h"
#include "MMI_Features.h"
#include "L4Dr.h"
#include "L4Dr1.h"
#include "TimerEvents.h"
#include "PixtelDataTypes.h"
#include "DebugInitDef.h"
#include "EventsGprot.h"
#include "GlobalDefs.h"
#include "GlobalConstants.h"
#include "GlobalMenuItems.h"
#include "QueueGprot.h"
#include "HistoryGprot.h"
#include "CommonScreens.h"
#include "NVRAMEnum.h"
#include "NVRAMType.h"
#include "NVRAMProt.h"
#include "wgui_categories.h"
#include "wgui_categories_util.h"
#include "wgui_categories_inputs.h"
#include "wgui_status_icons.h"
#include "wgui_tab_bars.h"
#include "wgui_categories_IMPS.h"
#include "gpioInc.h"
#include "SettingProfile.h"
#include "CallManagementIDDef.h"
#include "CallManagementStruct.h"
#include "OutgoingCallHelperProt.h"
#include "OutgoingCallManagementProt.h"
#include "TextPhoneDef.h"
#include "TextPhoneProt.h"
static mmi_ctm_context_struct g_ctm_cntxt;
mmi_ctm_context_struct *ctm_p = &g_ctm_cntxt;
/*****************************************************************************
* FUNCTION
* mmi_init_ctm_call
* DESCRIPTION
* To Initialize the CTM Call application
*
* This function sets up the handlers required for event flow and
* application management
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_init_ctm_call(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
memset(ctm_p, 0, sizeof(mmi_ctm_context_struct));
ReadValue(NVRAM_CTM_MODE, &ctm_p->status, DS_BYTE, &error);
ReadValue(NVRAM_CTM_SETTING, &ctm_p->mode_setting, DS_BYTE, &error);
if (ctm_p->status == 0xff)
{
ctm_p->status = FALSE;
}
if (ctm_p->mode_setting == 0xff)
{
ctm_p->mode_setting = MMI_CTM_SETTING_MANUAL_DIRECT;
}
mmi_ctm_send_get_default_req();
SetHiliteHandler(MITEM_CTM_MENU, highlight_ctm_main);
SetHiliteHandler(MITEM_CTM_MODE, highlight_ctm_mode);
SetHiliteHandler(MITEM_CTM_SETTING, highlight_ctm_setting);
SetHiliteHandler(MITEM_CTM_EDITOR_DONE, highlight_ctm_edit_done);
SetHiliteHandler(MITEM_CTM_INPUT_METHOD, highlight_ctm_input_method);
SetHintHandler(MITEM_CTM_MODE, hint_ctm_mode);
SetProtocolEventHandler(mmi_ctm_get_default_rsp_hdlr, MSG_ID_MMI_CTM_DEFAULT_CHANGED_IND);
SetProtocolEventHandler(mmi_ctm_connect_ind_hdlr, MSG_ID_MMI_CTM_CONNECTED_IND);
SetProtocolEventHandler(mmi_ctm_recv_text_ind_hdlr, MSG_ID_MMI_CTM_RECV_TEXT_IND);
/* SetProtocolEventHandler (mmi_ctm_tty_plug_ind_hdlr, MSG_ID_MMI_CTM_TTY_PLUG_IND); */
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_get_state
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
U8 mmi_ctm_get_state(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return (U8) ctm_p->state;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_set_state
* DESCRIPTION
*
* PARAMETERS
* state [IN]
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void mmi_ctm_set_state(U8 state)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION(("\n SET CTM STATE:%d \n", state));
ctm_p->state = state;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_reset_buffer
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void mmi_ctm_reset_buffer(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
memset(ctm_p->remote_buffer, 0, MAX_CTM_DATA_BUFFER_LEN);
memset(ctm_p->local_buffer, 0, MAX_CTM_DATA_BUFFER_LEN);
memset(ctm_p->pending_buffer, 0, MAX_CTM_EDITOR_BUFFER_LEN);
memset(ctm_p->editor_buffer, 0, MAX_CTM_EDITOR_BUFFER_LEN);
ctm_p->remote_len = 0;
ctm_p->local_len = 0;
ctm_p->pending_len = 0;
ctm_p->sent_len = 0;
}
/*****************************************************************************
* FUNCTION
* highlight_ctm_main
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void highlight_ctm_main(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
SetLeftSoftkeyFunction(entry_ctm_menu, KEY_EVENT_UP);
SetKeyHandler(entry_ctm_menu, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
}
/*****************************************************************************
* FUNCTION
* highlight_ctm_mode
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void highlight_ctm_mode(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (ctm_p->status == TRUE)
{
ChangeLeftSoftkey(STR_GLOBAL_OFF, 0);
}
else
{
ChangeLeftSoftkey(STR_GLOBAL_ON, 0);
}
ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetLeftSoftkeyFunction(mmi_ctm_toggle_mode, KEY_EVENT_UP);
}
/*****************************************************************************
* FUNCTION
* highlight_ctm_setting
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void highlight_ctm_setting(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -