Add and change lock about event handler (#3419)
authorJinWang An <35290168+jinwangan@users.noreply.github.com>
Fri, 13 Aug 2021 01:30:07 +0000 (10:30 +0900)
committerGitHub <noreply@github.com>
Fri, 13 Aug 2021 01:30:07 +0000 (10:30 +0900)
Signed-off-by: JinWang An <jinwang.an@samsung.com>
src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettings.cs

index 26de96d..c111c73 100644 (file)
@@ -29,11 +29,6 @@ namespace Tizen.System
     public static class SystemSettings
     {
         /// <summary>
-        /// Lock for EventHandlers.
-        /// </summary>
-        private static readonly object LockObj = new object();
-
-        /// <summary>
         /// The file path of the current ringtone.
         /// </summary>
         /// <privilege>http://tizen.org/privilege/systemsettings.admin</privilege>
@@ -1189,9 +1184,13 @@ namespace Tizen.System
         {
             string path = SystemSettings.IncomingCallRingtone;
             IncomingCallRingtoneChangedEventArgs eventArgs = new IncomingCallRingtoneChangedEventArgs(path);
-            s_incomingCallRingtoneChanged?.Invoke(null, eventArgs);
+            lock (s_incomingCallRingtoneChangedLockObj)
+            {
+                s_incomingCallRingtoneChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<IncomingCallRingtoneChangedEventArgs> s_incomingCallRingtoneChanged;
+        private static readonly object s_incomingCallRingtoneChangedLockObj = new object();
         /// <summary>
         /// The IncomingCallRingtoneChanged event is triggered when the file path of the incoming ringtone is changed.
         /// </summary>
@@ -1208,7 +1207,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_incomingCallRingtoneChangedLockObj)
                 {
                     if (s_incomingCallRingtoneChanged == null)
                     {
@@ -1224,7 +1223,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_incomingCallRingtoneChangedLockObj)
                 {
                     if (s_incomingCallRingtoneChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1247,9 +1246,13 @@ namespace Tizen.System
         {
             string path = SystemSettings.WallpaperHomeScreen;
             WallpaperHomeScreenChangedEventArgs eventArgs = new WallpaperHomeScreenChangedEventArgs(path);
-            s_wallpaperHomeScreenChanged?.Invoke(null, eventArgs);
+            lock (s_wallpaperHomeScreenChangedLockObj)
+            {
+                s_wallpaperHomeScreenChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<WallpaperHomeScreenChangedEventArgs> s_wallpaperHomeScreenChanged;
+        private static readonly object s_wallpaperHomeScreenChangedLockObj = new object();
         /// <summary>
         /// THe WallpaperHomeScreenChanged event is triggered when the file path of the current home screen wallpaper is changed.
         /// </summary>
@@ -1266,7 +1269,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_wallpaperHomeScreenChangedLockObj)
                 {
                     if (s_wallpaperHomeScreenChanged == null)
                     {
@@ -1282,7 +1285,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_wallpaperHomeScreenChangedLockObj)
                 {
                     if (s_wallpaperHomeScreenChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1305,9 +1308,13 @@ namespace Tizen.System
         {
             string path = SystemSettings.WallpaperLockScreen;
             WallpaperLockScreenChangedEventArgs eventArgs = new WallpaperLockScreenChangedEventArgs(path);
-            s_wallpaperLockScreenChanged?.Invoke(null, eventArgs);
+            lock (s_wallpaperLockScreenChangedLockObj)
+            {
+                s_wallpaperLockScreenChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<WallpaperLockScreenChangedEventArgs> s_wallpaperLockScreenChanged;
+        private static readonly object s_wallpaperLockScreenChangedLockObj = new object();
         /// <summary>
         /// The WallpaperLockScreenChanged event is triggered when the file path of the current lock screen wallpaper is changed.
         /// </summary>
@@ -1324,7 +1331,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_wallpaperLockScreenChangedLockObj)
                 {
                     if (s_wallpaperLockScreenChanged == null)
                     {
@@ -1340,7 +1347,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_wallpaperLockScreenChangedLockObj)
                 {
                     if (s_wallpaperLockScreenChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1363,9 +1370,13 @@ namespace Tizen.System
         {
             SystemSettingsFontSize fontSize = SystemSettings.FontSize;
             FontSizeChangedEventArgs eventArgs = new FontSizeChangedEventArgs(fontSize);
-            s_fontSizeChanged?.Invoke(null, eventArgs);
+            lock (s_fontSizeChangedLockObj)
+            {
+                s_fontSizeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<FontSizeChangedEventArgs> s_fontSizeChanged;
+        private static readonly object s_fontSizeChangedLockObj = new object();
         /// <summary>
         /// The FontSizeChanged event is triggered when the current system font size is changed.
         /// </summary>
@@ -1381,7 +1392,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_fontSizeChangedLockObj)
                 {
                     if (s_fontSizeChanged == null)
                     {
@@ -1397,7 +1408,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_fontSizeChangedLockObj)
                 {
                     if (s_fontSizeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1420,9 +1431,13 @@ namespace Tizen.System
         {
             string fontType = SystemSettings.FontType;
             FontTypeChangedEventArgs eventArgs = new FontTypeChangedEventArgs(fontType);
-            s_fontTypeChanged?.Invoke(null, eventArgs);
+            lock (s_fontTypeChangedLockObj)
+            {
+                s_fontTypeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<FontTypeChangedEventArgs> s_fontTypeChanged;
+        private static readonly object s_fontTypeChangedLockObj = new object();
         /// <summary>
         /// The FontTypeChanged event is triggered when the current system font type is changed.
         /// </summary>
@@ -1438,7 +1453,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_fontTypeChangedLockObj)
                 {
                     if (s_fontTypeChanged == null)
                     {
@@ -1454,7 +1469,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_fontTypeChangedLockObj)
                 {
                     if (s_fontTypeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1477,9 +1492,13 @@ namespace Tizen.System
         {
             bool motionActivation = SystemSettings.MotionActivationEnabled;
             MotionActivationSettingChangedEventArgs eventArgs = new MotionActivationSettingChangedEventArgs(motionActivation);
-            s_motionActivationChanged?.Invoke(null, eventArgs);
+            lock (s_motionActivationChangedLockObj)
+            {
+                s_motionActivationChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<MotionActivationSettingChangedEventArgs> s_motionActivationChanged;
+        private static readonly object s_motionActivationChangedLockObj = new object();
         /// <summary>
         /// The MotionActivationChanged event is triggered when the motion service status is changed.
         /// </summary>
@@ -1495,7 +1514,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_motionActivationChangedLockObj)
                 {
                     if (s_motionActivationChanged == null)
                     {
@@ -1511,7 +1530,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_motionActivationChangedLockObj)
                 {
                     if (s_motionActivationChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1534,9 +1553,13 @@ namespace Tizen.System
         {
             string emailAlertRingtone = SystemSettings.EmailAlertRingtone;
             EmailAlertRingtoneChangedEventArgs eventArgs = new EmailAlertRingtoneChangedEventArgs(emailAlertRingtone);
-            s_emailAlertRingtoneChanged?.Invoke(null, eventArgs);
+            lock (s_emailAlertRingtoneChangedLockObj)
+            {
+                s_emailAlertRingtoneChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<EmailAlertRingtoneChangedEventArgs> s_emailAlertRingtoneChanged;
+        private static readonly object s_emailAlertRingtoneChangedLockObj = new object();
         /// <summary>
         /// The EmailAlertRingtoneChanged event is triggered when the file path of the current email alert ringtone is changed.
         /// </summary>
@@ -1553,7 +1576,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_emailAlertRingtoneChangedLockObj)
                 {
                     if (s_emailAlertRingtoneChanged == null)
                     {
@@ -1569,7 +1592,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_emailAlertRingtoneChangedLockObj)
                 {
                     if (s_emailAlertRingtoneChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1592,9 +1615,13 @@ namespace Tizen.System
         {
             bool usbDebuggingEnabled = SystemSettings.UsbDebuggingEnabled;
             UsbDebuggingSettingChangedEventArgs eventArgs = new UsbDebuggingSettingChangedEventArgs(usbDebuggingEnabled);
-            s_usbDebuggingSettingChanged?.Invoke(null, eventArgs);
+            lock (s_usbDebuggingSettingChangedLockObj)
+            {
+                s_usbDebuggingSettingChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<UsbDebuggingSettingChangedEventArgs> s_usbDebuggingSettingChanged;
+        private static readonly object s_usbDebuggingSettingChangedLockObj = new object();
         /// <summary>
         /// The UsbDebuggingSettingChangedEventArgs event is triggered when the USB debugging status is changed.
         /// </summary>
@@ -1610,7 +1637,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_usbDebuggingSettingChangedLockObj)
                 {
                     if (s_usbDebuggingSettingChanged == null)
                     {
@@ -1626,7 +1653,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_usbDebuggingSettingChangedLockObj)
                 {
                     if (s_usbDebuggingSettingChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1649,9 +1676,13 @@ namespace Tizen.System
         {
             bool data3GEnabled = SystemSettings.Data3GNetworkEnabled;
             Data3GNetworkSettingChangedEventArgs eventArgs = new Data3GNetworkSettingChangedEventArgs(data3GEnabled);
-            s_data3GNetworkSettingChanged?.Invoke(null, eventArgs);
+            lock (s_data3GNetworkSettingChangedLockObj)
+            {
+                s_data3GNetworkSettingChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<Data3GNetworkSettingChangedEventArgs> s_data3GNetworkSettingChanged;
+        private static readonly object s_data3GNetworkSettingChangedLockObj = new object();
         /// <summary>
         /// The Data3GNetworkSettingChanged event is triggered when the 3G data network status is changed.
         /// </summary>
@@ -1667,7 +1698,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_data3GNetworkSettingChangedLockObj)
                 {
                     if (s_data3GNetworkSettingChanged == null)
                     {
@@ -1683,7 +1714,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_data3GNetworkSettingChangedLockObj)
                 {
                     if (s_data3GNetworkSettingChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1706,9 +1737,13 @@ namespace Tizen.System
         {
             string lockScreenApp = SystemSettings.LockScreenApp;
             LockScreenAppChangedEventArgs eventArgs = new LockScreenAppChangedEventArgs(lockScreenApp);
-            s_lockscreenAppChanged?.Invoke(null, eventArgs);
+            lock (s_lockscreenAppChangedLockObj)
+            {
+                s_lockscreenAppChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LockScreenAppChangedEventArgs> s_lockscreenAppChanged;
+        private static readonly object s_lockscreenAppChangedLockObj = new object();
         /// <summary>
         /// The LockScreenAppChanged event is triggered when the lockscreen application package name is changed.
         /// </summary>
@@ -1725,7 +1760,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_lockscreenAppChangedLockObj)
                 {
                     if (s_lockscreenAppChanged == null)
                     {
@@ -1741,7 +1776,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_lockscreenAppChangedLockObj)
                 {
                     if (s_lockscreenAppChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1765,9 +1800,13 @@ namespace Tizen.System
         {
             string localeCountry = SystemSettings.LocaleCountry;
             LocaleCountryChangedEventArgs eventArgs = new LocaleCountryChangedEventArgs(localeCountry);
-            s_localeCountryChanged?.Invoke(null, eventArgs);
+            lock (s_localeCountryChangedLockObj)
+            {
+                s_localeCountryChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LocaleCountryChangedEventArgs> s_localeCountryChanged;
+        private static readonly object s_localeCountryChangedLockObj = new object();
         /// <summary>
         /// The LocaleCountryChanged event is triggered when the current country setting in the &lt;LANGUAGE&gt;_&lt;REGION&gt; syntax, is changed.
         /// </summary>
@@ -1783,7 +1822,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_localeCountryChangedLockObj)
                 {
                     if (s_localeCountryChanged == null)
                     {
@@ -1799,7 +1838,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_localeCountryChangedLockObj)
                 {
                     if (s_localeCountryChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1822,9 +1861,13 @@ namespace Tizen.System
         {
             string localeLanguage = SystemSettings.LocaleLanguage;
             LocaleLanguageChangedEventArgs eventArgs = new LocaleLanguageChangedEventArgs(localeLanguage);
-            s_localeLanguageChanged?.Invoke(null, eventArgs);
+            lock (s_localeLanguageChangedLockObj)
+            {
+                s_localeLanguageChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LocaleLanguageChangedEventArgs> s_localeLanguageChanged;
+        private static readonly object s_localeLanguageChangedLockObj = new object();
         /// <summary>
         /// The LocaleLanguageChanged event is triggered when the current language setting in the &lt;LANGUAGE&gt;_&lt;REGION&gt; syntax, is changed.
         /// </summary>
@@ -1840,7 +1883,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_localeLanguageChangedLockObj)
                 {
                     if (null == value)
                         throw SystemSettingsExceptionFactory.CreateException(SystemSettingsError.InvalidParameter, "Error invalid callback");
@@ -1859,7 +1902,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_localeLanguageChangedLockObj)
                 {
                     if (null == value)
                         throw SystemSettingsExceptionFactory.CreateException(SystemSettingsError.InvalidParameter, "Error invalid callback");
@@ -1885,9 +1928,13 @@ namespace Tizen.System
         {
             bool localeTimeFormat24Hour = SystemSettings.LocaleTimeFormat24HourEnabled;
             LocaleTimeFormat24HourSettingChangedEventArgs eventArgs = new LocaleTimeFormat24HourSettingChangedEventArgs(localeTimeFormat24Hour);
-            s_localeTimeFormat24HourChanged?.Invoke(null, eventArgs);
+            lock (s_localeTimeFormat24HourChangedLockObj)
+            {
+                s_localeTimeFormat24HourChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LocaleTimeFormat24HourSettingChangedEventArgs> s_localeTimeFormat24HourChanged;
+        private static readonly object s_localeTimeFormat24HourChangedLockObj = new object();
         /// <summary>
         /// The LocaleTimeFormat24HourChanged event is triggered when the time format is changed.
         /// </summary>
@@ -1903,7 +1950,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_localeTimeFormat24HourChangedLockObj)
                 {
                     if (s_localeTimeFormat24HourChanged == null)
                     {
@@ -1919,7 +1966,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_localeTimeFormat24HourChangedLockObj)
                 {
                     if (s_localeTimeFormat24HourChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -1942,9 +1989,13 @@ namespace Tizen.System
         {
             string localeTimeZone = SystemSettings.LocaleTimeZone;
             LocaleTimeZoneChangedEventArgs eventArgs = new LocaleTimeZoneChangedEventArgs(localeTimeZone);
-            s_localeTimeZoneChanged?.Invoke(null, eventArgs);
+            lock (s_localeTimeZoneChangedLockObj)
+            {
+                s_localeTimeZoneChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LocaleTimeZoneChangedEventArgs> s_localeTimeZoneChanged;
+        private static readonly object s_localeTimeZoneChangedLockObj = new object();
         /// <summary>
         /// The LocaleTimeZoneChanged event is triggered when the current time zone is changed.
         /// </summary>
@@ -1960,7 +2011,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_localeTimeZoneChangedLockObj)
                 {
                     if (s_localeTimeZoneChanged == null)
                     {
@@ -1976,7 +2027,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_localeTimeZoneChangedLockObj)
                 {
                     if (s_localeTimeZoneChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2000,9 +2051,13 @@ namespace Tizen.System
 
             int time = SystemSettings.Time;
             TimeChangedEventArgs eventArgs = new TimeChangedEventArgs(time);
-            s_timeChanged?.Invoke(null, eventArgs);
+            lock (s_timeChangedLockObj)
+            {
+                s_timeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<TimeChangedEventArgs> s_timeChanged;
+        private static readonly object s_timeChangedLockObj = new object();
         /// <summary>
         /// The TimeChanged event is triggered when the system time is changed.
         /// </summary>
@@ -2018,7 +2073,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_timeChangedLockObj)
                 {
                     if (s_timeChanged == null)
                     {
@@ -2034,7 +2089,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_timeChangedLockObj)
                 {
                     if (s_timeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2057,9 +2112,13 @@ namespace Tizen.System
         {
             bool soundLock = SystemSettings.SoundLockEnabled;
             SoundLockSettingChangedEventArgs eventArgs = new SoundLockSettingChangedEventArgs(soundLock);
-            s_soundLockChanged?.Invoke(null, eventArgs);
+            lock (s_soundLockChangedLockObj)
+            {
+                s_soundLockChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<SoundLockSettingChangedEventArgs> s_soundLockChanged;
+        private static readonly object s_soundLockChangedLockObj = new object();
         /// <summary>
         /// The SoundLockChanged event is triggered when the screen lock sound enabled status is changed.
         /// </summary>
@@ -2075,7 +2134,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_soundLockChangedLockObj)
                 {
                     if (s_soundLockChanged == null)
                     {
@@ -2091,7 +2150,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_soundLockChangedLockObj)
                 {
                     if (s_soundLockChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2114,9 +2173,13 @@ namespace Tizen.System
         {
             bool soundSilentMode = SystemSettings.SoundSilentModeEnabled;
             SoundSilentModeSettingChangedEventArgs eventArgs = new SoundSilentModeSettingChangedEventArgs(soundSilentMode);
-            s_soundSilentModeChanged?.Invoke(null, eventArgs);
+            lock (s_soundSilentModeChangedLockObj)
+            {
+                s_soundSilentModeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<SoundSilentModeSettingChangedEventArgs> s_soundSilentModeChanged;
+        private static readonly object s_soundSilentModeChangedLockObj = new object();
         /// <summary>
         /// The SoundSilentModeChanged event is triggered when the silent mode status is changed.
         /// </summary>
@@ -2132,7 +2195,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_soundSilentModeChangedLockObj)
                 {
                     if (s_soundSilentModeChanged == null)
                     {
@@ -2148,7 +2211,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_soundSilentModeChangedLockObj)
                 {
                     if (s_soundSilentModeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2171,9 +2234,13 @@ namespace Tizen.System
         {
             bool soundTouch = SystemSettings.SoundTouchEnabled;
             SoundTouchSettingChangedEventArgs eventArgs = new SoundTouchSettingChangedEventArgs(soundTouch);
-            s_soundTouchChanged?.Invoke(null, eventArgs);
+            lock (s_soundTouchChangedLockObj)
+            {
+                s_soundTouchChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<SoundTouchSettingChangedEventArgs> s_soundTouchChanged;
+        private static readonly object s_soundTouchChangedLockObj = new object();
         /// <summary>
         /// THe SoundTouchChanged event is triggered when the screen touch sound enabled status is changed.
         /// </summary>
@@ -2189,7 +2256,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_soundTouchChangedLockObj)
                 {
                     if (s_soundTouchChanged == null)
                     {
@@ -2205,7 +2272,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_soundTouchChangedLockObj)
                 {
                     if (s_soundTouchChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2229,9 +2296,13 @@ namespace Tizen.System
         {
             bool displayScreenRotationAuto = SystemSettings.DisplayScreenRotationAutoEnabled;
             DisplayScreenRotationAutoSettingChangedEventArgs eventArgs = new DisplayScreenRotationAutoSettingChangedEventArgs(displayScreenRotationAuto);
-            s_displayScreenRotationAutoChanged?.Invoke(null, eventArgs);
+            lock (s_displayScreenRotationAutoChangedLockObj)
+            {
+                s_displayScreenRotationAutoChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<DisplayScreenRotationAutoSettingChangedEventArgs> s_displayScreenRotationAutoChanged;
+        private static readonly object s_displayScreenRotationAutoChangedLockObj = new object();
         /// <summary>
         /// The DisplayScreenRotationAutoChanged event is triggered when the automatic rotation control status is changed.
         /// </summary>
@@ -2247,7 +2318,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_displayScreenRotationAutoChangedLockObj)
                 {
                     if (s_displayScreenRotationAutoChanged == null)
                     {
@@ -2263,7 +2334,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_displayScreenRotationAutoChangedLockObj)
                 {
                     if (s_displayScreenRotationAutoChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2286,9 +2357,13 @@ namespace Tizen.System
         {
             string deviceName = SystemSettings.DeviceName;
             DeviceNameChangedEventArgs eventArgs = new DeviceNameChangedEventArgs(deviceName);
-            s_deviceNameChanged?.Invoke(null, eventArgs);
+            lock (s_deviceNameChangedLockObj)
+            {
+                s_deviceNameChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<DeviceNameChangedEventArgs> s_deviceNameChanged;
+        private static readonly object s_deviceNameChangedLockObj = new object();
         /// <summary>
         /// The DeviceNameChanged event is triggered when the device name is changed.
         /// </summary>
@@ -2304,7 +2379,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_deviceNameChangedLockObj)
                 {
                     if (s_deviceNameChanged == null)
                     {
@@ -2320,7 +2395,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_deviceNameChangedLockObj)
                 {
                     if (s_deviceNameChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2343,9 +2418,13 @@ namespace Tizen.System
         {
             bool motionEnabled = SystemSettings.MotionEnabled;
             MotionSettingChangedEventArgs eventArgs = new MotionSettingChangedEventArgs(motionEnabled);
-            s_motionSettingChanged?.Invoke(null, eventArgs);
+            lock (s_motionSettingChangedLockObj)
+            {
+                s_motionSettingChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<MotionSettingChangedEventArgs> s_motionSettingChanged;
+        private static readonly object s_motionSettingChangedLockObj = new object();
         /// <summary>
         /// The MotionSettingChanged event is triggered when the motion feature enabled status is changed.
         /// </summary>
@@ -2361,7 +2440,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_motionSettingChangedLockObj)
                 {
                     if (s_motionSettingChanged == null)
                     {
@@ -2377,7 +2456,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_motionSettingChangedLockObj)
                 {
                     if (s_motionSettingChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2400,9 +2479,13 @@ namespace Tizen.System
         {
             bool networkWifiNotification = SystemSettings.NetworkWifiNotificationEnabled;
             NetworkWifiNotificationSettingChangedEventArgs eventArgs = new NetworkWifiNotificationSettingChangedEventArgs(networkWifiNotification);
-            s_networkWifiNotificationChanged?.Invoke(null, eventArgs);
+            lock (s_networkWifiNotificationChangedLockObj)
+            {
+                s_networkWifiNotificationChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<NetworkWifiNotificationSettingChangedEventArgs> s_networkWifiNotificationChanged;
+        private static readonly object s_networkWifiNotificationChangedLockObj = new object();
         /// <summary>
         /// The NetworkWifiNotificationChanged event is triggered when the WiFi-related notifications enabled status is changed.
         /// </summary>
@@ -2419,7 +2502,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_networkWifiNotificationChangedLockObj)
                 {
                     if (s_networkWifiNotificationChanged == null)
                     {
@@ -2435,7 +2518,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_networkWifiNotificationChangedLockObj)
                 {
                     if (s_networkWifiNotificationChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2458,9 +2541,13 @@ namespace Tizen.System
         {
             bool networkFlightMode = SystemSettings.NetworkFlightModeEnabled;
             NetworkFlightModeSettingChangedEventArgs eventArgs = new NetworkFlightModeSettingChangedEventArgs(networkFlightMode);
-            s_networkFlightModeChanged?.Invoke(null, eventArgs);
+            lock (s_networkFlightModeChangedLockObj)
+            {
+                s_networkFlightModeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<NetworkFlightModeSettingChangedEventArgs> s_networkFlightModeChanged;
+        private static readonly object s_networkFlightModeChangedLockObj = new object();
         /// <summary>
         /// The NetworkFlightModeChanged event is triggered when the flight mode status is changed.
         /// </summary>
@@ -2476,7 +2563,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_networkFlightModeChangedLockObj)
                 {
                     if (s_networkFlightModeChanged == null)
                     {
@@ -2492,7 +2579,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_networkFlightModeChangedLockObj)
                 {
                     if (s_networkFlightModeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2515,9 +2602,13 @@ namespace Tizen.System
         {
             int screenBacklightTime = SystemSettings.ScreenBacklightTime;
             ScreenBacklightTimeChangedEventArgs eventArgs = new ScreenBacklightTimeChangedEventArgs(screenBacklightTime);
-            s_screenBacklightTimeChanged?.Invoke(null, eventArgs);
+            lock (s_screenBacklightTimeChangedLockObj)
+            {
+                s_screenBacklightTimeChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<ScreenBacklightTimeChangedEventArgs> s_screenBacklightTimeChanged;
+        private static readonly object s_screenBacklightTimeChangedLockObj = new object();
         /// <summary>
         /// THe ScreenBacklightTimeChanged event is triggered when the backlight time is changed.
         /// </summary>
@@ -2533,7 +2624,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_screenBacklightTimeChangedLockObj)
                 {
                     if (s_screenBacklightTimeChanged == null)
                     {
@@ -2549,7 +2640,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_screenBacklightTimeChangedLockObj)
                 {
                     if (s_screenBacklightTimeChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2572,9 +2663,13 @@ namespace Tizen.System
         {
             string soundNotification = SystemSettings.SoundNotification;
             SoundNotificationChangedEventArgs eventArgs = new SoundNotificationChangedEventArgs(soundNotification);
-            s_soundNotificationChanged?.Invoke(null, eventArgs);
+            lock (s_soundNotificationChangedLockObj)
+            {
+                s_soundNotificationChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<SoundNotificationChangedEventArgs> s_soundNotificationChanged;
+        private static readonly object s_soundNotificationChangedLockObj = new object();
         /// <summary>
         /// The SoundNotificationChanged event is triggered when the file path of the current notification tone set by the user is changed.
         /// </summary>
@@ -2591,7 +2686,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_soundNotificationChangedLockObj)
                 {
                     if (s_soundNotificationChanged == null)
                     {
@@ -2607,7 +2702,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_soundNotificationChangedLockObj)
                 {
                     if (s_soundNotificationChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2630,9 +2725,13 @@ namespace Tizen.System
         {
             int soundNotificationRepetitionPeriod = SystemSettings.SoundNotificationRepetitionPeriod;
             SoundNotificationRepetitionPeriodChangedEventArgs eventArgs = new SoundNotificationRepetitionPeriodChangedEventArgs(soundNotificationRepetitionPeriod);
-            s_soundNotificationRepetitionPeriodChanged?.Invoke(null, eventArgs);
+            lock (s_soundNotificationRepetitionPeriodChangedLockObj)
+            {
+                s_soundNotificationRepetitionPeriodChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<SoundNotificationRepetitionPeriodChangedEventArgs> s_soundNotificationRepetitionPeriodChanged;
+        private static readonly object s_soundNotificationRepetitionPeriodChangedLockObj = new object();
         /// <summary>
         /// The SoundNotificationRepetitionPeriodChanged event is triggered when the time period for notification repetitions is changed.
         /// </summary>
@@ -2648,7 +2747,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_soundNotificationRepetitionPeriodChangedLockObj)
                 {
                     if (s_soundNotificationRepetitionPeriodChanged == null)
                     {
@@ -2664,7 +2763,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_soundNotificationRepetitionPeriodChangedLockObj)
                 {
                     if (s_soundNotificationRepetitionPeriodChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2687,9 +2786,13 @@ namespace Tizen.System
         {
             SystemSettingsIdleLockState lockState = SystemSettings.LockState;
             LockStateChangedEventArgs eventArgs = new LockStateChangedEventArgs(lockState);
-            s_lockStateChanged?.Invoke(null, eventArgs);
+            lock (s_lockStateChangedLockObj)
+            {
+                s_lockStateChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<LockStateChangedEventArgs> s_lockStateChanged;
+        private static readonly object s_lockStateChangedLockObj = new object();
         /// <summary>
         /// The LockStateChanged event is triggered when the current lock state is changed.
         /// </summary>
@@ -2705,7 +2808,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_lockStateChangedLockObj)
                 {
                     if (s_lockStateChanged == null)
                     {
@@ -2721,7 +2824,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_lockStateChangedLockObj)
                 {
                     if (s_lockStateChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2744,9 +2847,13 @@ namespace Tizen.System
         {
             string adsId = SystemSettings.AdsId;
             AdsIdChangedEventArgs eventArgs = new AdsIdChangedEventArgs(adsId);
-            s_adsIdChanged?.Invoke(null, eventArgs);
+            lock (s_adsIdChangedLockObj)
+            {
+                s_adsIdChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<AdsIdChangedEventArgs> s_adsIdChanged;
+        private static readonly object s_adsIdChangedLockObj = new object();
         /// <summary>
         /// The AdsIdChanged event is triggered when the current ADS ID state is changed.
         /// </summary>
@@ -2762,7 +2869,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_adsIdChangedLockObj)
                 {
                     if (s_adsIdChanged == null)
                     {
@@ -2778,7 +2885,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_adsIdChangedLockObj)
                 {
                     if (s_adsIdChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2801,9 +2908,13 @@ namespace Tizen.System
         {
             SystemSettingsUdsState ultraDataSave = SystemSettings.UltraDataSave;
             UltraDataSaveChangedEventArgs eventArgs = new UltraDataSaveChangedEventArgs(ultraDataSave);
-            s_ultraDataSaveChanged?.Invoke(null, eventArgs);
+            lock (s_ultraDataSaveChangedLockObj)
+            {
+                s_ultraDataSaveChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<UltraDataSaveChangedEventArgs> s_ultraDataSaveChanged;
+        private static readonly object s_ultraDataSaveChangedLockObj = new object();
         /// <summary>
         /// The UltraDataSaveChanged event is triggered when the current Ultra Data Save state is changed.
         /// </summary>
@@ -2820,7 +2931,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_ultraDataSaveChangedLockObj)
                 {
                     if (s_ultraDataSaveChanged == null)
                     {
@@ -2836,7 +2947,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_ultraDataSaveChangedLockObj)
                 {
                     if (s_ultraDataSaveChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2859,9 +2970,13 @@ namespace Tizen.System
         {
             string ultraDataSavePackageList = "None";
             UltraDataSavePackageListChangedEventArgs eventArgs = new UltraDataSavePackageListChangedEventArgs(ultraDataSavePackageList);
-            s_ultraDataSavePackageListChanged?.Invoke(null, eventArgs);
+            lock (s_ultraDataSavePackageListChangedLockObj)
+            {
+                s_ultraDataSavePackageListChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<UltraDataSavePackageListChangedEventArgs> s_ultraDataSavePackageListChanged;
+        private static readonly object s_ultraDataSavePackageListChangedLockObj = new object();
         /// <summary>
         /// The UltraDataSavePackageListChanged event is triggered when the current ADS ID state is changed.
         /// </summary>
@@ -2878,7 +2993,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_ultraDataSavePackageListChangedLockObj)
                 {
                     if (s_ultraDataSavePackageListChanged == null)
                     {
@@ -2894,7 +3009,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_ultraDataSavePackageListChangedLockObj)
                 {
                     if (s_ultraDataSavePackageListChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2917,9 +3032,13 @@ namespace Tizen.System
         {
             bool accessibilityTts = SystemSettings.AccessibilityTtsEnabled;
             AccessibilityTtsSettingChangedEventArgs eventArgs = new AccessibilityTtsSettingChangedEventArgs(accessibilityTts);
-            s_accessibilityTtsChanged?.Invoke(null, eventArgs);
+            lock (s_accessibilityTtsChangedLockObj)
+            {
+                s_accessibilityTtsChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<AccessibilityTtsSettingChangedEventArgs> s_accessibilityTtsChanged;
+        private static readonly object s_accessibilityTtsChangedLockObj = new object();
         /// <summary>
         /// THe AccessibilityTtsChanged event is triggered when the screen touch sound enabled status is changed.
         /// </summary>
@@ -2935,7 +3054,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_accessibilityTtsChangedLockObj)
                 {
                     if (s_accessibilityTtsChanged == null)
                     {
@@ -2951,7 +3070,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_accessibilityTtsChangedLockObj)
                 {
                     if (s_accessibilityTtsChanged == null) {
                         Tizen.Log.Info("Tizen.System.SystemSettings","There is no event handler");
@@ -2975,9 +3094,13 @@ namespace Tizen.System
         {
             bool vibration = SystemSettings.Vibration;
             VibrationChangedEventArgs eventArgs = new VibrationChangedEventArgs(vibration);
-            s_vibrationChanged?.Invoke(null, eventArgs);
+            lock (s_vibrationChangedLockObj)
+            {
+                s_vibrationChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<VibrationChangedEventArgs> s_vibrationChanged;
+        private static readonly object s_vibrationChangedLockObj = new object();
         /// <summary>
         /// The VibrationChanged event is triggered when the vibration value is changed.
         /// </summary>
@@ -2993,7 +3116,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_vibrationChangedLockObj)
                 {
                     if (s_vibrationChanged == null)
                     {
@@ -3009,7 +3132,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_vibrationChangedLockObj)
                 {
                     s_vibrationChanged -= value;
                     if (s_vibrationChanged == null)
@@ -3028,9 +3151,13 @@ namespace Tizen.System
         {
             bool automaticTimeUpdate = SystemSettings.AutomaticTimeUpdate;
             AutomaticTimeUpdateChangedEventArgs eventArgs = new AutomaticTimeUpdateChangedEventArgs(automaticTimeUpdate);
-            s_automaticTimeUpdateChanged?.Invoke(null, eventArgs);
+            lock (s_automaticTimeUpdateChangedLockObj)
+            {
+                s_automaticTimeUpdateChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<AutomaticTimeUpdateChangedEventArgs> s_automaticTimeUpdateChanged;
+        private static readonly object s_automaticTimeUpdateChangedLockObj = new object();
         /// <summary>
         /// The AutomaticTimeUpdateChanged event is triggered when the AutomaticTimeUpdate value is changed.
         /// </summary>
@@ -3046,7 +3173,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_automaticTimeUpdateChangedLockObj)
                 {
                     if (s_automaticTimeUpdateChanged == null)
                     {
@@ -3062,7 +3189,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_automaticTimeUpdateChangedLockObj)
                 {
                     s_automaticTimeUpdateChanged -= value;
                     if (s_automaticTimeUpdateChanged == null)
@@ -3081,9 +3208,13 @@ namespace Tizen.System
         {
             bool developerOptionState = SystemSettings.DeveloperOptionState;
             DeveloperOptionStateChangedEventArgs eventArgs = new DeveloperOptionStateChangedEventArgs(developerOptionState);
-            s_developerOptionStateChanged?.Invoke(null, eventArgs);
+            lock (s_developerOptionStateChangedLockObj)
+            {
+                s_developerOptionStateChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<DeveloperOptionStateChangedEventArgs> s_developerOptionStateChanged;
+        private static readonly object s_developerOptionStateChangedLockObj = new object();
         /// <summary>
         /// The DeveloperOptionStateChanged event is triggered when the DeveloperOptionState value is changed.
         /// </summary>
@@ -3099,7 +3230,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_developerOptionStateChangedLockObj)
                 {
                     if (s_developerOptionStateChanged == null)
                     {
@@ -3115,7 +3246,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_developerOptionStateChangedLockObj)
                 {
                     s_developerOptionStateChanged -= value;
                     if (s_developerOptionStateChanged == null)
@@ -3134,9 +3265,13 @@ namespace Tizen.System
         {
             bool accessibilityGrayscale = SystemSettings.AccessibilityGrayscale;
             AccessibilityGrayscaleChangedEventArgs eventArgs = new AccessibilityGrayscaleChangedEventArgs(accessibilityGrayscale);
-            s_accessibilityGrayscaleChanged?.Invoke(null, eventArgs);
+            lock (s_accessibilityGrayscaleChangedLockObj)
+            {
+                s_accessibilityGrayscaleChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<AccessibilityGrayscaleChangedEventArgs> s_accessibilityGrayscaleChanged;
+        private static readonly object s_accessibilityGrayscaleChangedLockObj = new object();
         /// <summary>
         /// The AccessibilityGrayscaleChanged event is triggered when the AccessibilityGrayscale value is changed.
         /// </summary>
@@ -3153,7 +3288,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_accessibilityGrayscaleChangedLockObj)
                 {
                     if (s_accessibilityGrayscaleChanged == null)
                     {
@@ -3169,7 +3304,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_accessibilityGrayscaleChangedLockObj)
                 {
                     s_accessibilityGrayscaleChanged -= value;
                     if (s_accessibilityGrayscaleChanged == null)
@@ -3188,9 +3323,13 @@ namespace Tizen.System
         {
             bool accessibilityNegativeColor = SystemSettings.AccessibilityNegativeColor;
             AccessibilityNegativeColorChangedEventArgs eventArgs = new AccessibilityNegativeColorChangedEventArgs(accessibilityNegativeColor);
-            s_accessibilityNegativeColorChanged?.Invoke(null, eventArgs);
+            lock (s_accessibilityNegativeColorChangedLockObj)
+            {
+                s_accessibilityNegativeColorChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<AccessibilityNegativeColorChangedEventArgs> s_accessibilityNegativeColorChanged;
+        private static readonly object s_accessibilityNegativeColorChangedLockObj = new object();
         /// <summary>
         /// The AccessibilityNegativeColorChanged event is triggered when the AccessibilityNegativeColor value is changed.
         /// </summary>
@@ -3207,7 +3346,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_accessibilityNegativeColorChangedLockObj)
                 {
                     if (s_accessibilityNegativeColorChanged == null)
                     {
@@ -3223,7 +3362,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_accessibilityNegativeColorChangedLockObj)
                 {
                     s_accessibilityNegativeColorChanged -= value;
                     if (s_accessibilityNegativeColorChanged == null)
@@ -3242,9 +3381,13 @@ namespace Tizen.System
         {
             bool rotaryEventEnabled = SystemSettings.RotaryEventEnabled;
             RotaryEventEnabledChangedEventArgs eventArgs = new RotaryEventEnabledChangedEventArgs(rotaryEventEnabled);
-            s_rotaryEventEnabledChanged?.Invoke(null, eventArgs);
+            lock (s_rotaryEventEnabledChangedLockObj)
+            {
+                s_rotaryEventEnabledChanged?.Invoke(null, eventArgs);
+            }
         };
         private static event EventHandler<RotaryEventEnabledChangedEventArgs> s_rotaryEventEnabledChanged;
+        private static readonly object s_rotaryEventEnabledChangedLockObj = new object();
         /// <summary>
         /// The RotaryEventEnabledChanged event is triggered when the RotaryEventEnabled value is changed.
         /// </summary>
@@ -3262,7 +3405,7 @@ namespace Tizen.System
         {
             add
             {
-                lock (LockObj)
+                lock (s_rotaryEventEnabledChangedLockObj)
                 {
                     if (s_rotaryEventEnabledChanged == null)
                     {
@@ -3278,7 +3421,7 @@ namespace Tizen.System
 
             remove
             {
-                lock (LockObj)
+                lock (s_rotaryEventEnabledChangedLockObj)
                 {
                     s_rotaryEventEnabledChanged -= value;
                     if (s_rotaryEventEnabledChanged == null)