From 990497bafc55bd192b8dca1f1e0cc6898bd3a1a8 Mon Sep 17 00:00:00 2001 From: ChangGyu Choi Date: Thu, 25 May 2023 14:23:51 +0900 Subject: [PATCH] Modify implementation Since LibIniParser.Load() is not expensive to call and the call frequency of GetCultureName() method is low, there is no need to preprocess initialization by applying Singleton pattern. Signed-off-by: ChangGyu Choi --- .../Tizen.Applications/CultureInfoHelper.cs | 56 +++++++--------------- 1 file changed, 16 insertions(+), 40 deletions(-) diff --git a/src/Tizen.Applications.Common/Tizen.Applications/CultureInfoHelper.cs b/src/Tizen.Applications.Common/Tizen.Applications/CultureInfoHelper.cs index fa42c77..ba586cc 100755 --- a/src/Tizen.Applications.Common/Tizen.Applications/CultureInfoHelper.cs +++ b/src/Tizen.Applications.Common/Tizen.Applications/CultureInfoHelper.cs @@ -20,58 +20,34 @@ using System.Runtime.InteropServices; namespace Tizen.Applications { - internal static class CultureInfoHelper { - private class CultureInfoManager - { - private static CultureInfoManager _inst; - private const string _pathCultureInfoIni = "/usr/share/dotnet.tizen/framework/i18n/CultureInfo.ini"; - private static IntPtr _dictionary = IntPtr.Zero; - - public static CultureInfoManager GetInst() - { - return _inst; - } + private const string _pathCultureInfoIni = "/usr/share/dotnet.tizen/framework/i18n/CultureInfo.ini"; + private static bool _fileExists = File.Exists(_pathCultureInfoIni); - private CultureInfoManager() + public static string GetCultureName(string locale) + { + if (!_fileExists) { - if (File.Exists(_pathCultureInfoIni)) - { - _dictionary = Interop.LibIniParser.Load(_pathCultureInfoIni); - } + return string.Empty; } - ~CultureInfoManager() + IntPtr dictionary = Interop.LibIniParser.Load(_pathCultureInfoIni); + if (dictionary == IntPtr.Zero) { - if (_dictionary != IntPtr.Zero) - { - Interop.LibIniParser.FreeDict(_dictionary); - } + return string.Empty; } - public string GetCultureName(string locale) + string cultureName = string.Empty; + string key = "CultureInfo:" + locale.ToLowerInvariant(); + IntPtr value = Interop.LibIniParser.GetString(dictionary, key, IntPtr.Zero); + if (value != IntPtr.Zero) { - if (_dictionary == IntPtr.Zero) - { - return string.Empty; - } - - string cultureName = string.Empty; - string key = "CultureInfo:" + locale.ToLowerInvariant(); - IntPtr value = Interop.LibIniParser.GetString(_dictionary, key, IntPtr.Zero); - if (value != IntPtr.Zero) - { - cultureName = Marshal.PtrToStringAnsi(value); - } - - return cultureName; + cultureName = Marshal.PtrToStringAnsi(value); } - } - public static string GetCultureName(string locale) - { - return CultureInfoManager.GetInst().GetCultureName(locale); + Interop.LibIniParser.FreeDict(dictionary); + return cultureName; } } } -- 2.7.4