**********************/
static lv_obj_t * voip_phone_cont_create(lv_obj_t * par, lv_align_t cont_layout, lv_style_t * style, lv_coord_t width);
static lv_obj_t * voip_ring_off_content_create(lv_obj_t * par);
-static void voip_phone_dialing(lv_obj_t * content);
-static void voip_phone_ring(lv_obj_t * content);
-static void voip_phone_connected(lv_obj_t * content);
+static void mmi_video_call_phone_dialing(lv_obj_t * content);
+static void mmi_video_call_phone_ring(lv_obj_t * content);
+static void mmi_video_call_phone_connected(lv_obj_t * content);
static void voip_phone_left_slide_callback(lv_obj_t * obj);
static void voip_phone_right_slide_callback(lv_obj_t * obj);
static void voip_phone_down_slide_callback(lv_obj_t * obj);
/* content */
lv_obj_t * content = lv_cont_create(obj, NULL);
lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj) - 20);
- lv_cont_set_layout(content, LV_LAYOUT_COLUMN_MID);
+ //lv_cont_set_layout(content, LV_LAYOUT_COLUMN_MID);
LV_ASSERT_MEM(content);
if(content == NULL) {
return(NULL);
lv_obj_align(content, obj, LV_ALIGN_CENTER, 0, 0);
if(ext->phone_ui_t == VOIP_PHONE_UI_DIALING) {
- voip_phone_dialing(content);
+ mmi_video_call_phone_dialing(content);
voip_dialing_animation(ext->phone_status_label);
} else if(ext->phone_ui_t == VOIP_PHONE_UI_INCOMING) {
- voip_phone_ring(content);
+ mmi_video_call_phone_ring(content);
voip_ring_animation(ext->phone_status_label);
} else if(ext->phone_ui_t == PHONE_UI_CONNECTED) {
- voip_phone_connected(content);
+ mmi_video_call_phone_connected(content);
voip_connected_animation(ext->phone_status_label);
}
return(obj);
-} /* voip_phone_create */
+}
lv_res_t voip_phone_ring_off_create()
{
}
}
-static void voip_phone_dialing(lv_obj_t * content)
+static void mmi_video_call_phone_dialing(lv_obj_t * content)
{
- printf("%s %d\n", __FUNCTION__, __LINE__);
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_voip_phone_obj_ext_t * ext = voip_phone_get_ext();
return;
}
- lv_obj_t * cont;
-
// label dialing
lv_obj_t * label = lv_label_create(content, NULL);
lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
lv_label_set_text_id(label, WATCH_TEXT_ID_DAILING);
lv_obj_set_click(label, false);
+ lv_obj_align(label, content, LV_ALIGN_IN_TOP_MID, 0, 10);
ext->phone_status_label = label;
- // img small
+ // img
lv_obj_t * img = lv_img_create(content, NULL);
- if(voipcall_params.img_src_small) {
- lv_img_set_src(img, voipcall_params.img_src_small);
- }
-
- cont = voip_phone_cont_create(content, LV_LAYOUT_ROW_MID, &lv_watch_style_transp, -1);
+ lv_img_set_src(img, ICON_VIDEO_CALL_CONTACT_PHOTO);
+ lv_obj_align(img, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 20);
+ lv_obj_set_click(img, false);
// name
- label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
+ label = lv_label_create(content, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- if(strlen(voipcall_params.name) > 0) {
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_obj_set_width(label, lv_obj_get_width(content) - 20);
+ if(strlen(voipcall_params.name) > 0)
+ {
lv_label_set_text(label, voipcall_params.name);
- } else {
- lv_label_set_text(label, "");
+ }
+ else
+ {
+ lv_label_set_text(label, voipcall_params.number);
}
+ lv_obj_align(label, img, LV_ALIGN_OUT_BOTTOM_MID, 0, 20);
lv_obj_set_click(label, false);
- // number
- label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
- lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- lv_label_set_text(label, voipcall_params.number);
- lv_obj_set_click(label, false);
-
- cont = voip_phone_cont_create(content, LV_LAYOUT_OFF, &lv_watch_style_transp, lv_obj_get_width(content) - 40);
-
+ #if 0
// btn volume
lv_obj_t * btn;
btn = lv_imgbtn_create(cont, NULL);
lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_VOLUME);
lv_obj_set_event_cb(btn, voip_volume_btn_action);
lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
+ #endif
// btn ring off
- btn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_OFF);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_OFF);
+ lv_obj_t * btn = lv_imgbtn_create(content, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_HANGUP_BTN);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_HANGUP_BTN);
lv_obj_set_event_cb(btn, voip_ring_off_action);
- lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
-} /* voip_phone_dialing */
+ lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_MID, 0, -30);
+}
-static void voip_phone_ring(lv_obj_t * content)
+static void mmi_video_call_phone_ring(lv_obj_t * content)
{
- printf("%s %d\n", __FUNCTION__, __LINE__);
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG][%s][%d]: \n", __FUNCTION__, __LINE__);
lv_voip_phone_obj_ext_t * ext = voip_phone_get_ext();
lv_obj_set_click(label, false);
ext->phone_status_label = label;
- // img small
+ // img
lv_obj_t * img = lv_img_create(content, NULL);
- if(voipcall_params.img_src_small) {
- lv_img_set_src(img, voipcall_params.img_src_small);
- }
-
- lv_obj_t * cont = voip_phone_cont_create(content, LV_LAYOUT_ROW_MID, &lv_watch_style_transp, -1);
+ lv_img_set_src(img, ICON_VIDEO_CALL_CONTACT_PHOTO);
+ lv_obj_align(img, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+ lv_obj_set_click(img, false);
// name
- label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
+ label = lv_label_create(content, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- if(strlen(voipcall_params.name) > 0) {
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_obj_set_width(label, lv_obj_get_width(content) - 20);
+ if(strlen(voipcall_params.name) > 0)
+ {
lv_label_set_text(label, voipcall_params.name);
- } else {
- lv_label_set_text(label, "");
+ }
+ else
+ {
+ lv_label_set_text(label, voipcall_params.number);
}
+ lv_obj_align(label, img, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
lv_obj_set_click(label, false);
- // number
- label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
- lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- lv_label_set_text(label, voipcall_params.number);
-
- lv_obj_set_click(label, false);
-
- cont = voip_phone_cont_create(content, LV_LAYOUT_OFF, &lv_watch_style_transp, lv_obj_get_width(content) - 40);
-
// btn ring off
lv_obj_t * btn;
- btn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_OFF);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_OFF);
+ btn = lv_imgbtn_create(content, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_HANGUP_BTN);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_HANGUP_BTN);
lv_obj_set_event_cb(btn, voip_ring_off_action);
- lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
+ lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_LEFT, 20, -30);
// btn ring hook
- btn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_HOOK);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_HOOK);
+ btn = lv_imgbtn_create(content, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_ANSWER_BTN);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_ANSWER_BTN);
lv_obj_set_event_cb(btn, voip_ring_hook_action);
- lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
-} /* voip_phone_ring */
+ lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -30);
+}
-static void voip_phone_connected(lv_obj_t * content)
+static void mmi_video_call_phone_connected(lv_obj_t * content)
{
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
lv_voip_phone_obj_ext_t * ext = voip_phone_get_ext();
LV_ASSERT_MEM(ext);
if(voipcall_params.voip_call_type == MODEM_VIDEO_CALL_TYPE_VOICE)
{
- printf("voice call connected %s %d\n", __FUNCTION__, __LINE__);
- ext->local_remote_switch_flag = VOIP_REMOTE_SWITCH_NULL;
- // img small
- lv_obj_t * img = lv_img_create(content, NULL);
-
- printf("%s: img_src_small %p\n", __FUNCTION__, voipcall_params.img_src_small);
- if(voipcall_params.img_src_small) {
- lv_img_set_src(img, voipcall_params.img_src_small);
- }
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
hal_rtc_t rtc_curr; // current rtc time
Hal_Rtc_Gettime(&rtc_curr);
ext->connect_start_time = time_to_seconds(&rtc_curr);
- lv_obj_t * cont = voip_phone_cont_create(content, LV_LAYOUT_ROW_MID, &lv_watch_style_transp, -1);
- lv_obj_set_width(cont, lv_obj_get_width(content));
- lv_obj_add_style(content, LV_OBJ_PART_MAIN, &lv_watch_style_transp);
- // name
- lv_obj_t * label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
- if(strlen(voipcall_params.name) > 0) {
- lv_label_set_text(label, voipcall_params.name);
- } else {
- lv_label_set_text(label, "");
- }
- lv_obj_set_click(label, false);
- lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
-
- // number
- label = lv_label_create(cont, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
- lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- lv_label_set_text(label, voipcall_params.number);
- lv_obj_set_click(label, false);
-
- // duration
- label = lv_label_create(content, NULL);
- lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
- lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
- lv_label_set_text(label, "0:0");
- lv_obj_set_click(label, false);
- lv_obj_set_base_dir(label, LV_BIDI_DIR_LTR);
- ext->phone_status_label = label;
+ ext->local_remote_switch_flag = VOIP_REMOTE_SWITCH_NULL;
- cont = voip_phone_cont_create(content, LV_LAYOUT_OFF, &lv_watch_style_transp, lv_obj_get_width(content) - 40);
+ //lv_obj_add_style(content, LV_OBJ_PART_MAIN, &lv_watch_style_transp);
+ lv_obj_t * img = lv_img_create(content, NULL);
+ lv_img_set_src(img, ICON_VIDEO_CALL_CONTACT_PHOTO);
+ lv_obj_align(img, content, LV_ALIGN_IN_TOP_MID, 0, 10);
+ lv_obj_set_click(img, false);
+
+ // name
+ lv_obj_t * label = lv_label_create(content, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_SROLL);
+ lv_obj_set_width(label, lv_obj_get_width(content) - 20);
+ if(strlen(voipcall_params.name) > 0)
+ {
+ lv_label_set_text(label, voipcall_params.name);
+ }
+ else
+ {
+ lv_label_set_text(label, voipcall_params.number);
+ }
+ lv_obj_align(label, img, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+ lv_obj_set_click(label, false);
- // btn volume
- lv_obj_t * btn;
- btn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_VOLUME);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_VOLUME);
- lv_obj_set_event_cb(btn, voip_volume_btn_action);
- lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
-
- // btn ring off
- btn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_OFF);
- lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_OFF);
- lv_obj_set_event_cb(btn, voip_ring_off_action);
- lv_obj_align(btn, cont, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
+ //duration
+ lv_obj_t * time_label = lv_label_create(content, NULL);
+ lv_obj_add_style(time_label, LV_OBJ_PART_MAIN, &lv_watch_font20);
+ lv_label_set_align(time_label, LV_LABEL_ALIGN_CENTER);
+ lv_label_set_text(time_label, "00:00");
+ lv_obj_set_click(time_label, false);
+ lv_obj_set_base_dir(time_label, LV_BIDI_DIR_LTR);
+ lv_obj_align(time_label, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+ ext->phone_status_label = time_label;
+
+ //btn volume
+ lv_obj_t * btn;
+ btn = lv_imgbtn_create(content, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_VOLUME);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_VOLUME);
+ lv_obj_set_event_cb(btn, voip_volume_btn_action);
+ lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_LEFT, 20, -50);
+
+ //btn ring off
+ btn = lv_imgbtn_create(content, NULL);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_RELEASED, ICON_PHONE_RING_OFF);
+ lv_imgbtn_set_src(btn, LV_BTN_STATE_PRESSED, ICON_PHONE_RING_OFF);
+ lv_obj_set_event_cb(btn, voip_ring_off_action);
+ lv_obj_align(btn, content, LV_ALIGN_IN_BOTTOM_RIGHT, -20, -50);
}
else
{
lv_obj_t * label;
lv_obj_t * btn;
- printf("video call connected %s %d\n", __FUNCTION__, __LINE__);
+ VIDEO_CALL_DEBUG_PRINTF("[@CHENG][%s][%d]: format=%d\n", __FUNCTION__, __LINE__, ext->voiph263fmt);
ext->local_remote_switch_flag = VOIP_REMOTE_SWITCH_REMOTE;
if((ext->voiph263fmt == VOIP_H263_FMT_SQCIF) || (ext->voiph263fmt == VOIP_H263_FMT_QCIF))
lv_watch_obj_set_down_slide_cb(voip_phone_get_obj(), voip_phone_down_slide_callback);
}
}
-} /* voip_phone_connected */
+}
static void voip_phone_prepare_destory(lv_obj_t * activity_obj)
{
voipcall_params.is_mt = true;
voipcall_params.state = MMI_VOIP_CALL_STATE_INCOMING;
strncpy(voipcall_params.number, number, NV_CONTACTS_MAX_NUMBER_LEN);
- voipcall_params.img_src = ICON_FAMILY;
- voipcall_params.img_src_small = ICON_FAMILY_SMALL;
//Hal_Mem_Free(number);
voipcall_params.state = MMI_VOIP_CALL_STATE_DIALING;
voipcall_params.voip_call_type = voip_call_type;
strcpy(voipcall_params.number, number);
- voipcall_params.img_src = ICON_FAMILY;
- voipcall_params.img_src_small = ICON_FAMILY_SMALL;
int8_t ret = mmi_video_call_dial_req(voip_call_type, voipcall_params.number);
if(NULL == voipcall_params.callreq_timer_id)
lv_obj_t * voicebtn = lv_imgbtn_create(cont, NULL);
lv_imgbtn_set_src(voicebtn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_VOICE_BTN);
lv_imgbtn_set_src(voicebtn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_VOICE_BTN);
- lv_obj_align(voicebtn, cont, LV_ALIGN_IN_TOP_MID, 0, LV_VER_RES / 4);
+ lv_obj_align(voicebtn, cont, LV_ALIGN_IN_TOP_MID, 0, 10);
lv_obj_set_event_cb(voicebtn, mmi_video_call_voice_btn_action);
lv_obj_t * videobtn = lv_imgbtn_create(cont, NULL);
- lv_imgbtn_set_src(voicebtn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_VIDEO_BTN);
- lv_imgbtn_set_src(voicebtn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_VIDEO_BTN);
- lv_obj_align(videobtn, cont, LV_ALIGN_IN_BOTTOM_MID, 0, -LV_VER_RES / 4);
+ lv_imgbtn_set_src(videobtn, LV_BTN_STATE_RELEASED, ICON_VIDEO_CALL_VIDEO_BTN);
+ lv_imgbtn_set_src(videobtn, LV_BTN_STATE_PRESSED, ICON_VIDEO_CALL_VIDEO_BTN);
+ lv_obj_align(videobtn, cont, LV_ALIGN_IN_BOTTOM_MID, 0, -10);
lv_obj_set_event_cb(videobtn, mmi_video_call_voideo_btn_action);
//lv_watch_set_free_num(activity_obj, 1);