Skip to content

Commit

Permalink
Rework setup bindings in AuthorizationViewModel class
Browse files Browse the repository at this point in the history
  • Loading branch information
Drombeys committed Apr 24, 2024
1 parent 6072767 commit 716a6e6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ public AuthorizationViewModel(ILogger<AuthorizationViewModel> logger,
_userManager = userManager;
_authenticationViewModelValidator = authenticationViewModelValidator;
_launcherViewModel = launcherViewModel;

SetupBinding();
}

public AuthorizationViewModel()
Expand Down Expand Up @@ -101,8 +103,10 @@ public void ShowLauncherImpl(MainWindowViewModel mainWindowViewModel)
mainWindowViewModel.ShowLauncherImpl();
}

public void SetupBinding()
private void SetupBinding()
{
_logger.LogInformation("Call AuthorizationViewModel::SetupBinding()");

if (_userManager is null) {
throw new NullReferenceException("User manager object is null");
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Diagnostics;

using ImeSense.Launchers.Belarus.Avalonia.Helpers;
using ImeSense.Launchers.Belarus.Avalonia.Services;
using ImeSense.Launchers.Belarus.Core.Helpers;
using ImeSense.Launchers.Belarus.Core.Manager;
using ImeSense.Launchers.Belarus.Core.Services;
Expand All @@ -19,34 +20,33 @@ public class MainWindowViewModel : ReactiveObject

private readonly InitializerManager _initializerManager;
private readonly IUpdaterService _updaterService;
private readonly AuthorizationViewModel _authorizationViewModel;
private readonly ViewModelLocator _viewModelLocator;
private readonly StartGameViewModel _startGameViewModel;
private readonly LauncherViewModel _launcherViewModel;

[Reactive] public ReactiveObject PageViewModel { get; set; } = null!;

public MainWindowViewModel(ILogger<MainWindowViewModel> logger, InitializerManager initializerManager,
IUpdaterService updaterService, LauncherViewModel launcherViewModel,
AuthorizationViewModel authorizationViewModel, StartGameViewModel startGameViewModel)
IUpdaterService updaterService, ViewModelLocator viewModelLocator)
{
_logger = logger;
_initializerManager = initializerManager;
_updaterService = updaterService;
_authorizationViewModel = authorizationViewModel;
_startGameViewModel = startGameViewModel ?? throw new ArgumentNullException(nameof(startGameViewModel));
_launcherViewModel = launcherViewModel ?? throw new ArgumentNullException(nameof(launcherViewModel));
_viewModelLocator = viewModelLocator;
_startGameViewModel = viewModelLocator.StartGameViewModel;
_launcherViewModel = viewModelLocator.LauncherViewModel;
}

public MainWindowViewModel()
{
ExceptionHelper.ThrowIfEmptyConstructorNotInDesignTime($"{nameof(MainWindowViewModel)}");

_logger = null!;
_authorizationViewModel = null!;
_startGameViewModel = null!;
_launcherViewModel = null!;
_initializerManager = null!;
_updaterService = null!;
_viewModelLocator = null!;
}

public async Task InitializeAsync()
Expand All @@ -56,9 +56,6 @@ public async Task InitializeAsync()

ProcessHelper.KillAllXrEngine();

if (!_initializerManager.IsUserAuthorized) {
_authorizationViewModel.SetupBinding();
}
var isCurrentRelease = _initializerManager.IsGameReleaseCurrent;

if (File.Exists(PathStorage.LauncherSetting)) {
Expand Down Expand Up @@ -91,7 +88,7 @@ public void ShowLauncherImpl()

public void ShowAuthorizationImpl()
{
PageViewModel = _authorizationViewModel;
PageViewModel = _viewModelLocator.AuthorizationViewModel;
}

public void ShowStartGameImpl()
Expand Down

0 comments on commit 716a6e6

Please sign in to comment.