[REFACTOR][setting-network] Porting to public api. 44/182244/3
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Thu, 21 Jun 2018 13:37:42 +0000 (15:37 +0200)
committerMichal Skorupinski <m.skorupinsk@samsung.com>
Fri, 22 Jun 2018 12:44:53 +0000 (14:44 +0200)
Replacing cm_get_status() with telephony_call_get_status()

Change-Id: I12047ea8424a9bd7bab72c72909e20587c88eda7
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-network/.cproject
setting-network/inc/setting-network.h
setting-network/src/setting-network-mode.c
setting-network/src/setting-network-service-providers.c
setting-network/src/setting-network.c

index e6600693927dde59475f2fddc95b8d2482cfd8aa..7e75ebca2e3a75db9927d39d4a8fb0d58233fb16 100644 (file)
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="setting-common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="vconf"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="SLP-tapi"/>
-                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="call-manager"/>
                                                                </option>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1513313394" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
index b010bceefd3d4d08d1236ceb6d3e268c987dfba7..918f601561dfcc406b5f451e1e6ec67c8bb40fe1 100644 (file)
@@ -242,4 +242,6 @@ bool setting_network_add_sim_toolbar(SettingNetwork *ad, Elm_Object_Item *page,
 void setting_network_mptcp_enable(void *data, bool enable);
 setting_network_mptcp_state_t setting_network_is_mptcp_enabled(void *data);
 
+bool is_call_status_idle(void);
+
 #endif                         /* __SETTING_NETWORK_H__ */
index fb9cad9bf4153ea048d73c14738fddf8b22b6eef..8784382cf418bc7994f11ca82d83f743a64b4950 100755 (executable)
@@ -19,8 +19,7 @@
  *
  */
 
-#include <call-manager.h>
-#include <setting-network.h>
+#include "setting-network.h"
 #include "setting-network-mode.h"
 
 static int _view_create(void *cb);
@@ -441,12 +440,8 @@ static void _fill_list(void)
        SETTING_TRACE_BEGIN;
        int value = 0;
        int err = 0;
-       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
-       cm_client_h cm_handle = NULL;
-       cm_init(&cm_handle);
-       cm_get_call_status(cm_handle, &call_status);
-       cm_deinit(cm_handle);
-       if (CM_CALL_STATUS_IDLE != call_status) {
+       bool is_idle = is_call_status_idle();
+       if (!is_idle) {
                setting_create_popup(s_info.ad, s_info.ad->md.window, NULL, _("IDS_CST_POP_OPERATION_NOT_ALLOWED_DURING_CALLS"), NULL, 0, false, false, 0);
                return;
        }
index 3b79b5a033117a597224957f8260e5aa3bee66b0..d11c92c14a2c5b15a2cb6689798f7195abbac338 100755 (executable)
@@ -20,7 +20,6 @@
  *
  */
 
-#include <call-manager.h>
 #include "setting-network-service-providers.h"
 
 const char *STR_SETTING_OPERATION_FAILED = "IDS_BT_POP_OPERATION_FAILED";
@@ -125,12 +124,8 @@ void select_network_terminate(void)
 int select_network_show(SettingNetwork *ad)
 {
        SETTING_TRACE_BEGIN;
-       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
-       cm_client_h cm_handle = NULL;
-       cm_init(&cm_handle);
-       cm_get_call_status(cm_handle, &call_status);
-       cm_deinit(cm_handle);
-       if (CM_CALL_STATUS_IDLE != call_status) {
+       bool is_idle = is_call_status_idle();
+       if (!is_idle) {
                setting_create_popup(s_info.ad, s_info.ad->md.window, NULL, _("IDS_CST_POP_OPERATION_NOT_ALLOWED_DURING_CALLS"), NULL, 0, false, false, 0);
                return SETTING_GENERAL_ERR_NULL_DATA_PARAMETER;
        }
index 7b171e14af6c0c77b184a63df6438aeeaf582b22..f3f6df67d67baeccce50e8494af47b5149671e9d 100755 (executable)
@@ -18,6 +18,8 @@
  * limitations under the License.
  *
  */
+
+#include <telephony.h>
 #include <setting-network.h>
 #include <setting-debug.h>
 #include <setting-cfg.h>
@@ -504,3 +506,60 @@ setting_network_mptcp_state_t setting_network_is_mptcp_enabled(void *data)
 
        return state ? SETTING_NETWORK_MPTCP_ENABLED : SETTING_NETWORK_MPTCP_DISABLED;
 }
+
+bool is_call_status_idle(void)
+{
+       unsigned int i = 0;
+       unsigned int j = 0;
+       unsigned int call_list_count = 0;
+       telephony_handle_list_s handle_list;
+       telephony_call_h *call_list;
+       telephony_call_status_e status = TELEPHONY_CALL_STATUS_IDLE;
+       bool to_return = true;
+
+
+       int err = telephony_init(&handle_list);
+       if (err != TELEPHONY_ERROR_NONE) {
+               SETTING_TRACE_ERROR("Function telephony_init() failed. Error: %s", get_error_message(err));
+               return false;
+       }
+
+       for (i = 0; i < handle_list.count; ++i) {
+               err = telephony_call_get_call_list(handle_list.handle[i], &call_list_count, &call_list);
+               if (err != TELEPHONY_ERROR_NONE) {
+                       SETTING_TRACE_ERROR("Function telephony_call_get_call_list() failed. Error: %s", get_error_message(err));
+                       continue;
+               }
+
+               for (j = 0; j < call_list_count; ++j) {
+                       err = telephony_call_get_status(call_list[j], &status);
+                       if (err != TELEPHONY_ERROR_NONE) {
+                               SETTING_TRACE_ERROR("Function telephony_call_get_status() failed. Error: %s", get_error_message(err));
+                               continue;
+                       }
+
+                       if (status != TELEPHONY_CALL_STATUS_IDLE) {
+                               to_return = false;
+                               break;
+                       }
+               }
+
+               err = telephony_call_release_call_list(call_list_count, &call_list);
+               if (err != TELEPHONY_ERROR_NONE) {
+                       SETTING_TRACE_ERROR("Function telephony_call_release_call_list() failed. Error: %s", get_error_message(err));
+               }
+
+               if (to_return == false) {
+                       break;
+               }
+       }
+
+
+       err = telephony_deinit(&handle_list);
+       if (err != TELEPHONY_ERROR_NONE) {
+               SETTING_TRACE_ERROR("Function telephony_deinit() failed. Error: %s", get_error_message(err));
+               return false;
+       }
+
+       return to_return;
+}