aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Ryujinx/UI/Models/TitleUpdateModel.cs17
-rw-r--r--src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs23
2 files changed, 13 insertions, 27 deletions
diff --git a/src/Ryujinx/UI/Models/TitleUpdateModel.cs b/src/Ryujinx/UI/Models/TitleUpdateModel.cs
index cde37bf9..46f6f46d 100644
--- a/src/Ryujinx/UI/Models/TitleUpdateModel.cs
+++ b/src/Ryujinx/UI/Models/TitleUpdateModel.cs
@@ -1,21 +1,20 @@
-using LibHac.Ns;
using Ryujinx.Ava.Common.Locale;
namespace Ryujinx.Ava.UI.Models
{
public class TitleUpdateModel
{
- public ApplicationControlProperty Control { get; }
+ public uint Version { get; }
public string Path { get; }
+ public string Label { get; }
- public string Label => LocaleManager.Instance.UpdateAndGetDynamicValue(
- System.IO.Path.GetExtension(Path)?.ToLower() == ".xci" ? LocaleKeys.TitleBundledUpdateVersionLabel : LocaleKeys.TitleUpdateVersionLabel,
- Control.DisplayVersionString.ToString()
- );
-
- public TitleUpdateModel(ApplicationControlProperty control, string path)
+ public TitleUpdateModel(uint version, string displayVersion, string path)
{
- Control = control;
+ Version = version;
+ Label = LocaleManager.Instance.UpdateAndGetDynamicValue(
+ System.IO.Path.GetExtension(path)?.ToLower() == ".xci" ? LocaleKeys.TitleBundledUpdateVersionLabel : LocaleKeys.TitleUpdateVersionLabel,
+ displayVersion
+ );
Path = path;
}
}
diff --git a/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs b/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs
index 1acd9bee..e9b39dfe 100644
--- a/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs
@@ -131,26 +131,11 @@ namespace Ryujinx.Ava.UI.ViewModels
public void SortUpdates()
{
- var list = TitleUpdates.ToList();
-
- list.Sort((first, second) =>
- {
- if (string.IsNullOrEmpty(first.Control.DisplayVersionString.ToString()))
- {
- return -1;
- }
-
- if (string.IsNullOrEmpty(second.Control.DisplayVersionString.ToString()))
- {
- return 1;
- }
-
- return Version.Parse(first.Control.DisplayVersionString.ToString()).CompareTo(Version.Parse(second.Control.DisplayVersionString.ToString())) * -1;
- });
+ var sortedUpdates = TitleUpdates.OrderByDescending(update => update.Version);
Views.Clear();
Views.Add(new BaseModel());
- Views.AddRange(list);
+ Views.AddRange(sortedUpdates);
if (SelectedUpdate == null)
{
@@ -204,7 +189,9 @@ namespace Ryujinx.Ava.UI.ViewModels
controlNca.OpenFileSystem(NcaSectionType.Data, IntegrityCheckLevel.None).OpenFile(ref nacpFile.Ref, "/control.nacp".ToU8Span(), OpenMode.Read).ThrowIfFailure();
nacpFile.Get.Read(out _, 0, SpanHelpers.AsByteSpan(ref controlData), ReadOption.None).ThrowIfFailure();
- var update = new TitleUpdateModel(controlData, path);
+ var displayVersion = controlData.DisplayVersionString.ToString();
+ var update = new TitleUpdateModel(content.Version.Version, displayVersion, path);
+
TitleUpdates.Add(update);
if (selected)