summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjongmyeongko <jongmyeong.ko@samsung.com>2017-04-13 21:56:04 +0900
committerjongmyeongko <jongmyeong.ko@samsung.com>2017-05-12 17:45:13 +0900
commit77701c3589a683ad6833bbe6c0d6574d3f86b500 (patch)
tree5f396610e0d306ca65bc48040fdbc20751f3f004
parentad29f69a0c441f38f4d91e3945ba09d80f3eb576 (diff)
downloadapplication-77701c3589a683ad6833bbe6c0d6574d3f86b500.tar.gz
application-77701c3589a683ad6833bbe6c0d6574d3f86b500.tar.bz2
application-77701c3589a683ad6833bbe6c0d6574d3f86b500.zip
Modify internal request callback
add exception handling and releasing resources. Change-Id: Ic43f6159548a193c37aaa1cde99a5bac8332e04f Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
-rw-r--r--Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs18
1 files changed, 15 insertions, 3 deletions
diff --git a/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs b/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs
index 836d3cb..6b49900 100644
--- a/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs
+++ b/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);
}
}
};