mirror of
				https://github.com/ryujinx-mirror/ryujinx.git
				synced 2025-11-04 08:59:04 -06:00 
			
		
		
		
	Ava UI: Handle updates containing non numeric characters (#7043)
* Handle updates containing non numeric characters Smh Dont be stupid * Use Berry’s method * Thanks gdk * Remove using
This commit is contained in:
		@@ -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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user