Implemented no messages UI and Fixed loading crashes 18/51018/1
authorpolu.sandeep <polu.sandeep@samsung.com>
Wed, 4 Nov 2015 11:58:31 +0000 (20:58 +0900)
committerpolu.sandeep <polu.sandeep@samsung.com>
Wed, 4 Nov 2015 11:58:31 +0000 (20:58 +0900)
Change-Id: I15119c0f41befd1185b3d549538c20d86a38034e

18 files changed:
TelegramTizen/res/edje/telegram_init_screen.edc
TelegramTizen/src/contact_selection_view.c
TelegramTizen/src/server_requests.c
TelegramTizen/src/telegramtizen.c
TelegramTizen/src/tg_add_contact.c
TelegramTizen/src/tg_chat_info_view.c
TelegramTizen/src/tg_main_item_deletion_view.c
TelegramTizen/src/tg_messaging_view.c
TelegramTizen/src/tg_search_message_view.c
TelegramTizen/src/tg_set_username_view.c
TelegramTizen/src/tg_settings_view.c
TelegramTizen/src/tg_start_messaging_view.c
TelegramTizen/src/tg_user_info_view.c
TelegramTizen/src/tg_user_main_view.c
TelegramTizen/tg_utils/tg_common.c
TelegramTizen/tg_utils/tg_common.h
tg-engine-service/src/tg-engine-service.c
tg-engine-service/tg_engine/tg_engine.c

index f156659..d7aa0ec 100644 (file)
@@ -3159,6 +3159,44 @@ group
        }
        }
        
+       group
+       {
+               name: "no_chat_layout";
+       parts{
+           part {
+                               name: "swallow.splash_screen,bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       color: 255 255 255 255;
+                               }
+                       }  
+                       part{
+                       name: "no_chats_lbl";
+                       type: SWALLOW;
+                       description{
+                               state: "default" 0.0;
+                               rel1 { relative: 0.05 0.3; }
+                               rel2 { relative: 0.95 0.4; }
+                               color: 0 255 0 255;
+                       }
+               }
+               part{
+                       name: "no_chats_msg_lbl";
+                       type: SWALLOW;
+                       description{
+                               state: "default" 0.0;
+                               rel1 { relative: 0.05 0.4; }
+                               rel2 { relative: 0.95 0.7; }            
+                               color: 255 0 0 255;
+                       }
+               }
+       }       
+       }
+       
+       
        images {
                image: "Telegram-main-icon.png" COMP;
        }
index 4cf652d..8144056 100644 (file)
@@ -305,7 +305,7 @@ void on_cancel_buton_clicked(void *data, Evas_Object *object, void *event_info)
                }
        }
        elm_naviframe_item_pop(ad->nf);
-       ad->current_app_state = TG_BUDDY_LIST_STATE;
+       ad->current_app_state = TG_PEER_SEARCH_VIEW_STATE;
        evas_object_show(ad->panel);
 }
 
index f4d18e3..f18ee5b 100644 (file)
@@ -13,7 +13,7 @@ static void failed_to_communicate_server(appdata_s *ad)
                return;
 
        hide_loading_popup(ad);
-       show_toast(ad, "Check your network settings.");
+       //show_toast(ad, "Check your network settings.");
 }
 
 void send_request_for_restart_server(appdata_s *ad, service_client* service_client)
index 8aa5b26..786558a 100644 (file)
@@ -17,7 +17,7 @@
 #include "tg_settings_view.h"
 #include "device_contacts_manager.h"
 
-static Eina_Bool on_load_main_view_requested(void *data);
+
 static void free_app_data(appdata_s *app_data, Eina_Bool destroy_server);
 static int init_service(appdata_s *app);
 static void popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -1652,7 +1652,7 @@ static int on_message_received_from_buddy(appdata_s *app, bundle *const rec_msg)
                                                Eina_Bool is_today = compare_date_with_current_date(sel_item->last_seen_time);
 
                                                if (is_today) {
-                                                       elm_object_text_set(sel_item->date_lbl, "<font=Tizen:style=Italic color=#000000 align=center><font_size=25>Today</font_size></font>");
+                                                       elm_object_text_set(sel_item->date_lbl, "<font=Tizen:style=Normal color=#000000 align=center><font_size=25>Today</font_size></font>");
                                                } else {
                                                        char *format = NULL;
                                                        time_t t = sel_item->last_seen_time;
@@ -1669,7 +1669,7 @@ static int on_message_received_from_buddy(appdata_s *app, bundle *const rec_msg)
                                                        }
 
                                                        char time_str[256]={0,};
-                                                       snprintf(time_str, sizeof(time_str), "<font=Tizen:style=Italic color=#000000 align=center><font_size=25>%s</font_size></font>", res);
+                                                       snprintf(time_str, sizeof(time_str), "<font=Tizen:style=Normal color=#000000 align=center><font_size=25>%s</font_size></font>", res);
 
                                                        elm_object_text_set(sel_item->date_lbl,time_str);
                                                }
