Fix restore logic 83/117783/1
authorKwangyoun Kim <ky85.kim@samsung.com>
Wed, 18 Jan 2017 07:52:22 +0000 (16:52 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Tue, 7 Mar 2017 11:33:50 +0000 (03:33 -0800)
Change-Id: Icbad13bd24587457356be75b42c3e70091235744
(cherry picked from commit 447469dd23fdec619c71acf8a1885e1b17e2a44b)

client/vc_dbus.c
client/vc_mgr_dbus.c
client/vc_widget_dbus.c
server/vcd_recorder.c

index f7af5f9..27f4d54 100644 (file)
@@ -162,6 +162,18 @@ static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handle
 
                else if (dbus_message_is_signal(msg, "org.freedesktop.DBus", "NameOwnerChanged")) {
                        SLOG(LOG_DEBUG, TAG_VCC, "===== Owner Changed");
+                       DBusError err;
+                       dbus_error_init(&err);
+                       /* remove a rule for daemon error */
+                       char rule_err[256] = {0, };
+                       snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE);
+                       dbus_bus_remove_match(g_conn_listener, rule_err, &err);
+                       dbus_connection_flush(g_conn_listener);
+
+                       if (dbus_error_is_set(&err)) {
+                               SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message);
+                               dbus_error_free(&err);
+                       }
                        __vc_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset");
                        SLOG(LOG_DEBUG, TAG_VCC, "=====");
                        SLOG(LOG_DEBUG, TAG_VCC, " ");
index 2349eea..7133c92 100644 (file)
@@ -465,6 +465,19 @@ static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd
 
                else if (dbus_message_is_signal(msg, "org.freedesktop.DBus", "NameOwnerChanged")) {
                        SLOG(LOG_DEBUG, TAG_VCM, "===== Owner Changed");
+                       /* remove a rule for daemon error */
+                       DBusError err;
+                       /* initialise the error value */
+                       dbus_error_init(&err);
+                       char rule_err[256] = {0, };
+                       snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE);
+                       dbus_bus_remove_match(g_m_conn_listener, rule_err, &err);
+                       dbus_connection_flush(g_m_conn_listener);
+
+                       if (dbus_error_is_set(&err)) {
+                               SLOG(LOG_ERROR, TAG_VCM, "Match Error (%s)", err.message);
+                               dbus_error_free(&err);
+                       }
                        __vc_mgr_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset");
                        SLOG(LOG_DEBUG, TAG_VCM, "=====");
                        SLOG(LOG_DEBUG, TAG_VCM, " ");
index 8ed3ff4..6e60acc 100644 (file)
@@ -237,6 +237,19 @@ static Eina_Bool widget_listener_event_callback(void* data, Ecore_Fd_Handler *fd
 
                else if (dbus_message_is_signal(msg, "org.freedesktop.DBus", "NameOwnerChanged")) {
                        SLOG(LOG_DEBUG, TAG_VCW, "===== Owner Changed");
+                       DBusError err;
+                       dbus_error_init(&err);
+
+                       /* remove a rule for daemon error */
+                       char rule_err[256] = {0, };
+                       snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE);
+                       dbus_bus_remove_match(g_w_conn_listener, rule_err, &err);
+                       dbus_connection_flush(g_w_conn_listener);
+
+                       if (dbus_error_is_set(&err)) {
+                               SLOG(LOG_ERROR, TAG_VCW, "Match Error (%s)", err.message);
+                               dbus_error_free(&err);
+                       }
                        __vc_widget_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset");
                        SLOG(LOG_DEBUG, TAG_VCW, "=====");
                        SLOG(LOG_DEBUG, TAG_VCW, " ");
index 160ecec..307f75b 100644 (file)
@@ -173,7 +173,7 @@ static void _bt_hid_audio_data_receive_cb(bt_hid_voice_data_s *voice_data, void
                if (0 == g_bt_extend_count % 5 && 0 != g_buffer_count) {
                        const unsigned char input_data[2] = {SMART_CONTROL_EXTEND_CMD, 0x10 };
                        if (BT_ERROR_NONE != bt_hid_send_rc_command(NULL, input_data, sizeof(input_data))) {
-                               SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail bt_hid_send_rc_command(NULL, %s, %d)", input_data, sizeof(input_data));
+                               SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail bt_hid_send_rc_command");
                        } else {
                                SLOG(LOG_DEBUG, TAG_VCD, "[Recorder] Extend bt audio recorder");
                        }
@@ -599,7 +599,7 @@ int vcd_recorder_start()
                                        started = true;
                                        break;
                                } else if (BT_ERROR_NOW_IN_PROGRESS == ret) {
-                                       SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail bt_hid_send_rc_command(NULL, %s, %d) : %d", input_data, sizeof(input_data), ret);
+                                       SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail bt_hid_send_rc_command : %d", ret);
                                        usleep(50000);
                                        bt_retry++;
                                } else {