对于10A里增加的new feature Iterator viewer实现循环查看

来源:互联网 发布:mac下载软件如何用 编辑:程序博客网 时间:2024/06/06 23:54
由于点击左右键查看信息,是通过得到msg_id,然后再调用mmi_sms_read_msg来实现的。所以实现循环查看,即要修改msg_id. 
修改的函数为mmi_um_query_indexing 
可以修改此函数如下,其中有注释//mtk的部分是新加的语句,谢谢~ 
………………………………………………………………………………………………………………………………
……………………. 
 /* Set data */ 
 memset(result, 0, sizeof(mmi_um_iter_viewer_result_struct)); 
 result->index_number = i + 1; /* display the correct index */ 
 result->total_number = data_list->msg_number; 
 if (i == 0) 
 { 
 result->prev_msg_id = ((srv_um_msg_node_struct *)data_list->list)[(data_list->msg_number) - 1].msg_id;
//mtk 
 /* First one */ 
 result->next_msg_id = ((srv_um_msg_node_struct *)data_list->list)[i + 1].msg_id; 
result->prev_msg_type = ((srv_um_msg_node_struct *)data_list->list)[(data_list->msg_number) -1].msg_type;//mtk 
 result->next_msg_type = ((srv_um_msg_node_struct *)data_list->list)[i + 1].msg_type; 
result->prev_launch_func_ptr = mmi_um_ui_adp_get_viewer_ptr(result->prev_msg_type);//mtk 
result->next_launch_func_ptr = mmi_um_ui_adp_get_viewer_ptr(result->next_msg_type); 
 } 
 else if (i == (data_list->msg_number - 1)) 
 { 
 /* Last one */ 
 result->prev_msg_id = ((srv_um_msg_node_struct *)data_list->list)[i - 1].msg_id; 
 result->next_msg_id = ((srv_um_msg_node_struct *)data_list->list)[0].msg_id;
//mtk 
 result->prev_msg_type = ((srv_um_msg_node_struct *)data_list->list)[i - 1].msg_type; 
 result->next_msg_type = ((srv_um_msg_node_struct *)data_list->list)[0].msg_type;//mtk 
result->prev_launch_func_ptr = mmi_um_ui_adp_get_viewer_ptr(result->prev_msg_type); 
result->next_launch_func_ptr = mmi_um_ui_adp_get_viewer_ptr(result->next_msg_type);//mtk 
 } 
 else 
 { 
…………………………………………………………………………………………………………………………