@@ -1885,9 +1885,10 @@ static int on_buddy_unblocked(appdata_s *app, bundle *const rec_msg)
        return result;
 }
 
-static int on_delete_selected_group_chats(appdata_s *app, bundle *const rec_msg)
+static int on_delete_selected_group_chats(appdata_s *ad, bundle *const rec_msg)
 {
-       int result = SVC_RES_FAIL;
+       int result = SVC_RES_OK;
+#if 0
        if (app->current_app_state == TG_USER_MAIN_VIEW_SELECTION_STATE) {
                elm_naviframe_item_pop(app->nf);
                app->current_app_state = TG_USER_MAIN_VIEW_STATE;
@@ -1899,6 +1900,17 @@ static int on_delete_selected_group_chats(appdata_s *app, bundle *const rec_msg)
                refresh_main_list_view(app, EINA_FALSE);
        }
        hide_loading_popup(app);
+#else
+       load_registered_user_data(ad);
+       load_buddy_list_data(ad);
+       load_unknown_buddy_list_data(ad);
+       load_peer_data(ad);
+       load_main_list_data(ad);
+       if (ad->main_item) {
+               elm_naviframe_item_pop_to(ad->main_item);
+       }
+       ecore_timer_add(1, on_load_main_view_requested, ad);
+#endif
        return result;
 }
 
@@ -2565,9 +2577,9 @@ static int on_user_status_updated(appdata_s *app, bundle *const rec_msg)
                                        char status_buf[126] = {'\0'};
                                        if(len_org_str > 30) {
                                                strncpy(res, org_msg, 29);
-                                               sprintf(status_buf,"<font=Tizen:style=Italic color=#A4A4A4 align=left><font_size=26>%s</font_size></font>", res);
+                                               sprintf(status_buf,"<font=Tizen:style=Normal color=#A4A4A4 align=left><font_size=26>%s</font_size></font>", res);
                                        } else {
-                                               sprintf(status_buf, "<font=Tizen:style=Italic color=#A4A4A4 align=left><font_size=26>%s</font_size></font>", org_msg);
+                                               sprintf(status_buf, "<font=Tizen:style=Normal color=#A4A4A4 align=left><font_size=26>%s</font_size></font>", org_msg);
                                        }
                                                elm_object_text_set(sel_item->status_lbl, status_buf);
                                        }
