[Tizen] Change timing to get system values when needed 91/275991/2
authorHeeyong Song <heeyong.song@samsung.com>
Wed, 8 Jun 2022 06:25:10 +0000 (15:25 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Wed, 8 Jun 2022 07:37:41 +0000 (16:37 +0900)
Change-Id: I94f55f20083197635819968fb0ebf156bda1edd9

dali/internal/adaptor/tizen-wayland/framework-tizen.cpp

index 25a1b58..e8db582 100644 (file)
@@ -193,23 +193,6 @@ struct Framework::Impl
 #endif
     mApplicationType = type;
     mCallbackManager = CallbackManager::New();
-
-    char* region   = nullptr;
-    char* language = nullptr;
-    system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &region);
-    system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &language);
-
-    if(region != nullptr)
-    {
-      mRegion = std::string(region);
-      free(region);
-    }
-
-    if(language != nullptr)
-    {
-      mLanguage = std::string(language);
-      free(language);
-    }
   }
 
   ~Impl()
@@ -292,13 +275,35 @@ struct Framework::Impl
     mRegion = region;
   }
 
-  std::string GetLanguage() const
+  std::string GetLanguage()
   {
+    if(mLanguage.empty())
+    {
+      char* language = nullptr;
+      system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &language);
+
+      if(language != nullptr)
+      {
+        mLanguage = std::string(language);
+        free(language);
+      }
+    }
     return mLanguage;
   }
 
-  std::string GetRegion() const
+  std::string GetRegion()
   {
+    if(mRegion.empty())
+    {
+      char* region = nullptr;
+      system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &region);
+
+      if(region != nullptr)
+      {
+        mRegion = std::string(region);
+        free(region);
+      }
+    }
     return mRegion;
   }
 
@@ -306,8 +311,8 @@ struct Framework::Impl
   Type             mApplicationType;
   CallbackBase*    mAbortCallBack;
   CallbackManager* mCallbackManager;
-  std::string      mLanguage;
-  std::string      mRegion;
+  std::string      mLanguage{};
+  std::string      mRegion{};
 
   Framework*                  mFramework;
   AppCore::AppEventHandlerPtr handlers[5];