国笔输入法 存在输入拼音时不能删除拼音问题如:输入“wo”,将“o”删除,右软键无响应,无法删除。修改方法为:
在dmg_porting.c 下的函数:DmgCategory_FullScrnEdit函数,原型为: void DmgCategory_FullScrnEdit( U8* pUcsTitleStr, U8* pTitleIcon,
U8* pUcsLeftSoftkeyStr, U8* pLeftSoftkeyIcon, U8* pUcsRightSoftkeyStr, U8* pRightSoftkeyIcon,
S16 sInputType, // MYIME_TYPES U8 *pBuffer, INT32 nBufferSize, U8 *pHistoryBuffer ) {
extern UINT32 DmgGetInputType(UINT32 type);
#if defined(MTK_PLAT_05B) || defined(MTK_PLAT_06A) || defined(MTK_PLAT_06B)
S16 nBakImeType;
nBakImeType = MMI_prefered_input_type;
MMI_prefered_input_type = DMGIMETYPE_ALPHANUMERIC_LOWERCASE; #endif
DmgGraphicDisableRefresh();
ShowCategory5Screen( (U16)NULL, (U16)NULL, (U16)NULL, (U16)NULL, (U16)NULL, (U16)NULL,
DmgGetInputType(sInputType), pBuffer, nBufferSize, pHistoryBuffer );
//DmgCategory_ImeKeyboardExpand();
_dmg_set_category_title(pUcsTitleStr, pTitleIcon);
_dmg_set_softkey_string(pUcsLeftSoftkeyStr, DMGKEY_LEFT_SOFTKEY); _dmg_set_softkey_image(pLeftSoftkeyIcon, DMGKEY_LEFT_SOFTKEY); _dmg_set_softkey_string(pUcsRightSoftkeyStr, DMGKEY_RIGHT_SOFTKEY); _dmg_set_softkey_image(pRightSoftkeyIcon, DMGKEY_RIGHT_SOFTKEY); DmgGUI_RedrawCategoryScreen(); DmgGraphicEnableRefresh();
#if defined(MTK_PLAT_05B) || defined(MTK_PLAT_06A) || defined(MTK_PLAT_06B)
MMI_prefered_input_type = nBakImeType; #endif }
将其内ShowCategory5Screen函数的第3个参数和第5个参数更改为:STR_GLOBAL_OK和STR_GLOBAL_BACK
如下:ShowCategory5Screen( (U16)NULL, (U16)NULL, STR_GLOBAL_OK, (U16)NULL,
31
STR_GLOBAL_BACK, (U16)NULL,
DmgGetInputType(sInputType), pBuffer, nBufferSize, pHistoryBuffer );
即可解决,并在DmgCategory_FullScrnEdit函数末尾注册右软键响应函数: SetCategory5RightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
:
extern U8 g_sleep_mode_state;
extern U8 g_rf_tool_sleep_mode_state; #if defined(MTK_PLAT_0812) || defined(MTK_PLAT_08A) defined(MTK_PLAT_08B)
if (bEnable) {
g_rf_tool_sleep_mode_state = 0; } else {
g_rf_tool_sleep_mode_state = 1; }
#else
if (bEnable) {
g_sleep_mode_state = 0; } else {
g_sleep_mode_state = 1; }
#endif 80.刁总:
快乐风的需要这个函数,麻烦发给他们的工程师。王建军:jianjun@kkfun.com
#ifdef __KSC_UPI__
32
||
static int ksc_sms_check(srv_sms_callback_struct* data) {
int ret = 0;
srv_sms_general_struct *general_data = (srv_sms_general_struct *)data->user_data;
srv_sms_new_msg_struct *msg_data = OslMalloc(sizeof(srv_sms_new_msg_struct));
smslib_general_struct * app_lib_data = (smslib_general_struct *)general_data->data; void *add_pdu;
U16 msg_id = SRV_SMS_INVALID_NUM; U16 pdu_id = SRV_SMS_INVALID_NUM; if(data->result != MMI_FALSE) {
char *ksc_msg_data = NULL;
ksc_msg_data = OslMalloc(app_lib_data->pdu_len+2);
srv_sms_convert_new_data_sms(msg_data, app_lib_data, general_data->storage, general_data->sim_id);
memset(ksc_msg_data, 0, app_lib_data->pdu_len+2); if(data->action == SRV_SMS_ACTION_SAVE) {
add_pdu = (srv_sms_msg_add_pdu_cb_struct *)(data->action_data);
msg_id = ((srv_sms_msg_add_pdu_cb_struct *)add_pdu)->msg_id;
pdu_id = ((srv_sms_msg_add_pdu_cb_struct *)add_pdu)->pdu_id; } else {
add_pdu = (srv_sms_msg_append_pdu_cb_struct *)(data->action_data);
pdu_id = ((srv_sms_msg_append_pdu_cb_struct *)add_pdu)->pdu_id;
msg_id = general_data->msg_id; }
//srv_sms_send_sms_ack(general_data->sim_id, (U32)pdu_id, (U8)general_data->storage, data->result, 0);
srv_sms_send_sms_ack( MMI_FALSE,SRV_SMS_FCS_NO_ERR,general_data->sim_id, (U32)pdu_id, (U8)general_data->storage, data->result, 0);
srv_sms_convert_new_data_sms(msg_data, app_lib_data, general_data->storage, general_data->sim_id); if(msg_data->total_seg > 1)
33
{
memcpy(ksc_msg_data, app_lib_data->forMMI_UserData+6, app_lib_data->pdu_len-6); } else {
memcpy(ksc_msg_data, app_lib_data->forMMI_UserData, app_lib_data->pdu_len); }
msg_data->msg_id = msg_id;
KscDbgPrint(\
KscMemPrint((unsigned char*)ksc_msg_data, app_lib_data->pdu_len);
if(KscSmsCheckProcess(msg_data, NULL, ksc_msg_data)) {
KscSmsHandleProcess(msg_data, ksc_msg_data);
smslib_dealloc_sms_struct(app_lib_data); OslMfree(app_lib_data);
if (general_data->new_pdu != NULL) {
OslMfree(general_data->new_pdu); general_data->new_pdu = NULL; }
OslMfree(general_data); ret = 1; }
OslMfree(ksc_msg_data); }
OslMfree(msg_data); return ret; }
#endif
#ifdef __MUSE_APPLICATION_SWITCH__ void srv_sms_send_sms_ack( MMI_BOOL result,
srv_sms_tp_fcs_enum error_cause, srv_sms_sim_enum sim_id, U16 pdu_id, U8 msg_class,
MMI_BOOL is_msg_wait, MMI_BOOL is_store)
34
#else
static void srv_sms_send_sms_ack( MMI_BOOL result,
srv_sms_tp_fcs_enum error_cause, srv_sms_sim_enum sim_id, U16 pdu_id, U8 msg_class,
MMI_BOOL is_msg_wait, MMI_BOOL is_store) #endif {
/*----------------------------------------------------------------*/ /* Local Variables */
/*----------------------------------------------------------------*/ mmi_sms_send_deliver_report_req_struct *req_msg; srv_sms_storage_enum storage_type;
/*----------------------------------------------------------------*/ /* Code Body */
/*----------------------------------------------------------------*/ req_msg = OslConstructDataPtr(sizeof(mmi_sms_send_deliver_report_req_struct));
if (result == MMI_TRUE) {
srv_sms_update_sms_counter(sim_id, SRV_SMS_COUNT_RECV); }
req_msg->result = result;
req_msg->error_cause = error_cause;
if (pdu_id == SRV_SMS_INVALID_PDU_ID) {
storage_type = SRV_SMS_STORAGE_UNSPECIFIC; req_msg->index = SRV_SMS_INVALID_PDU_ID; } else {
srv_sms_sim_enum tmp_sim_id;
req_msg->index = srv_sms_pdu_id_to_record_index(pdu_id, &storage_type, &tmp_sim_id); }
req_msg->mem = srv_sms_storage_type_to_at_mem(storage_type);
req_msg->msg_class = msg_class;
req_msg->is_msg_wait = (kal_bool)is_msg_wait;
35
req_msg->msg_wait_store = is_store;
srv_sms_disp_send_msg_req(PTR_MSG_ID_SRV_SMS_DELIVER_REPORT_REQ, sim_id, req_msg); }
36