Disable translation button if NMT is unavailable 06/259206/3
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 2 Jun 2021 05:43:02 +0000 (14:43 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 2 Jun 2021 06:23:43 +0000 (15:23 +0900)
Change-Id: Id0428b295ae91a2601e738edc5b66526243093f1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/include/nmt.h
src/ise-nmt-mode.cpp
src/ise.cpp
src/nmt.cpp

index f58b17f..546b97a 100644 (file)
@@ -22,5 +22,6 @@ bool nmt_init();
 void nmt_shutdown();
 
 void nmt_translate(const char *source_language, const char *target_language);
+bool nmt_is_disabled();
 
 #endif /* ISE_NMT_H_ */
index 457f274..d6661d8 100644 (file)
@@ -253,4 +253,4 @@ void ise_nmt_translate()
     nmt_formatted_target_language = get_language_code(target_language);
 
     nmt_translate(nmt_formatted_source_language.c_str(), nmt_formatted_target_language.c_str());
-}
\ No newline at end of file
+}
index 367db9e..7c850da 100644 (file)
@@ -780,6 +780,11 @@ SCLEventReturnType CUIEventCallback::on_event_notification(SCLUINotiType noti_ty
             if (!ise_sticker_check_sticker_exists())
                 ui->enable_button("STICKER_KEY", EINA_FALSE);
 
+            if (nmt_is_disabled())
+                ui->enable_button("TRANSLATION_KEY", false);
+            else
+                ui->enable_button("TRANSLATION_KEY", true);
+
             if (ise_is_emoticons_disabled())
                 ui->enable_button("EMOTICON_KEY", false);
             else
index 654ca2f..ea9ad61 100644 (file)
 #define LOG_TAG "ISE_DEFAULT"
 
 #ifdef SUPPORT_NMT
-static samsung_ai_nmt_h g_nmt_h;
+static samsung_ai_nmt_h g_nmt_h = NULL;
 static bool g_selected_text_exist = false;
+static samsung_ai_nmt_connection_status_e g_nmt_connection_status = SAMSUNG_AI_NMT_CONNECTION_STATUS_DISCONNECTED;
 
 static void _nmt_connection_status_changed_cb(samsung_ai_nmt_h nmt_h, samsung_ai_nmt_error_e result,
                                               samsung_ai_nmt_connection_status_e status, void *user_data)
 {
+    g_nmt_connection_status = status;
+
     switch (result) {
         case SAMSUNG_AI_NMT_ERROR_NONE:
             if (status == SAMSUNG_AI_NMT_CONNECTION_STATUS_CONNECTED)
@@ -134,6 +137,18 @@ void nmt_shutdown()
 #endif
 }
 
+bool nmt_is_disabled()
+{
+#ifdef SUPPORT_NMT
+    if (g_nmt_connection_status == SAMSUNG_AI_NMT_CONNECTION_STATUS_CONNECTED)
+        return false;
+    else
+        return true;
+#else
+    return true;
+#endif
+}
+
 void nmt_translate(const char *source_language, const char *target_language)
 {
 #ifdef SUPPORT_NMT