Fix static analysis issues (#2190)
authorhjhun <36876573+hjhun@users.noreply.github.com>
Fri, 6 Nov 2020 05:53:54 +0000 (14:53 +0900)
committerWonyoung Choi <wy80.choi@samsung.com>
Tue, 10 Nov 2020 00:24:38 +0000 (09:24 +0900)
Issues:
 - NO_LOCK.STAT

Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/Tizen.Applications.Common/Tizen.Applications/ApplicationManager.cs

index 85f0785..64969c7 100755 (executable)
@@ -447,13 +447,16 @@ namespace Tizen.Applications
                 }
                 using (ApplicationRunningContext context = new ApplicationRunningContext(clonedHandle))
                 {
-                    if (state == Interop.ApplicationManager.AppContextEvent.Launched)
+                    lock (s_applicationChangedEventLock)
                     {
-                        s_launchedHandler?.Invoke(null, new ApplicationLaunchedEventArgs { ApplicationRunningContext = context });
-                    }
-                    else if (state == Interop.ApplicationManager.AppContextEvent.Terminated)
-                    {
-                        s_terminatedHandler?.Invoke(null, new ApplicationTerminatedEventArgs { ApplicationRunningContext = context });
+                        if (state == Interop.ApplicationManager.AppContextEvent.Launched)
+                        {
+                            s_launchedHandler?.Invoke(null, new ApplicationLaunchedEventArgs { ApplicationRunningContext = context });
+                        }
+                        else if (state == Interop.ApplicationManager.AppContextEvent.Terminated)
+                        {
+                            s_terminatedHandler?.Invoke(null, new ApplicationTerminatedEventArgs { ApplicationRunningContext = context });
+                        }
                     }
                 }
             };
@@ -488,13 +491,16 @@ namespace Tizen.Applications
 
             s_eventCallback = (string appType, string appId, Interop.ApplicationManager.AppManagerEventType eventType, Interop.ApplicationManager.AppManagerEventState eventState, IntPtr eventHandle, IntPtr UserData) =>
             {
-                if (eventType == Interop.ApplicationManager.AppManagerEventType.Enable)
-                {
-                    s_enabledHandler?.Invoke(null, new ApplicationEnabledEventArgs(appId, (ApplicationEventState)eventState));
-                }
-                else if (eventType == Interop.ApplicationManager.AppManagerEventType.Disable)
+                lock (s_eventLock)
                 {
-                    s_disabledHandler?.Invoke(null, new ApplicationDisabledEventArgs(appId, (ApplicationEventState)eventState));
+                    if (eventType == Interop.ApplicationManager.AppManagerEventType.Enable)
+                    {
+                        s_enabledHandler?.Invoke(null, new ApplicationEnabledEventArgs(appId, (ApplicationEventState)eventState));
+                    }
+                    else if (eventType == Interop.ApplicationManager.AppManagerEventType.Disable)
+                    {
+                        s_disabledHandler?.Invoke(null, new ApplicationDisabledEventArgs(appId, (ApplicationEventState)eventState));
+                    }
                 }
             };
             err = Interop.ApplicationManager.AppManagerSetEventCallback(_eventHandle, s_eventCallback, IntPtr.Zero);