Launch ciss app as per profile 49/171749/1
authorsinikang <sinikang@samsung.com>
Wed, 7 Mar 2018 05:19:15 +0000 (14:19 +0900)
committersinikang <sinikang@samsung.com>
Wed, 7 Mar 2018 05:19:15 +0000 (14:19 +0900)
Change-Id: Iec1725f9e8853e82dddcbadb245d3a478820c816

common/include/callmgr-util.h
common/src/callmgr-util.c
packaging/call-manager.spec

index 84e75f288790860d70907627a78f3be71fc41afc..77831775311d83e4bbc629714c2558608b8385ec 100644 (file)
@@ -99,6 +99,7 @@ typedef enum {
        CM_UTIL_PKG_ID_PHONE,
        CM_UTIL_PKG_ID_CONTACTS,
        CM_UTIL_PKG_ID_CLOUD,
+       CM_UTIL_PKG_ID_CISS,
        CM_UTIL_PKG_ID_INVALID_E,
 } cm_util_pkg_id_e;
 
index 685a28cf513ae29930088c0c4435d8ad8d1ab4d9..4dda50a0aa5e6146d5cea24b08b2aa34abaad417 100644 (file)
@@ -821,23 +821,34 @@ int _callmgr_util_launch_ciss(const char* number, int sim_slot)
        dbg("_callmgr_util_launch_ciss");
 
        app_control_h app_control = NULL;
-       int ret = 0;
-
-       ret = app_control_create(&app_control);
-       if (ret < 0) {
-               warn("app_control_create() return error : %d", ret);
-               return -1;
+       int ret = 0, err = 0;
+       char *ciss_pkg_name = NULL;
+       char *sim_slot_id_string = NULL;
+
+       err = app_control_create(&app_control);
+       if (err < 0) {
+               warn("app_control_create() return error : %d", err);
+               ret = -1;
+               goto EXIT;
        }
 
-       char *sim_slot_id_string = (char *)calloc(2, sizeof(char));
+       sim_slot_id_string = (char *)calloc(2, sizeof(char));
        if (sim_slot_id_string == NULL) {
-               app_control_destroy(app_control);
-               return -1;
+               ret = -1;
+               goto EXIT;
        }
        sim_slot_id_string[0] = (char)(sim_slot + '0');
        sim_slot_id_string[1] = '\0';
 
-       if (app_control_set_app_id(app_control, CISS_AUL_CMD) != APP_CONTROL_ERROR_NONE) {
+       /* To support wearable ciss app since Tizen 5.0 version, should get pkg name base on profile */
+       _callmgr_util_get_pkg_name(CM_UTIL_PKG_ID_CISS, &ciss_pkg_name);
+       if (!ciss_pkg_name) {
+               warn("ciss_pkg_name is NULL");
+               ret = -1;
+               goto EXIT;
+       }
+
+       if (app_control_set_app_id(app_control, ciss_pkg_name) != APP_CONTROL_ERROR_NONE) {
                warn("app_control_set_app_id() is failed");
        } else if (app_control_set_operation(app_control, APP_CONTROL_OPERATION_DEFAULT) != APP_CONTROL_ERROR_NONE) {
                warn("app_control_set_operation() is failed");
@@ -849,15 +860,18 @@ int _callmgr_util_launch_ciss(const char* number, int sim_slot)
                warn("app_control_add_extra_data() is failed");
        } else if (app_control_send_launch_request(app_control, NULL, NULL) != APP_CONTROL_ERROR_NONE) {
                warn("app_control_send_launch_request() is failed");
-               free(sim_slot_id_string);
-               app_control_destroy(app_control);
-               return -1;
+               ret = -1;
        }
 
-       free(sim_slot_id_string);
-       app_control_destroy(app_control);
+EXIT:
+       if (sim_slot_id_string)
+               free(sim_slot_id_string);
+       if (app_control)
+               app_control_destroy(app_control);
+       if (ciss_pkg_name)
+               g_free(ciss_pkg_name);
 
-       return 0;
+       return ret;
 }
 
 int _callmgr_util_check_blocking_number(const char *number, gboolean *is_blocked)
@@ -1051,6 +1065,10 @@ void _callmgr_util_get_pkg_name(cm_util_pkg_id_e pkg_id, char **pkg_name)
                        *pkg_name = g_strdup("/usr/bin/cloud-pdm-server");
                break;
 
+               case CM_UTIL_PKG_ID_CISS:
+                       *pkg_name = g_strdup("org.tizen.ciss");
+               break;
+
                case CM_UTIL_PKG_ID_INVALID_E:
                default:
                        err("Unhandled pkg id type!");
@@ -1075,6 +1093,10 @@ void _callmgr_util_get_pkg_name(cm_util_pkg_id_e pkg_id, char **pkg_name)
                        *pkg_name = g_strdup("/usr/bin/cloud-pdm-server");;
                break;
 
+               case CM_UTIL_PKG_ID_CISS:
+                       *pkg_name = g_strdup("org.tizen.w-ciss");
+               break;
+
                case CM_UTIL_PKG_ID_INVALID_E:
                default:
                        err("Unhandled pkg idtype!");
index bcffb29518049acb5e14f0df1307693b02daf8b0..619d7a67c6542f73ca41ec804260c068f83b959e 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 2
-%define patchlevel 43
+%define patchlevel 44
 %define ext_feature 0
 
 Name:           call-manager