using System;
using System.Collections.Generic;
using Tizen.NUI;
-using Tizen.Applications;
using Apps.Common;
namespace Apps.Models
{
class AppInfoModel : PropertyNotifier
- {
+ {\r
+ private ImageVisual defaultVisual;
+ private GradientVisual gradientVisual;
+
public AppInfoModel(string name, string applicationId, string url)
{
Name = name;
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)
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");\r
- IconBackground = GetGradientVisual(stopColor).OutputVisualMap;
+ SetGradientVisual(stopColor);\r
+ IconBackground = gradientVisual.OutputVisualMap;
}
}
+
+ ~AppInfoModel()\r
+ {\r
+ Tizen.Log.Info(Resources.LogTag, "Clearing NUI PropertyMap resources");\r
+ defaultVisual?.Dispose();\r
+ defaultVisual = null;\r
+ gradientVisual?.Dispose();\r
+ gradientVisual = null;\r
+ IconBackground?.Dispose();\r
+ IconBackground = null;\r
+ }
}
}
-using System.Collections;
-using System.Windows.Input;
+using System.Windows.Input;
using Tizen.NUI;
using Tizen.NUI.Components;
using Tizen.NUI.BaseComponents;
return item;
});
Header = GetHeader();
- this.SetBinding(CollectionView.ItemsSourceProperty, "AppListSource");
+ this.SetBinding(ItemsSourceProperty, "AppListSource");
this.SetBinding(AppSelectCommandProperty, "AppSelectCommand");
SelectionChanged += OnAppSelection;