From: jongmyeongko Date: Thu, 13 Apr 2017 12:56:04 +0000 (+0900) Subject: Modify internal request callback X-Git-Tag: submit/trunk/20170823.075128~121^2~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=583e9b645746cf2f58273c86cc8d3a0513e4c69a;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git Modify internal request callback add exception handling and releasing resources. Change-Id: Ic43f6159548a193c37aaa1cde99a5bac8332e04f Signed-off-by: jongmyeongko --- diff --git a/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs b/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs index 836d3cb..6b49900 100644 --- a/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs +++ b/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs @@ -170,11 +170,23 @@ namespace Tizen.Applications { if (RequestCallbacks.ContainsKey(id)) { - RequestCallbacks[id](packageType, packageId, (PackageEventType)eventType, (PackageEventState)eventState, progress); - if (eventState == Interop.PackageManager.PackageEventState.Completed || eventState == Interop.PackageManager.PackageEventState.Failed) + try { - Log.Debug(LogTag, string.Format("release request handle for id : {0}", id)); + RequestCallbacks[id](packageType, packageId, (PackageEventType)eventType, (PackageEventState)eventState, progress); + if (eventState == Interop.PackageManager.PackageEventState.Completed || eventState == Interop.PackageManager.PackageEventState.Failed) + { + Log.Debug(LogTag, string.Format("release request handle for id : {0}", id)); + RequestHandles[id].Dispose(); + RequestHandles.Remove(id); + RequestCallbacks.Remove(id); + } + } + catch (Exception e) + { + Log.Warn(LogTag, e.Message); RequestHandles[id].Dispose(); + RequestHandles.Remove(id); + RequestCallbacks.Remove(id); } } };