@@ -2604,7 +2616,7 @@ static int _on_service_client_msg_received_cb(void *data, bundle *const rec_msg)
 
        if (strcmp(rec_key_val, "server_not_initialized") == 0) {
                hide_loading_popup(app);
-               show_toast(app, "Please check your network connection.");
+               //show_toast(app, "Please check your network connection.");
                return result;
        } else if (strcmp(rec_key_val, "registration_done") == 0) {
 
@@ -3056,6 +3068,7 @@ void app_nf_back_cb(void *data, Evas_Object *obj, void *event_info)
                        break;
                case TG_CHAT_MESSAGING_VIEW_STATE:
             // to be handled 
+#if 0
                        if (ad->is_last_msg_changed) {
                                // update main view.
                                // refresh main view
@@ -3103,13 +3116,28 @@ void app_nf_back_cb(void *data, Evas_Object *obj, void *event_info)
 
                        }
                        refresh_main_list_view(ad, EINA_FALSE);
+#endif
+
                        eext_object_event_callback_del(ad->nf, EEXT_CALLBACK_MORE, on_messaging_menu_button_clicked);
                        ad->main_item_in_cahtting_data = NULL;
                        ad->buddy_in_cahtting_data = NULL;
                        ad->peer_in_cahtting_data = NULL;
+#if 0
                        elm_naviframe_item_pop(ad->nf);
                        show_floating_button(ad);
                        ad->current_app_state = TG_USER_MAIN_VIEW_STATE;
+#else
+                       show_loading_popup(ad);
+                       load_registered_user_data(ad);
+                       load_buddy_list_data(ad);
+                       load_unknown_buddy_list_data(ad);
+                       load_peer_data(ad);
+                       load_main_list_data(ad);
+                       if (ad->main_item) {
+                               elm_naviframe_item_pop_to(ad->main_item);
+                       }
+                       ecore_timer_add(1, on_load_main_view_requested, ad);
+#endif
                        break;
                case TG_SELECT_BUDDY_VIEW:
                        elm_naviframe_item_pop(ad->nf);
index f723598..8b758e8 100644 (file)
@@ -122,7 +122,7 @@ Evas_Object* on_new_buddy_info_requested(void *data, Evas_Object *obj, const cha
 
                //char* user_status = "online";
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
index 644daf0..d1435e0 100644 (file)
@@ -107,7 +107,7 @@ Evas_Object* on_chat_info_requested(void *data, Evas_Object *obj, const char *pa
 
                //char* user_status = "online";
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
@@ -355,7 +355,7 @@ void on_group_chat_info_updated(appdata_s *ad, char *type_of_change)
                if (sel_item) {
                        char* user_name = replace(sel_item->use_data->print_name, '_', " ");
                        char temp_name[512] = {'\0'};
-                       snprintf(temp_name, 512, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", user_name);
+                       snprintf(temp_name, 512, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", user_name);
                        free(user_name);
                        Evas_Object *profile_name = evas_object_data_get(ad->nf, "chat_info_name");
                        if (profile_name) {
@@ -375,7 +375,7 @@ void on_group_chat_info_updated(appdata_s *ad, char *type_of_change)
 
                        //char* user_status = "online";
                        char status_buf[126] = {'\0'};
-                       sprintf(status_buf, "<font=Tizen:style=Italic color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
+                       sprintf(status_buf, "<font=Tizen:style=Normal color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
                        elm_object_text_set(status_lbl, status_buf);
                }
 
index effb45c..718eea1 100644 (file)
@@ -272,13 +272,26 @@ void on_delete_selected_items_clicked(void *data, Evas_Object *object, void *eve
        }
 
        if (sel_grp_chat && eina_list_count(sel_grp_chat) > 0) {
+               show_loading_popup(ad);
                send_delete_selected_group_chats_request(ad, ad->service_client, sel_grp_chat);
        } else {
+#if 0
                refresh_main_list_view(ad, EINA_FALSE);
                elm_naviframe_item_pop(ad->nf);
                ad->current_app_state = TG_USER_MAIN_VIEW_STATE;
                show_floating_button(ad);
                hide_loading_popup(ad);
+#else
+               load_registered_user_data(ad);
+               load_buddy_list_data(ad);
+               load_unknown_buddy_list_data(ad);
+               load_peer_data(ad);
+               load_main_list_data(ad);
+               if (ad->main_item) {
+                       elm_naviframe_item_pop_to(ad->main_item);
+               }
+               ecore_timer_add(1, on_load_main_view_requested, ad);
+#endif
        }
 }
 
index 4e239a9..0912c7d 100644 (file)
@@ -217,7 +217,7 @@ void on_messaging_menu_option_selected_cb(void *data, Evas_Object *obj, void *ev
 
                        //send group chat delete request
                        show_loading_popup(ad);
-                       send_delete_group_chat_request(ad->service_client, user_data->peer_id);
+                       send_delete_group_chat_request(ad, ad->service_client, user_data->peer_id);
 
                } else {
 
@@ -376,7 +376,7 @@ void on_group_chat_info_changed(appdata_s *ad, char *type_of_change)
                        tg_peer_info_s* user = sel_item->use_data;
                        char* user_name = replace(sel_item->use_data->print_name, '_', " ");
                        char temp_name[512] = {'\0'};
-                       snprintf(temp_name, 512, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", user_name);
+                       snprintf(temp_name, 512, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", user_name);
                        free(user_name);
                        Evas_Object *profile_name = evas_object_data_get(ad->nf, "profile_title");
                        elm_object_text_set(profile_name,temp_name);
@@ -529,7 +529,7 @@ void on_media_chat_item_clicked(void* data, Evas_Object *entry, void* event_info
 
        if (!media_file || strlen(media_file) <= 0) {
 
-               Eina_Bool ret = send_request_for_media_downloading(ad->service_client, ad->peer_in_cahtting_data->use_data->peer_id, media_id);
+               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;
@@ -719,7 +719,7 @@ static void on_message_play_pause_clicked(void *data, Evas_Object *obj, void *ev
 
                } else {
                        elm_object_style_set(progressbar, "pending");
-                       Eina_Bool ret = send_request_for_media_downloading(ad->service_client, ad->peer_in_cahtting_data->use_data->peer_id, atoll(media_id));
+                       Eina_Bool ret = send_request_for_media_downloading(ad, ad->service_client, ad->peer_in_cahtting_data->use_data->peer_id, atoll(media_id));
                        if (!ret) {
                                show_toast(ad, "Please check your network connection.");
                                return;
@@ -1404,7 +1404,7 @@ Evas_Object *on_message_item_content_get_cb(void *data, Evas_Object *obj, const
                                if (media_msg) {
                                        snprintf(loc_url, sizeof(loc_url), "https://maps.google.com/?q=%s,%s", media_msg->latitude, media_msg->longitude);
                                        char temp_msg[4*256] = {0,};
-                                       snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Italic|underline color=#0000FF align=left><font_size=15>%s</font_size></font>", loc_url);
+                                       snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Normal|underline color=#0000FF align=left><font_size=15>%s</font_size></font>", loc_url);
                                        eina_strbuf_append(buf, temp_msg);
                                        elm_entry_entry_set(entry, eina_strbuf_string_get(buf));
                                        eina_strbuf_free(buf);
@@ -1421,7 +1421,7 @@ Evas_Object *on_message_item_content_get_cb(void *data, Evas_Object *obj, const
 
                                if (media_msg) {
                                        char temp_msg[4*256] = {0,};
-                                       snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Italic|underline color=#000000 align=left><font_size=15>%s %s, %s</font_size></font>", media_msg->first_name, media_msg->last_name, media_msg->phone_no);
+                                       snprintf(temp_msg, sizeof(temp_msg), "<font=Tizen:style=Normal|underline color=#000000 align=left><font_size=15>%s %s, %s</font_size></font>", media_msg->first_name, media_msg->last_name, media_msg->phone_no);
                                        eina_strbuf_append(buf, temp_msg);
                                        elm_entry_entry_set(entry, eina_strbuf_string_get(buf));
                                        eina_strbuf_free(buf);
@@ -1558,7 +1558,7 @@ void on_text_message_received_from_buddy(appdata_s* ad, long long message_id, in
        int user_id = (int)evas_object_data_get(chat_list, "user_id");
        peer_with_pic_s *sel_item =  eina_list_nth(ad->peer_list, user_id);
 
-       send_request_for_marked_as_read(ad->service_client, sel_item->use_data->peer_id, sel_item->use_data->peer_type);
+       send_request_for_marked_as_read(ad, ad->service_client, sel_item->use_data->peer_id, sel_item->use_data->peer_type);
        ad->is_last_msg_changed = EINA_TRUE;
        on_user_presence_state_changed(ad, sel_item->use_data->peer_id);
 }
@@ -1917,7 +1917,7 @@ void on_user_status_changed(appdata_s* ad, char* status)
 
        Evas_Object* profile_time = evas_object_data_get(ad->nf, "profile_time");
        char status_str[256]={0,};
-       snprintf(status_str, sizeof(status_str) - 1, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", status);
+       snprintf(status_str, sizeof(status_str) - 1, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", status);
        elm_object_text_set(profile_time,status_str);
 }
 
@@ -2038,7 +2038,11 @@ void on_user_presence_state_changed(appdata_s* ad, int buddy_id)
 #else
                char status_str[256]={0,};
                snprintf(status_str, sizeof(status_str) - 1, i18n_get_text("IDS_TGRAM_BODY_PD_PARTICIPANTS"), user_list_size);
-               elm_object_text_set(profile_time,status_str);
+
+               char temp_status_str[512]={0,};
+               snprintf(temp_status_str, sizeof(temp_status_str) - 1, "<font=Tizen:style=Bold color=#ffffff align=left><font_size=30>%s</font_size></font>", status_str);
+
+               elm_object_text_set(profile_time, temp_status_str);
 #endif
 
                if (chat_info) {
@@ -3001,13 +3005,13 @@ static void on_text_message_send_unpressed(void *data, Evas_Object *obj, void *e
 static void on_message_smiley_pressed(void *data, Evas_Object *obj, void *event_info)
 {
        if (data)
-               evas_object_color_set(data, 45, 165, 224, 255);
+               evas_object_color_set(data, 45, 165, 224, 178);
 }
 
 static void on_message_smiley_unpressed(void *data, Evas_Object *obj, void *event_info)
 {
        if (data)
-               evas_object_color_set(data, 45, 165, 224, 178);
+               evas_object_color_set(data, 45, 165, 224, 255);
 }
 
 void on_message_back_button_clicked(void *data, Evas_Object *obj, void *event_info)
@@ -3150,8 +3154,6 @@ static void on_expand_buton_clicked(void *data, Evas_Object *obj, void *event_in
        }
        is_expanded = !is_expanded;
        evas_object_data_set(expand_pic, "is_expanded", is_expanded);
-
-
 }
 
 
@@ -3165,9 +3167,11 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
                ad->msg_popup = NULL;
        }
 
+       delete_floating_button(ad);
+
        ad->current_app_state = TG_CHAT_MESSAGING_VIEW_STATE;
        ad->is_last_msg_changed = EINA_FALSE;
-       send_request_for_server_connection_status(ad->service_client);
+       send_request_for_server_connection_status(ad, ad->service_client);
        char edj_path[PATH_MAX] = {0, };
        app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX);
 
@@ -3175,11 +3179,13 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
        elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
        elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
 
+/*
        Evas_Object* main_layout = elm_layout_add(ad->nf);
        elm_layout_file_set(main_layout, edj_path, "main_list_custom_item");
        evas_object_size_hint_weight_set(main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(main_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
        evas_object_show(main_layout);
+*/
 
 
        Evas_Object *layout = elm_layout_add(ad->nf);
@@ -3359,7 +3365,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
        evas_object_size_hint_weight_set(attach_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
     elm_image_file_set(attach_icon, ui_utils_get_resource(TG_ATTACH_ICON), NULL);
     evas_object_show(attach_icon);
-    evas_object_color_set(attach_icon, 45, 165, 224, 178);
+    evas_object_color_set(attach_icon, 45, 165, 224, 255);
 
        Evas_Object* attach_pic_layout = elm_layout_add(ad->nf);
        elm_layout_file_set(attach_pic_layout, edj_path, "circle_layout");
@@ -3369,13 +3375,13 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
        elm_object_part_content_set(attach_pic_layout, "content", attach_icon);
     elm_object_content_set(attach_btn, attach_pic_layout);
 
-    //evas_object_smart_callback_add(attach_btn, "clicked", on_media_attach_clicked, chat_conv_list);
+    evas_object_smart_callback_add(attach_btn, "clicked", on_media_attach_clicked, chat_conv_list);
     evas_object_smart_callback_add(attach_btn, "pressed", on_message_smiley_pressed, attach_icon);
     evas_object_smart_callback_add(attach_btn, "unpressed", on_message_smiley_unpressed, attach_icon);
        elm_object_part_content_set(entry_box_layout, "swallow.attach_icon", attach_btn);
 
        Evas_Object* text_entry = elm_entry_add(entry_box_layout);
-       elm_object_part_text_set(text_entry, "elm.guide", "<font=Tizen:style=Italic color=#A8A8A8 valign=middle><font_size=35>Text message</font_size></font>");
+       elm_object_part_text_set(text_entry, "elm.guide", "<font=Tizen:style=Normal color=#A8A8A8 valign=middle><font_size=35>Text message</font_size></font>");
        elm_entry_line_wrap_set(text_entry, EINA_TRUE);
        evas_object_size_hint_align_set(text_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
        evas_object_size_hint_weight_set(text_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -3384,7 +3390,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
        evas_object_smart_callback_add(text_entry, "clicked", on_message_text_entry_clicked, ad);
        elm_object_part_content_set(entry_box_layout, "swallow.text_entry", text_entry);
 
-       elm_entry_text_style_user_push(text_entry, "DEFAULT='font_size=32 color=#000000 align=left font=Tizen:style=Italic'");
+       elm_entry_text_style_user_push(text_entry, "DEFAULT='font_size=32 color=#000000 align=left font=Tizen:style=Normal'");
 
        //evas_object_data_set(chat_conv_list, "text_entry", (void*)text_entry);
 
@@ -3402,7 +3408,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
 
     elm_image_resizable_set(smiley_icon, EINA_TRUE, EINA_TRUE);
     evas_object_show(smiley_icon);
-    evas_object_color_set(smiley_icon, 45, 165, 224, 178);
+    evas_object_color_set(smiley_icon, 45, 165, 224, 255);
 
        Evas_Object* smiley_pic_layout = elm_layout_add(ad->nf);
        elm_layout_file_set(smiley_pic_layout, edj_path, "circle_layout");
@@ -3432,7 +3438,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
        evas_object_size_hint_weight_set(send_icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
     elm_image_file_set(send_icon, ui_utils_get_resource(TG_SEND_ICON), NULL);
     evas_object_show(send_icon);
-    evas_object_color_set(send_icon, 45, 165, 224, 178);
+    evas_object_color_set(send_icon, 45, 165, 224, 255);
        Evas_Object* send_pic_layout = elm_layout_add(ad->nf);
        elm_layout_file_set(send_pic_layout, edj_path, "circle_layout");
        evas_object_size_hint_weight_set(send_pic_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -3475,7 +3481,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id)
                evas_object_data_set(ad->nf, "chat_list_no_msg_text", (void*)no_msg_lbl);
        }
 
-       send_request_for_marked_as_read(ad->service_client, sel_item->use_data->peer_id, sel_item->use_data->peer_type);
+       send_request_for_marked_as_read(ad, ad->service_client, sel_item->use_data->peer_id, sel_item->use_data->peer_type);
        eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_MORE, on_messaging_menu_button_clicked, ad);
 }
 
index 81a585c..28da3e3 100644 (file)
@@ -281,7 +281,7 @@ static Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, co
                Eina_Bool is_today = compare_date_with_current_date(item->last_seen_time);
                Evas_Object* time_lbl = elm_label_add(ad->nf);
                if (is_today) {
-                       //elm_object_text_set(time_lbl, "<font=Tizen:style=Italic color=#000000 align=left><font_size=27>Today</font_size></font>");
+                       //elm_object_text_set(time_lbl, "<font=Tizen:style=Normal color=#000000 align=left><font_size=27>Today</font_size></font>");
                        // get time to display
 
                        char *format = NULL;
@@ -299,7 +299,7 @@ static Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, co
                        }
 
                        char time_str[128]={0,};
-                       sprintf(time_str, "<font=Tizen:style=Italic color=#000000 align=right><font_size=27>%s</font_size></font>", res);
+                       sprintf(time_str, "<font=Tizen:style=Normal color=#000000 align=right><font_size=27>%s</font_size></font>", res);
 
                        elm_object_text_set(time_lbl,time_str);
 
@@ -320,7 +320,7 @@ static Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, co
                        }
 
                        char time_str[128]={0,};
-                       sprintf(time_str, "<font=Tizen:style=Italic color=#000000 align=right><font_size=27>%s</font_size></font>", res);
+                       sprintf(time_str, "<font=Tizen:style=Normal color=#000000 align=right><font_size=27>%s</font_size></font>", res);
 
                        elm_object_text_set(time_lbl,time_str);
                }
index 6050cb6..1c98ea9 100644 (file)
@@ -97,11 +97,11 @@ void launch_set_username_cb(appdata_s *ad)
        char* temp_help_text_two = "You can use a-z, 0-9 and underscores. Minimum length is 5 characters.";
 
        char help_text_one[256*4] = {'\0'};
-       sprintf(help_text_one, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", temp_help_text_one);
+       sprintf(help_text_one, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", temp_help_text_one);
 
 
        char help_text_two[256*4] = {'\0'};
-       sprintf(help_text_two, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", temp_help_text_two);
+       sprintf(help_text_two, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", temp_help_text_two);
 
        Evas_Object* help_text1 = elm_entry_add(layout);
        elm_object_text_set(help_text1, help_text_one);
index 7aed67e..1353791 100644 (file)
@@ -149,7 +149,7 @@ Evas_Object* on_user_phone_info_requested(void *data, Evas_Object *obj, const ch
                        second_text = "Username";
                }
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#808080 align=left><font_size=35>%s</font_size></font>", second_text);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#808080 align=left><font_size=35>%s</font_size></font>", second_text);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
@@ -214,7 +214,7 @@ Evas_Object* on_user_info_requested(void *data, Evas_Object *obj, const char *pa
 
                char* user_status = i18n_get_text("IDS_TGRAM_SBODY_ONLINE");
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#FFFFFF align=left><font_size=35>%s</font_size></font>", user_status);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#FFFFFF align=left><font_size=35>%s</font_size></font>", user_status);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
index 83c1b89..a5cd3a3 100644 (file)
@@ -32,7 +32,7 @@ static char* on_new_msg_menu_item_name_get_cb(void *data, Evas_Object *obj, cons
                        int id = (int) data;
 
                        char temp_text[256];
-                       sprintf(temp_text, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", main_view_menu_items[id][0]);
+                       sprintf(temp_text, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", main_view_menu_items[id][0]);
 
                        return strdup(temp_text);
                }
index 95907c6..2c31f96 100644 (file)
@@ -476,7 +476,7 @@ Evas_Object* on_buddy_info_requested(void *data, Evas_Object *obj, const char *p
 
                //char* user_status = "online";
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#FFFFFF align=left><font_size=35>%s</font_size></font>", online_status);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
@@ -549,7 +549,7 @@ Evas_Object* on_buddy_phone_info_requested(void *data, Evas_Object *obj, const c
                        second_text = "Username";
                }
                char status_buf[126] = {'\0'};
-               sprintf(status_buf, "<font=Tizen:style=Italic color=#808080 align=left><font_size=35>%s</font_size></font>", second_text);
+               sprintf(status_buf, "<font=Tizen:style=Normal color=#808080 align=left><font_size=35>%s</font_size></font>", second_text);
 
                Evas_Object*  status_lbl = elm_label_add(ad->nf);
                elm_object_text_set(status_lbl, status_buf);
index e5f53f6..4400035 100644 (file)
@@ -35,7 +35,7 @@ static char* on_menu_item_name_get_cb(void *data, Evas_Object *obj, const char *
                        int id = (int) data;
 
                        char temp_text[256];
-                       sprintf(temp_text, "<font=Tizen:style=Italic color=#000000 align=left><font_size=30>%s</font_size></font>", main_view_menu_items[id][0]);
+                       sprintf(temp_text, "<font=Tizen:style=Normal color=#000000 align=left><font_size=30>%s</font_size></font>", main_view_menu_items[id][0]);
 
                        return strdup(temp_text);
                }
@@ -361,7 +361,7 @@ void on_chat_long_press_option_selected_cb(void *data, Evas_Object *obj, void *e
                                Eina_Bool is_today = compare_date_with_current_date(sel_item->last_seen_time);
 
                                if (is_today) {
-                                       elm_object_text_set(sel_item->date_lbl, "<font=Tizen:style=Italic color=#000000 align=center><font_size=25>Today</font_size></font>");
+                                       elm_object_text_set(sel_item->date_lbl, "<font=Tizen:style=Normal color=#000000 align=center><font_size=25>Today</font_size></font>");
                                } else {
                                        char *format = NULL;
                                        time_t t = sel_item->last_seen_time;
@@ -378,7 +378,7 @@ void on_chat_long_press_option_selected_cb(void *data, Evas_Object *obj, void *e
                                        }
 
                                        char time_str[256]={0,};
-                                       snprintf(time_str, sizeof(time_str), "<font=Tizen:style=Italic color=#000000 align=center><font_size=25>%s</font_size></font>", res);
+                                       snprintf(time_str, sizeof(time_str), "<font=Tizen:style=Normal color=#000000 align=center><font_size=25>%s</font_size></font>", res);
 
                                        elm_object_text_set(sel_item->date_lbl,time_str);
                                }
@@ -742,9 +742,10 @@ Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, const cha
 #if 0
                char* user_name = replace(item->peer_print_name, '_', " ");
 #endif
+               char* user_name = str_replace(item->buddy_display_name, "_null_", "");
                char buf[512] = {'\0'};
-               snprintf(buf, 512, "<font=Tizen:style=Bold color=#000000 align=left><font_size=35>%s</font_size></font>", item->buddy_display_name);
-               //free(user_name);
+               snprintf(buf, 512, "<font=Tizen:style=Bold color=#000000 align=left><font_size=35>%s</font_size></font>", user_name);
+               free(user_name);
 
                Evas_Object*  name_lbl = elm_label_add(ad->nf);
                elm_object_text_set(name_lbl, buf);
@@ -804,7 +805,7 @@ Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, const cha
                Eina_Bool is_today = compare_date_with_current_date(item->last_seen_time);
                Evas_Object* time_lbl = elm_label_add(ad->nf);
                if (is_today) {
-                       //elm_object_text_set(time_lbl, "<font=Tizen:style=Italic color=#000000 align=left><font_size=27>Today</font_size></font>");
+                       //elm_object_text_set(time_lbl, "<font=Tizen:style=Normal color=#000000 align=left><font_size=27>Today</font_size></font>");
                        // get time to display
 
                        char *format = NULL;
@@ -822,7 +823,7 @@ Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, const cha
                        }
 
                        char time_str[128]={0,};
-                       sprintf(time_str, "<font=Tizen:style=Italic color=#000000 align=right><font_size=27>%s</font_size></font>", res);
+                       sprintf(time_str, "<font=Tizen:style=Normal color=#000000 align=right><font_size=27>%s</font_size></font>", res);
 
                        elm_object_text_set(time_lbl,time_str);
 
@@ -843,7 +844,7 @@ Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, const cha
                        }
 
                        char time_str[128]={0,};
-                       sprintf(time_str, "<font=Tizen:style=Italic color=#000000 align=right><font_size=27>%s</font_size></font>", res);
+                       sprintf(time_str, "<font=Tizen:style=Normal color=#000000 align=right><font_size=27>%s</font_size></font>", res);
 
                        elm_object_text_set(time_lbl,time_str);
                }
@@ -1208,6 +1209,46 @@ static void _create_more_popup(void *data, Evas_Object *obj, void *event_info)
 
 }
 
+Evas_Object *create_no_object_layout(appdata_s* ad)
+{
+       if (!ad)
+               return NULL;
+
+       char edj_path[PATH_MAX] = {0, };
+       app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX);
+
+       Evas_Object* layout = elm_layout_add(ad->nf);
+       elm_layout_file_set(layout, edj_path, "no_chat_layout");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(layout);
+
+       Evas_Object *no_chat_lbl =  elm_label_add(ad->nf);
+       evas_object_size_hint_weight_set(no_chat_lbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(no_chat_lbl, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(no_chat_lbl);
+       elm_label_ellipsis_set(no_chat_lbl, EINA_TRUE);
+
+       char temp_text[256];
+       sprintf(temp_text, "<font=Tizen:style=Bold =#000000 align=center><font_size=30>%s</font_size></font>", i18n_get_text("IDS_TGRAM_NPBODY_NO_CHATS"));
+
+       elm_object_text_set(no_chat_lbl, temp_text);
+       elm_object_part_content_set(layout, "no_chats_lbl", no_chat_lbl);
+
+       char temp_text1[256*4];
+       sprintf(temp_text1, "<font=Tizen:style=Normal align=center><font_size=30>%s</font_size></font>", i18n_get_text("IDS_TGRAM_BODY_TO_START_A_NEW_CONVERSATION_TAP_THE_CREATE_NEW_GROUP_BUTTON_IN_THE_BOTTOM_RIGHT_OR_PRESS_THE_MENU_KEY_FOR_MORE_OPTIONS"));
+
+       Evas_Object *no_chat_msg_lbl = elm_entry_add(ad->nf);
+       elm_entry_editable_set(no_chat_msg_lbl, EINA_FALSE);
+       elm_entry_context_menu_disabled_set(no_chat_msg_lbl, EINA_TRUE);
+       elm_entry_selection_handler_disabled_set(no_chat_msg_lbl, EINA_TRUE);
+       elm_object_text_set(no_chat_msg_lbl, temp_text1);
+
+       elm_object_part_content_set(layout, "no_chats_msg_lbl", no_chat_msg_lbl);
+
+       return layout;
+}
+
 void launch_user_main_view_cb(appdata_s* ad)
 {
        if (!ad)
@@ -1255,7 +1296,7 @@ void launch_user_main_view_cb(appdata_s* ad)
        elm_object_part_content_set(layout, "main_box", bg_box);
 
        if (ad->main_list == NULL || eina_list_count(ad->main_list) <= 0) {
-               Evas_Object* no_chat_img = create_image_object_from_file(ui_utils_get_resource(TG_NO_CHAT_LIST), layout);
+               Evas_Object* no_chat_img = create_no_object_layout(ad);
 
                evas_object_data_set(ad->nf, "no_chat_image", no_chat_img);
 
index 796c376..13102b3 100644 (file)
@@ -232,7 +232,7 @@ void show_loading_popup(appdata_s* ad)
        app_get_resource(TELEGRAM_POPUP_VIEW_EDJ, edj_path, (int)PATH_MAX);
        elm_layout_file_set(layout, edj_path, "processing_view_layout");
        evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_text_set(layout, "elm.text", "<font=Tizen:style=Italic color=#666362 align=left><font_size=36>Loading...</font_size></font>");
+       elm_object_part_text_set(layout, "elm.text", "<font=Tizen:style=Normal color=#666362 align=left><font_size=36>Loading...</font_size></font>");
        progressbar = elm_progressbar_add(layout);
        elm_object_style_set(progressbar, "process_medium");
        evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
@@ -531,5 +531,49 @@ void update_floating_button(appdata_s* ad, int mode)
        }
 
        elm_layout_signal_emit(ad->floating_btn, "elm,state,floatingbutton,visible", "elm");
+}
+
+char *str_replace(char *orig, char *rep, char *with)
+{
+       char *result; // the return string
+       char *ins;    // the next insert point
+       char *tmp;    // varies
+       int len_rep;  // length of rep
+       int len_with; // length of with
+       int len_front; // distance between rep and end of last rep
+       int count;    // number of replacements
+
+       if (!orig)
+               return NULL;
+       if (!rep)
+               rep = "";
+       len_rep = strlen(rep);
+       if (!with)
+               with = "";
+       len_with = strlen(with);
+
+       ins = orig;
+       for (count = 0; tmp = strstr(ins, rep); ++count) {
+               ins = tmp + len_rep;
+       }
+
+       // first time through the loop, all the variable are set correctly
+       // from here on,
+       //    tmp points to the end of the result string
+       //    ins points to the next occurrence of rep in orig
+       //    orig points to the remainder of orig after "end of rep"
+       tmp = result = malloc(strlen(orig) + (len_with - len_rep) * count + 1);
+
+       if (!result)
+               return NULL;
 
+       while (count--) {
+               ins = strstr(orig, rep);
+               len_front = ins - orig;
+               tmp = strncpy(tmp, orig, len_front) + len_front;
+               tmp = strcpy(tmp, with) + len_with;
+               orig += len_front + len_rep; // move to next "end of rep"
+       }
+       strcpy(tmp, orig);
+       return result;
 }
index e3d6f36..8a23458 100644 (file)
@@ -1126,4 +1126,8 @@ extern void on_new_message_clicked(void *data, Evas_Object *obj, void *event_inf
 
 extern void on_floating_icon_clicked(void *data, Evas_Object *obj, void *event_info);
 
+extern char *str_replace(char *orig, char *rep, char *with);
+
+extern Eina_Bool on_load_main_view_requested(void *data);
+
 #endif /* TG_COMMON_H_ */
index a39cc5e..2a39cbe 100644 (file)
@@ -14,7 +14,7 @@ static Eina_Bool on_restart_service_requested(void *data);
 static int _on_tg_server_msg_received_cb(void *data, bundle *const rec_msg)
 {
        tg_engine_data_s *tg_data = data;
-       int result = SVC_RES_FAIL;
+       int result = SVC_RES_OK;
        RETVM_IF(!tg_data, result, "Data is NULL");
        char *cmd_key_val = NULL;
 
index 9ab5198..faa9208 100644 (file)
@@ -1964,10 +1964,11 @@ void on_contacts_received(struct tgl_state *TLS, void *callback_extra, int succe
                struct tgl_user *buddy = contacts[i];
                tgl_do_get_user_info(TLS, buddy->id, 0, on_buddy_info_loaded, NULL);
        }
-
+       send_response_for_server_connection_status(tg_data, tg_data->is_login_activated);
        ecore_timer_add(3, on_send_unsent_messages_requested, TLS);
        ecore_timer_add(6, on_load_buddy_history_requested, TLS);
-       ecore_timer_add(12, send_chat_loading_is_done_response, TLS);
+       //ecore_timer_add(12, send_chat_loading_is_done_response, TLS);
+       send_contacts_and_chats_load_done_response(TLS->callback_data, EINA_TRUE);
 }