Change the order of the workflow when update server playback info 43/197443/3 accepted/tizen/unified/20190114.060153 submit/tizen/20190113.231604
authorhj kim <backto.kim@samsung.com>
Fri, 11 Jan 2019 07:29:55 +0000 (16:29 +0900)
committerhj kim <backto.kim@samsung.com>
Fri, 11 Jan 2019 07:50:48 +0000 (16:50 +0900)
when playback state is "PLAYING", latest server should be updated.
but previous coude send dbus msg of updating playback info to the client first and then update latest server info.
However, some client apps could expect to update the latest server info when they receive a dbus msg of "PLAYING".
but when clients check it right after getting the dbus msg, db didn't updated yet.
So change order to do update latest server info first before send dbus msg to the client.

Change-Id: I2d659287e1f8e5d758e13ea69f481701a8f287e3

src/media_controller_db.c
src/media_controller_server.c [changed mode: 0644->0755]

index ad64225..0fa2491 100755 (executable)
@@ -405,10 +405,10 @@ int mc_db_get_latest_server_name(void *handle, char **latest_server_name)
 
        ret = sqlite3_step(stmt);
        if (SQLITE_ROW != ret) {
-               mc_error("end of row [%s]", sqlite3_errmsg(db_handle));
+               mc_error("[No-Error] No latest server [%s]", sqlite3_errmsg(db_handle));
                SQLITE3_FINALIZE(stmt);
                SQLITE3_SAFE_FREE(sql_str);
-               return MEDIA_CONTROLLER_ERROR_NONE;     /*There is no activated server yet. */
+               return MEDIA_CONTROLLER_ERROR_NONE;     /*There is no latest server yet. */
        }
 
        while (SQLITE_ROW == ret) {
old mode 100644 (file)
new mode 100755 (executable)
index 6bdc7e8..bee9a30
@@ -775,15 +775,15 @@ int mc_server_update_playback_info(mc_server_h server)
                return ret;
        }
 
-       ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAY_BACK, 0, 0, NULL);
-       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
-               mc_error("Error __mc_server_send_message [%d]", ret);
-
        if (mc_server->playback.state == MC_PLAYBACK_STATE_PLAYING) {
                ret = mc_db_update_latest_server_table(mc_server->server_name);
                mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail mc_db_update_latest_server_table [%d]", ret);
        }
 
+       ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAY_BACK, 0, 0, NULL);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
+               mc_error("Error __mc_server_send_message [%d]", ret);
+
        return ret;
 }