char *temp_media_id = evas_object_data_get(entry, "media_id");
char *media_type_str = evas_object_data_get(entry, "media_type");
- if (strstr(media_type_str, "location") != NULL) {
+ if (media_type_str && strstr(media_type_str, "location") != NULL) {
char *url = evas_object_data_get(entry, "location_url");
launch_app_control(ad, media_type_str, url);
return;
char *media_file = get_media_path_from_db(media_id);
-
if( access (media_file, F_OK) != -1 ) {
} else {
}
if (!media_file || strlen(media_file) <= 0) {
-
Eina_Bool ret = send_request_for_media_downloading(ad, ad->service_client, ad->peer_in_cahtting_data->use_data->peer_id, media_id);
if (!ret) {
show_toast(ad, "Please check your network connection.");
return;
}
-
// show progress bar
char temp_msg[256] = {0,};
- snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Bold color=#008000 align=center><font_size=15>%s</font_size></font>", "Downloading...");
- elm_object_text_set(button, temp_msg);
+ snprintf(temp_msg, sizeof(temp_msg), "%s", "Downloading...");
+ elm_object_part_text_set(button, "size", temp_msg);
Evas_Object* progressbar = elm_progressbar_add(button);
elm_object_style_set(progressbar, "process_small");
evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_color_set(progressbar, 255, 255, 255, 255);
elm_progressbar_pulse(progressbar, EINA_TRUE);
evas_object_show(progressbar);
- Evas_Object* old_content = elm_object_content_get(button);
+ Evas_Object* old_content = elm_object_part_content_unset(button, "download_image");
if (old_content) {
evas_object_del(old_content);
}
- elm_object_content_set(button, progressbar);
+ elm_object_part_content_set(button, "download_image", progressbar);
evas_object_data_set(button, "image_state", "download_in_progress");
} else {
}
sprintf(tot_dur, format, minutes, seconds);
- elm_object_part_text_set(progressbar, "elm.text.bottom.left", tot_dur);
+ elm_object_part_text_set(progressbar, "elm.text.bottom.right", tot_dur);
double current_status = (double)((double)current/(double)total);
}
}
-/*
-static Eina_Bool progress_timer_cb(void *data)
-{
- double value = 0.0;
- Evas_Object *progressbar = data;
-
- value = elm_progressbar_value_get(progressbar);
- if (value == 1.0) value = 0.0;
- value = value + 0.01;
- elm_progressbar_value_set(progressbar, value);
-
- return ECORE_CALLBACK_RENEW;
-}
-*/
-
static void progressbar_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
elm_object_part_text_set(progressbar, "elm.text.top.left", "");
elm_object_part_text_set(progressbar, "elm.text.top.right", "");
- elm_object_part_text_set(progressbar, "elm.text.bottom.left", "00:00");
-
- int seconds = (int) (duration / 1000) % 60 ;
- int minutes = (int) ((duration / (1000*60)) % 60);
-
- char tot_dur[256] = {0,};
- char *format = NULL;
- if (seconds < 10 && minutes < 10) {
- format = "0%d:0%d";
- } else if (seconds > 10 && minutes < 10) {
- format = "%d:0%d";
- } else if (seconds < 10 && minutes > 10) {
- format = "0%d:%d";
- } else {
- format = "0%d:0%d";
- }
-
- sprintf(tot_dur, format, minutes, seconds);
-
- elm_object_part_text_set(progressbar, "elm.text.bottom.right", tot_dur);
+ elm_object_part_text_set(progressbar, "elm.text.bottom.right", "00:00");
return progressbar;
}
peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id);
int buddy_id = sel_item->use_data->peer_id;
-
char* tablename = get_table_name_from_number(buddy_id);
+
tg_message_s* msg = get_message_from_message_table(message_id, tablename);
+
free(tablename);
+
if (!msg) {
return NULL;
}
evas_object_size_hint_align_set(rec_video_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(rec_video_layout);
-
/**************** play icon **********************/
Evas_Object* play_pause_btn = elm_button_add(parent);
elm_object_style_set(play_pause_btn, "transparent");
Evas_Object* play_pause_icon = elm_image_add(parent);
evas_object_size_hint_align_set(play_pause_icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(play_pause_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
elm_image_file_set(play_pause_icon, ui_utils_get_resource(TG_PLAY_NORMAL_ICON), NULL);
elm_image_resizable_set(play_pause_icon, EINA_TRUE, EINA_TRUE);
evas_object_show(play_pause_icon);
-
elm_object_content_set(play_pause_btn, play_pause_icon);
Eina_Bool is_play_mode = EINA_TRUE;
evas_object_data_set(play_pause_icon, "is_play_mode", is_play_mode);
- evas_object_data_set(play_pause_icon, "audio_file_path", strdup(audio_file));
+ if (audio_file) {
+ evas_object_data_set(play_pause_icon, "audio_file_path", strdup(audio_file));
+ }
evas_object_data_set(play_pause_icon, "app_data", ad);
evas_object_data_set(play_pause_icon, "user_id", (void*)user_id);
evas_object_data_set(play_pause_icon, "message_id", (void*)message_id);
evas_object_smart_callback_add(play_pause_btn, "clicked", on_message_play_pause_clicked, play_pause_icon);
evas_object_smart_callback_add(play_pause_btn, "pressed", on_message_play_pause_pressed, play_pause_icon);
evas_object_smart_callback_add(play_pause_btn, "unpressed", on_message_play_pause_unpressed, play_pause_icon);
-
elm_object_part_content_set(rec_video_layout, "swallow.play_icon", play_pause_btn);
/**************** play icon **********************/
/*************** progress bar ********************/
+
int total_duration = 0;
if (audio_file) {
metadata_extractor_h metadata;
ret = metadata_extractor_get_metadata(metadata, METADATA_DURATION, &value);
metadata_extractor_destroy(metadata);
-
if (value) {
total_duration = atoi(value);
free(value);
//convert into milli secs
total_duration = 1000 * total_duration;
}
+
Evas_Object *progress = create_audio_progressbar(parent, total_duration);
evas_object_data_set(parent_obj, "play_pause_icon", play_pause_icon);
free(msg->message);
msg->message = NULL;
}
-
if(msg->media_id) {
free(msg->media_id);
msg->media_id = NULL;
}
-
free(msg);
free_media_details(media_msg);
-
return rec_video_layout;
}
static Evas_Object * item_provider(void *data, Evas_Object *entry, const char *item)
{
-
Evas_Object *layout = NULL;
if (!strcmp(item, "itemprovider")) {
Evas_Object* chat_scroller = data;
is_blur_image = EINA_TRUE;
}
-
if (msg->media_type == tgl_message_media_document) {
media_msg = get_media_details_from_db(atoll(msg->media_id));
item_to_display = get_media_layout_with_play(img_path, entry, EINA_TRUE);
} else {
-
+ item_to_display = get_image_from_path(img_path, entry);
+ //elm_image_animated_set(item_to_display, EINA_TRUE);
+ //elm_image_animated_play_set(item_to_display, EINA_TRUE);
}
}
item_to_display = get_media_layout_with_play(img_path, entry, EINA_TRUE);
} else {
-
+ item_to_display = get_image_from_path(img_path, entry);
+ evas_object_data_set(entry, "image_object", (void*)item_to_display);
+ //elm_image_animated_set(item_to_display, EINA_TRUE);
+ //elm_image_animated_play_set(item_to_display, EINA_TRUE);
}
}
if ((media_msg && strstr(media_msg->doc_type, "video") != NULL )|| (media_msg && strstr(media_msg->doc_type, "audio") != NULL)) {
img_item = get_media_layout_with_play(img_path, entry, EINA_FALSE);
} else {
-
+ img_item = get_image_from_path(img_path, entry);
+ //elm_image_animated_set(img_item, EINA_TRUE);
+ //elm_image_animated_play_set(img_item, EINA_TRUE);
}
}
elm_object_part_content_set(rec_img_layout, "swallow.image_item", img_item);
} else if (media_msg && strstr(media_msg->doc_type, "audio") != NULL) {
media_size = get_media_size_from_db(atoll(msg->media_id));
} else {
-
+ media_size = get_media_size_from_db(atoll(msg->media_id));
}
}
-
int media_size_kbs = (media_size < (1 << 20)); //convert to kbs
char media_size_str[10] = { 0, };
if (media_size_kbs > 0) {
} else if (media_msg && strstr(media_msg->doc_type, "audio") != NULL) {
evas_object_data_set(entry, "media_type", (void*)strdup("audio"));
} else {
-
+ evas_object_data_set(entry, "media_type", (void*)strdup("image"));
}
}
if (media_msg) {
if (strstr(media_msg->doc_type, "audio") != NULL) {
if (ad->target_direction == TELEGRAM_TARGET_DIRECTION_PORTRAIT || ad->target_direction == TELEGRAM_TARGET_DIRECTION_PORTRAIT_INVERSE) {
- eina_strbuf_append(buf, "<item size=247x30 vsize=full hsize=full href=itemprovider></item>");
+ eina_strbuf_append(buf, "<item size=318x100 vsize=full hsize=full href=itemprovider></item>");
} else {
- eina_strbuf_append(buf, "<item size=190x30 vsize=full hsize=full href=itemprovider></item>");
+ eina_strbuf_append(buf, "<item size=318x100 vsize=full hsize=full href=itemprovider></item>");
}
} else if (strstr(media_msg->doc_type, "video") != NULL) {
} else {
if (media_msg) {
if (strstr(media_msg->doc_type, "audio") != NULL) {
-
- if (ad->target_direction == TELEGRAM_TARGET_DIRECTION_PORTRAIT || ad->target_direction == TELEGRAM_TARGET_DIRECTION_PORTRAIT_INVERSE) {
- elm_object_style_set(entry, "readmessage_audio");
- } else {
- elm_object_style_set(entry, "readmessage_audio_land");
- }
-
- eina_strbuf_append(buf, "<item size=247x30 vsize=full hsize=full href=itemprovider></item>");
+ eina_strbuf_append(buf, "<item size=318x100 vsize=full hsize=full href=itemprovider></item>");
} else if (strstr(media_msg->doc_type, "video") != NULL) {
eina_strbuf_append(buf, "<item size=318x200 vsize=full hsize=full href=itemprovider></item>");
} else {
// download failed.
if (size_btn) {
- Evas_Object* progress = elm_object_content_get(size_btn);
+ Evas_Object* progress = elm_object_part_content_get(size_btn, "download_image");
if (progress) {
evas_object_del(progress);
}
Evas_Object* download_img = get_image_from_path(ui_utils_get_resource(MEDIA_DOWNLOAD_ICON), size_btn);
- elm_object_content_set(size_btn, download_img);
+ elm_object_part_content_set(size_btn, "download_image", download_img);
evas_object_data_set(size_btn, "image_state", "ready_to_download");
char temp_msg[256] = {0,};
snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Bold color=#008000 align=center><font_size=30>%s</font_size></font>", media_size_str);
elm_object_part_text_set(progressbar, "elm.text.top.left", "");
elm_object_part_text_set(progressbar, "elm.text.top.right", "");
- elm_object_part_text_set(progressbar, "elm.text.bottom.left", "00:00");
-
- int seconds = (int) (duration / 1000) % 60 ;
- int minutes = (int) ((duration / (1000*60)) % 60);
-
- char tot_dur[256] = {0,};
- char *format = NULL;
- if (seconds < 10 && minutes < 10) {
- format = "0%d:0%d";
- } else if (seconds > 10 && minutes < 10) {
- format = "%d:0%d";
- } else if (seconds < 10 && minutes > 10) {
- format = "0%d:%d";
- } else {
- format = "0%d:0%d";
- }
-
- sprintf(tot_dur, format, minutes, seconds);
-
- elm_object_part_text_set(progressbar, "elm.text.bottom.right", tot_dur);
-
-
return;
}
elm_object_part_content_set(img_item, "swallow.play_btn", play_img);
} else if (strstr(media_type_str, "image") != NULL) {
elm_image_file_set(img_item, file_path, NULL);
+ //elm_image_animated_set(img_item, EINA_TRUE);
+ //elm_image_animated_play_set(img_item, EINA_TRUE);
}
}
}