Fix issue not to get profile 61/244461/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 18 Sep 2020 12:17:50 +0000 (21:17 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 18 Sep 2020 12:17:50 +0000 (21:17 +0900)
Change-Id: I999f285e4e5491d61c2d29099adfedd26e80b7b0
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
ism/extras/efl_panel/isf_panel_efl.cpp
ism/extras/wayland_immodule/wayland_imcontext.c
ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp
ism/src/Makefile.am
ism/src/tizen_profile.cpp

index f0b838d..17af469 100644 (file)
@@ -7535,17 +7535,6 @@ static Eina_Bool monitor_user_data_path_timer(void *data)
     return ECORE_CALLBACK_RENEW;
 }
 
-void set_tizen_profile()
-{
-    char *profile_name = NULL;
-    system_info_get_platform_string("http://tizen.org/feature/profile", &profile_name);
-    if (profile_name) {
-        LOGD("profile name : %s", profile_name);
-        isf_set_tizen_profile(profile_name);
-        free(profile_name);
-    }
-}
-
 int main (int argc, char *argv [])
 {
     struct tms    tiks_buf;
@@ -7800,8 +7789,6 @@ int main (int argc, char *argv [])
     _candidate_font_size = (int)(_candidate_font_size * (_width_rate < _height_rate ? _width_rate : _height_rate));
 #endif /* CANDIDATE */
 
-    set_tizen_profile();
-
     /* Load ISF configuration */
     user_data_path = scim_get_user_data_dir ();
     user_data_path_exists = g_file_test (user_data_path.c_str(), G_FILE_TEST_EXISTS);
index b24333e..7041b79 100644 (file)
@@ -3500,7 +3500,7 @@ wayland_im_context_filter_event(Ecore_IMF_Context    *ctx,
                         int val;
                         if (vconf_get_bool (VCONFKEY_ISF_HW_KEYBOARD_INPUT_DETECTED, &val) == 0) {
                             if (val) {
-                                LOGD ("Changed keyboard mode from H/W to S/W ");
+                                LOGI ("Changed keyboard mode from H/W to S/W");
                                 hw_keyboard_mode = EINA_FALSE;
                                 vconf_set_bool (VCONFKEY_ISF_HW_KEYBOARD_INPUT_DETECTED, 0);
                                 if (ecore_imf_context_input_panel_enabled_get (ctx)) {
@@ -3511,6 +3511,7 @@ wayland_im_context_filter_event(Ecore_IMF_Context    *ctx,
                         }
                     }
                 }
+
                 if (strcmp (ecore_key_ev.key, "space") == 0 ||
                     strcmp (ecore_key_ev.key, "KP_Space") == 0) {
                     autoperiod_insert (ctx);
index 1b23206..a7f4d1e 100644 (file)
@@ -1476,7 +1476,7 @@ isf_wsc_context_focus_out (WSCContextISF *wsc_ctx)
         _focused_ic = 0;
 
         if (_TV)
-        g_info_manager->remoteinput_callback_focus_out ();
+            g_info_manager->remoteinput_callback_focus_out ();
 
         context_scim->impl->surrounding_text.clear ();
         context_scim->impl->preedit_string.clear ();
index fb3d690..40677a6 100644 (file)
@@ -114,8 +114,8 @@ libprivilege_checker_la_CXXFLAGS = @DLOG_CFLAGS@ @CYNARA_CFLAGS@
 libprivilege_checker_la_LIBADD = @DLOG_LIBS@ @CYNARA_LIBS@
 
 libprofile_la_SOURCES  = tizen_profile.cpp
-libprofile_la_CXXFLAGS =
-libprofile_la_LIBADD   =
+libprofile_la_CXXFLAGS = @SYSTEM_INFO_CFLAGS@
+libprofile_la_LIBADD   = @SYSTEM_INFO_LIBS@
 
 libisf_pkg_la_SOURCES  = isf_pkg.cpp
 libisf_pkg_la_CXXFLAGS = @DLOG_CFLAGS@ @PKGMGR_INFO_CFLAGS@ @TZPLATFORM_CONFIG_CFLAGS@
index 6456bb5..59d00d8 100644 (file)
  */
 
 #include <stdlib.h>
+#include <system_info.h>
 #include "tizen_profile.h"
 
-static tizen_profile_t g_profile = TIZEN_PROFILE_WEARABLE;
+static tizen_profile_t g_profile = TIZEN_PROFILE_UNKNOWN;
 
 /**
  * The current profile information will be passed as a return value
  */
 tizen_profile_t _get_tizen_profile()
 {
+    static tizen_profile_t profile = TIZEN_PROFILE_UNKNOWN;
+    if (__builtin_expect(profile != TIZEN_PROFILE_UNKNOWN, 1))
+        return profile;
+
+    char *profileName;
+    system_info_get_platform_string("http://tizen.org/feature/profile", &profileName);
+    switch (*profileName)
+    {
+        case 'm':
+        case 'M':
+            g_profile = TIZEN_PROFILE_MOBILE;
+            break;
+        case 'w':
+        case 'W':
+            g_profile = TIZEN_PROFILE_WEARABLE;
+            break;
+        case 't':
+        case 'T':
+            g_profile = TIZEN_PROFILE_TV;
+            break;
+        case 'i':
+        case 'I':
+            g_profile = TIZEN_PROFILE_IVI;
+            break;
+        default: // common or unknown ==> ALL ARE COMMON.
+            g_profile = TIZEN_PROFILE_COMMON;
+    }
+
     return g_profile;
 }
 
-void isf_set_tizen_profile(const char *profile_name)
+void isf_set_tizen_profile(const char *profileName)
 {
-    switch (*profile_name)
+    switch (*profileName)
     {
         case 'm':
         case 'M':
@@ -58,4 +87,4 @@ void isf_set_tizen_profile(const char *profile_name)
         default: // common or unknown ==> ALL ARE COMMON.
             g_profile = TIZEN_PROFILE_COMMON;
     }
-}
+}
\ No newline at end of file