Not disable adapter in factory test mode
[platform/core/connectivity/bluetooth-frwk.git] / bt-core / bt-core-dbus-handler.c
old mode 100755 (executable)
new mode 100644 (file)
index 8f393e9..6884dd1
@@ -40,6 +40,7 @@ static GDBusProxy *service_gproxy;
 #ifdef TIZEN_FEATURE_BT_HPS
 static GDBusProxy *hps_gproxy;
 #endif
+static gboolean factory_test_mode;
 
 void _bt_core_fill_garray_from_variant(GVariant *var, GArray *param)
 {
@@ -385,9 +386,14 @@ static void __bt_core_dbus_method(GDBusConnection *connection,
 
                g_variant_get(parameters, "(&s&s)", &type, &arg);
                ret = _bt_core_factory_test_mode(type, arg);
-               g_dbus_method_invocation_return_value(invocation,
+               factory_test_mode = TRUE;
+
+               if (ret == TRUE)
+                       g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", ret));
-               _bt_core_terminate();
+               else
+                       _bt_core_terminate();
+
                 return;
        } else {
                ret = FALSE;
@@ -458,7 +464,7 @@ static void __handle_name_owner_changed(const char *name)
        if ((g_strcmp0(name, "org.bluez") == 0) ||
                (g_strcmp0(name, "org.projectx.bt") == 0)) {
                BT_DBG("%s is terminated", name);
-               if (_bt_check_terminating_condition() == TRUE) {
+               if (_bt_check_terminating_condition() == TRUE && factory_test_mode == FALSE) {
                        _bt_disable_adapter();
                        _bt_disable_adapter_le();
                        _bt_core_terminate();