From 1fd5cf2b4a6f592cc8df945e540ea523a799bb97 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 27 Sep 2022 21:24:52 -0300 Subject: Fix ListOpenContextStoredUsers and stub LoadOpenContext (#3718) * Fix ListOpenContextStoredUsers and stub LoadOpenContext * Remove nonsensical comment --- Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs') diff --git a/Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs b/Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs index 9d9cb6ff..41d5028f 100644 --- a/Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs +++ b/Ryujinx.HLE/HOS/Services/Account/Acc/AccountManager.cs @@ -22,7 +22,8 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc // outside of the AccountManager. private readonly HorizonClient _horizonClient; - private ConcurrentDictionary _profiles; + private readonly ConcurrentDictionary _profiles; + private UserProfile[] _storedOpenedUsers; public UserProfile LastOpenedUser { get; private set; } @@ -31,6 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc _horizonClient = horizonClient; _profiles = new ConcurrentDictionary(); + _storedOpenedUsers = Array.Empty(); _accountSaveDataManager = new AccountSaveDataManager(_profiles); @@ -44,9 +46,9 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc } else { - UserId commandLineUserProfileOverride = default; + UserId commandLineUserProfileOverride = default; if (!string.IsNullOrEmpty(initialProfileName)) - { + { commandLineUserProfileOverride = _profiles.Values.FirstOrDefault(x => x.Name == initialProfileName)?.UserId ?? default; if (commandLineUserProfileOverride.IsNull) Logger.Warning?.Print(LogClass.Application, $"The command line specified profile named '{initialProfileName}' was not found"); @@ -221,6 +223,16 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc return _profiles.Values.Where(x => x.AccountState == AccountState.Open); } + internal IEnumerable GetStoredOpenedUsers() + { + return _storedOpenedUsers; + } + + internal void StoreOpenedUsers() + { + _storedOpenedUsers = _profiles.Values.Where(x => x.AccountState == AccountState.Open).ToArray(); + } + internal UserProfile GetFirst() { return _profiles.First().Value; -- cgit v1.2.3