From: shivamv Date: Fri, 30 Sep 2022 18:44:37 +0000 (+0530) Subject: Fixing SVACE handle leak issues for Apps App. X-Git-Tag: accepted/tizen/unified/20221004.073935^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=22231df5c96ac80cf1ad765c94fd1b5a194d60ef;p=profile%2Fiot%2Fapps%2Fdotnet%2Ftray.git Fixing SVACE handle leak issues for Apps App. Change-Id: I34b02bb68d3e5be8d543c0e2d003e750159e07ba Signed-off-by: shivamv --- diff --git a/Apps/Models/AppInfoModel.cs b/Apps/Models/AppInfoModel.cs index fa487df..2c7949b 100755 --- a/Apps/Models/AppInfoModel.cs +++ b/Apps/Models/AppInfoModel.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using Tizen.NUI; -using Tizen.Applications; using Apps.Common; namespace Apps.Models { class AppInfoModel : PropertyNotifier - { + { + private ImageVisual defaultVisual; + private GradientVisual gradientVisual; + public AppInfoModel(string name, string applicationId, string url) { Name = name; @@ -35,25 +37,23 @@ namespace Apps.Models set => SetProperty(ref iconBackground, value); } - private ImageVisual GetDefaultImageVisual() + private void SetDefaultImageVisual() { - ImageVisual imageVisual = new ImageVisual() + defaultVisual = new ImageVisual() { URL = Resources.GetImagePath() + "default_gradient.png", }; - return imageVisual; } - private GradientVisual GetGradientVisual(PropertyArray stopColor) + private void SetGradientVisual(PropertyArray stopColor) { - GradientVisual gradientVisual = new GradientVisual() + gradientVisual = new GradientVisual() { StartPosition = new Vector2(0.0f, -1.0f), EndPosition = new Vector2(0.0f, 1.0f), StopColor = stopColor, SpreadMethod = GradientVisualSpreadMethodType.Pad, }; - return gradientVisual; } private PropertyArray GetGradientStopColors(Palette palette) @@ -124,13 +124,26 @@ namespace Apps.Models if (stopColor.Count() < 2) { Tizen.Log.Info(Resources.LogTag, "Palette or palatte values not valid, adding default gradient"); - IconBackground = GetDefaultImageVisual().OutputVisualMap; + SetDefaultImageVisual(); + IconBackground = defaultVisual.OutputVisualMap; } else { Tizen.Log.Info(Resources.LogTag, "setting palette color"); - IconBackground = GetGradientVisual(stopColor).OutputVisualMap; + SetGradientVisual(stopColor); + IconBackground = gradientVisual.OutputVisualMap; } } + + ~AppInfoModel() + { + Tizen.Log.Info(Resources.LogTag, "Clearing NUI PropertyMap resources"); + defaultVisual?.Dispose(); + defaultVisual = null; + gradientVisual?.Dispose(); + gradientVisual = null; + IconBackground?.Dispose(); + IconBackground = null; + } } } diff --git a/Apps/ViewManager.cs b/Apps/ViewManager.cs old mode 100644 new mode 100755 index 468ec1a..29b7a3e --- a/Apps/ViewManager.cs +++ b/Apps/ViewManager.cs @@ -6,7 +6,6 @@ using System.IO; using Tizen.NUI; using Tizen.NUI.Xaml; using Tizen.Applications; -using Tizen.NUI; using Apps.Common; using Apps.ViewModels; using Apps.Views; diff --git a/Apps/ViewModels/AppInfoViewModel.cs b/Apps/ViewModels/AppInfoViewModel.cs index 0958e09..5db5d6d 100755 --- a/Apps/ViewModels/AppInfoViewModel.cs +++ b/Apps/ViewModels/AppInfoViewModel.cs @@ -14,9 +14,9 @@ namespace Apps.ViewModels } public void CreateData(IEnumerable list) - { + { Clear(); - if(list == null) + if (list == null) { return; } diff --git a/Apps/ViewModels/AppViewModel.cs b/Apps/ViewModels/AppViewModel.cs old mode 100644 new mode 100755 index 9e088c7..870a76a --- a/Apps/ViewModels/AppViewModel.cs +++ b/Apps/ViewModels/AppViewModel.cs @@ -1,12 +1,9 @@ -using System; -using System.Collections; +using System.Collections; using System.Collections.Generic; -using System.Text; using System.Windows.Input; using Tizen.Applications; using Tizen.NUI.Binding; using Apps.Common; -using Apps.Models; namespace Apps.ViewModels { diff --git a/Apps/Views/AppView.cs b/Apps/Views/AppView.cs old mode 100644 new mode 100755 index dd98864..ff905a8 --- a/Apps/Views/AppView.cs +++ b/Apps/Views/AppView.cs @@ -1,5 +1,4 @@ -using System.Collections; -using System.Windows.Input; +using System.Windows.Input; using Tizen.NUI; using Tizen.NUI.Components; using Tizen.NUI.BaseComponents; @@ -40,7 +39,7 @@ namespace Apps.Views return item; }); Header = GetHeader(); - this.SetBinding(CollectionView.ItemsSourceProperty, "AppListSource"); + this.SetBinding(ItemsSourceProperty, "AppListSource"); this.SetBinding(AppSelectCommandProperty, "AppSelectCommand"); SelectionChanged += OnAppSelection; diff --git a/Apps/Views/CustomBorder.cs b/Apps/Views/CustomBorder.cs index 0cecea8..41c43bc 100755 --- a/Apps/Views/CustomBorder.cs +++ b/Apps/Views/CustomBorder.cs @@ -1,11 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Tizen; -using Tizen.NUI; -using Tizen.NUI.Components; +using Tizen.NUI; using Tizen.NUI.BaseComponents; using Apps.Common; + namespace Apps.Views { class CustomBorder : DefaultBorder diff --git a/packaging/org.tizen.Apps-1.0.0.tpk b/packaging/org.tizen.Apps-1.0.0.tpk index 58bcbd4..0d0c247 100755 Binary files a/packaging/org.tizen.Apps-1.0.0.tpk and b/packaging/org.tizen.Apps-1.0.0.tpk differ