Add wearable toast popup 77/135877/1 accepted/tizen/unified/20170703.063929 submit/tizen/20170628.021931
authorWootak Jung <wootak.jung@samsung.com>
Tue, 27 Jun 2017 07:12:51 +0000 (16:12 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Tue, 27 Jun 2017 07:12:51 +0000 (16:12 +0900)
Change-Id: I333c4bc56204bf1d2718af89aed08c129b882ee1

callmgr-popup/include/callmgr-popup-widget.h
callmgr-popup/src/callmgr-popup-main.c
callmgr-popup/src/callmgr-popup-widget.c
packaging/call-manager.spec

index bb9846f15e7b085d93f77f9b730f23b7a29d69b0..e65726a2a022738edd9277ddaeae6e9f88582ca8 100644 (file)
@@ -34,7 +34,7 @@ void _callmgr_popup_del_popup(void *data);
 Evas_Object *_callmgr_popup_create_progressbar(Evas_Object *parent, const char *type);
 void _callmgr_popup_create_popup_checking(void *data, char *string);
 void _callmgr_popup_create_flight_mode(void *data);
-void _callmgr_popup_create_toast_msg(char *string);
+void _callmgr_popup_create_toast_msg(void *data, char *string);
 void _callmgr_popup_create_sim_selection(void *data);
 void _callmgr_popup_create_try_voice_call(void *data);
 
index 64c869e3a1fc90d13bef197f572267a690045403..4fabdb0c8b9490ef6a77d37f05956d643e6f2d06 100644 (file)
@@ -194,7 +194,7 @@ static void __callmgr_popup_app_service(app_control_h app_control, void *user_da
 
                string = _callmgr_popup_get_ss_info_string(type);
                if (string) {
-                       _callmgr_popup_create_toast_msg(string);
+                       _callmgr_popup_create_toast_msg(ad, string);
                        g_free(string);
                        string = NULL;
                }
@@ -218,7 +218,7 @@ static void __callmgr_popup_app_service(app_control_h app_control, void *user_da
 
                string = _callmgr_popup_get_call_err_string(type, ad->dial_num);
                if (string) {
-                       _callmgr_popup_create_toast_msg(string);
+                       _callmgr_popup_create_toast_msg(ad, string);
                        g_free(string);
                        string = NULL;
                }
@@ -264,16 +264,16 @@ static void __callmgr_popup_app_service(app_control_h app_control, void *user_da
 
                switch (rec_status_sub_info) {
                case CALLMGR_POPUP_REC_STATUS_STOP_BY_NORMAL_E:
-                       _callmgr_popup_create_toast_msg(_("IDS_CALL_TPOP_RECORDING_SAVED_IN_VOICE_RECORDER"));
+                       _callmgr_popup_create_toast_msg(ad, _("IDS_CALL_TPOP_RECORDING_SAVED_IN_VOICE_RECORDER"));
                        break;
                case CALLMGR_POPUP_REC_STATUS_STOP_BY_MEMORY_FULL_E:
-                       _callmgr_popup_create_toast_msg(_("IDS_CALL_TPOP_RECORDING_SAVED_IN_VOICE_RECORDER_DEVICE_STORAGE_FULL"));
+                       _callmgr_popup_create_toast_msg(ad, _("IDS_CALL_TPOP_RECORDING_SAVED_IN_VOICE_RECORDER_DEVICE_STORAGE_FULL"));
                        break;
                case CALLMGR_POPUP_REC_STATUS_STOP_BY_TIME_SHORT_E:
-                       _callmgr_popup_create_toast_msg(_("IDS_VR_TPOP_UNABLE_TO_SAVE_RECORDING_RECORDING_TOO_SHORT"));
+                       _callmgr_popup_create_toast_msg(ad, _("IDS_VR_TPOP_UNABLE_TO_SAVE_RECORDING_RECORDING_TOO_SHORT"));
                        break;
                case CALLMGR_POPUP_REC_STATUS_STOP_BY_NO_ENOUGH_MEMORY_E:
-                       _callmgr_popup_create_toast_msg(_("IDS_CALL_POP_UNABLE_TO_RECORD_NOT_ENOUGH_MEMORY"));
+                       _callmgr_popup_create_toast_msg(ad, _("IDS_CALL_POP_UNABLE_TO_RECORD_NOT_ENOUGH_MEMORY"));
                        break;
                default:
                        ERR("unhandled sub info[%d]", rec_status_sub_info);
@@ -297,11 +297,11 @@ static void __callmgr_popup_app_service(app_control_h app_control, void *user_da
 
                switch (toast_popup_type) {
                case CALLMGR_POPUP_TOAST_SWAP_CALL:
-                       _callmgr_popup_create_toast_msg(_("IDS_CALL_TPOP_SWAPPING_CALLS_ING"));
+                       _callmgr_popup_create_toast_msg(ad, _("IDS_CALL_TPOP_SWAPPING_CALLS_ING"));
                        break;
                case CALLMGR_POPUP_TOAST_CUSTOM:
                        // show ad->dial_num string as it is.
-                       _callmgr_popup_create_toast_msg(_(ad->dial_num));
+                       _callmgr_popup_create_toast_msg(ad, _(ad->dial_num));
                        break;
                default:
                        ERR("unhadled toast popup type(%d)", toast_popup_type);
index 75ab6eab694fb14abcd2dc028b27b5da0fc74b47..71647c517819635d91a9d7dcb77f0d535d168407 100644 (file)
@@ -260,6 +260,25 @@ static void __callmgr_popup_fm_popup_ok_cb(void *data, Evas_Object *obj, void *e
        }
 }
 
+static void __callmgr_popup_toast_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       CallMgrPopAppData_t *ad = (CallMgrPopAppData_t *)data;
+
+       if (ad->popup) {
+               evas_object_del(ad->popup);
+       }
+
+       app_control_destroy(ad->request);
+       ad->request = NULL;
+       elm_exit();
+}
+
+static void __callmgr_popup_toast_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       CallMgrPopAppData_t *ad = (CallMgrPopAppData_t *)data;
+       elm_popup_dismiss(ad->popup);
+}
+
 static void __callmgr_popup_fm_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
 {
        CallMgrPopAppData_t *ad = (CallMgrPopAppData_t *)data;
@@ -426,15 +445,52 @@ void _callmgr_popup_create_popup_checking(void *data, char *string)
        evas_object_show(ad->popup);
 }
 
-void _callmgr_popup_create_toast_msg(char *string)
+void _callmgr_popup_create_toast_msg(void *data, char *string)
 {
-       DBG("Noti-String : %s", string);
+       CallMgrPopAppData_t *ad = (CallMgrPopAppData_t *)data;
+       char *profile = NULL;
 
-       if (string) {
-               notification_status_message_post(string);
+       if (!ad->win_main) {
+               ad->win_main = _callmgr_popup_create_win();
+               if (!ad->win_main) {
+                       ERR("win error");
+                       elm_exit();
+               }
        }
+       _callmgr_popup_del_popup(ad);
 
-       elm_exit();
+       system_info_get_platform_string("tizen.org/feature/profile", &profile);
+       if (!profile) {
+               ERR("profile is NULL");
+               return;
+       }
+
+       DBG("Noti-String: %s", string);
+       DBG("profile: %s", profile);
+       if (!g_strcmp0(profile, "mobile")) {
+               /* Add popup in window */
+               ad->popup = elm_popup_add(ad->win_main);
+               elm_object_style_set(ad->popup, "toast");
+               elm_object_text_set(ad->popup, string);
+               elm_popup_timeout_set(ad->popup, 3.0);
+               evas_object_smart_callback_add(ad->popup, "dismissed", __callmgr_popup_toast_dismissed_cb, ad);
+               evas_object_smart_callback_add(ad->popup, "block,clicked", __callmgr_popup_toast_cb, ad);
+               evas_object_smart_callback_add(ad->popup, "timeout", __callmgr_popup_toast_cb, ad);
+               eext_object_event_callback_add(ad->popup, EEXT_CALLBACK_BACK, __callmgr_popup_toast_cb, ad);
+               evas_object_show(ad->popup);
+       } else if (!g_strcmp0(profile, "wearable")) {
+               /* Add popup in window */
+               ad->popup = elm_popup_add(ad->win_main);
+               elm_object_style_set(ad->popup, "toast/circle");
+               elm_object_part_text_set(ad->popup, "elm.text", string);
+               elm_popup_timeout_set(ad->popup, 3.0);
+               evas_object_smart_callback_add(ad->popup, "dismissed", __callmgr_popup_toast_dismissed_cb, ad);
+               evas_object_smart_callback_add(ad->popup, "block,clicked", __callmgr_popup_toast_cb, ad);
+               evas_object_smart_callback_add(ad->popup, "timeout", __callmgr_popup_toast_cb, ad);
+               eext_object_event_callback_add(ad->popup, EEXT_CALLBACK_BACK, __callmgr_popup_toast_cb, ad);
+               evas_object_show(ad->popup);
+       }
+       free(profile);
 }
 
 void _callmgr_popup_del_popup(void *data)
index da942c457ca18282ac66f39d7eb8d0c5a1f58603..14c3acef4312b6bb2710c0d7cfd661e6db83815a 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 2
-%define patchlevel 22
+%define patchlevel 23
 %define ext_feature 0
 
 Name:           call-manager