Change a logic to call reprepare 90/239390/1
authorsooyeon.kim <sooyeon.kim@samsung.com>
Fri, 24 Jul 2020 09:30:34 +0000 (18:30 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Fri, 24 Jul 2020 09:30:34 +0000 (18:30 +0900)
Change-Id: Id2a5adb777953e7965867c76c24be66fa3cd7b1c
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
client/tts.c
client/tts_dbus.c
common/tts_defs.h
server/ttsd_dbus_server.c

index bfc4eb1..d601ea0 100644 (file)
@@ -1042,9 +1042,11 @@ int __tts_cb_hello(int uid, int ret, int credential_needed)
 
        } else {
                /* success to connect tts-daemon */
+               if (TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED != credential_needed) {
                client->credential_needed = credential_needed;
                SLOG(LOG_ERROR, TAG_TTSC, "Supported options : credential(%s)", credential_needed ? "need" : "no need");
        }
+       }
 
        client->before_state = client->current_state;
        client->current_state = TTS_STATE_READY;
index 3adfdc5..ee7ae99 100644 (file)
@@ -158,7 +158,12 @@ static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handle
                                dbus_error_free(&err);
                        } else {
                                SLOG(LOG_ERROR, TAG_TTSC, "@@ tts Get Hello message : uid(%d), credential_needed(%d)", uid, credential_needed);
+                               if (TTS_ERROR_ALREADY_INITIALIZED == ret && TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED == credential_needed) {
+                                       SLOG(LOG_INFO, TAG_TTSC, "@@ tts Get Hello message : already initialized");
+                                       ret = 0;
+                               } else {
                                __tts_dbus_add_match(uid);
+                               }
                                __tts_cb_hello(uid, ret, credential_needed);
                        }
 
index fb04af6..e8151d9 100644 (file)
@@ -109,6 +109,9 @@ extern "C" {
 
 #define TTS_FEATURE_PATH       "tizen.org/feature/speech.synthesis"
 
+#define TTS_ERROR_ALREADY_INITIALIZED  -999
+#define TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED      -1
+
 /******************************************************************************************
 * Defines for vconf key
 *******************************************************************************************/
index 428fd6a..0280ad9 100644 (file)
@@ -39,16 +39,21 @@ int ttsd_dbus_server_hello(DBusConnection* conn, DBusMessage* msg)
        } else {
                SLOG(LOG_INFO, tts_tag(), "[IN] ttsd hello : pid(%d), uid(%d)", pid, uid);
                bool is_initialized = false;
+               bool credential_needed = 0;
+               int ret = -1;
                ttsd_server_is_already_initialized(pid, uid, &is_initialized);
                if (false == is_initialized) {
-                       bool credential_needed = 0;
-                       int ret =  ttsd_server_initialize(pid, uid, &credential_needed);
+                       ret =  ttsd_server_initialize(pid, uid, &credential_needed);
                        if (0 != ret) {
                                SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : server initialize, ret(%d)", ret);
                        }
+               } else {
+                       SLOG(LOG_INFO, tts_tag(), "[IN] ttsd hello : already initialized. pid(%d), uid(%d)", pid, uid);
+                       ret = TTS_ERROR_ALREADY_INITIALIZED;
+                       credential_needed = TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED;
+               }
                        ttsdc_send_hello(pid, uid, ret, (int)credential_needed);
                }
-       }
 
        return 0;
 }