Skip to content

Commit

Permalink
Add launcher settings migrator
Browse files Browse the repository at this point in the history
  • Loading branch information
Drombeys committed May 1, 2024
1 parent 5c07449 commit 94c9368
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
14 changes: 14 additions & 0 deletions src/ImeSense.Launchers.Belarus.Core/Manager/UserManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ public class UserManager(ILogger<UserManager>? logger,

public UserSettings? UserSettings { get; private set; }

public static void MigratorSettings()
{
// Проверяем существование текущих настроек
if (File.Exists(PathStorage.LauncherSetting)) {
return;
}

// Проверяем настройки версии 2.0 / 2.1
if (File.Exists(PathStorage.V2LauncherSetting)) {
File.Move(PathStorage.V2LauncherSetting, PathStorage.LauncherSetting);
return;
}
}

public async Task LoadAsync(CancellationToken cancellationToken = default)
{
if (!File.Exists(PathStorage.LauncherSetting)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ public static class DirectoryStorage
public static string Binaries => Path.Combine(Base, "binaries");
public static string Resources => Path.Combine(Base, "resources");
public static string Patches => Path.Combine(Base, "patches");
public static string AppData => Path.Combine(Base, "_user_");
public static string LegacyUserData => Path.Combine(Base, "_user_");
public static string AppData => Path.Combine(Base, "appdata");
public static string LaucherData => Path.Combine(AppData, "laucher");
public static string LauncherLogs => Path.Combine(LaucherData, "logs");
public static string LauncherCache => Path.Combine(LaucherData, "cache");
Expand Down
7 changes: 6 additions & 1 deletion src/ImeSense.Launchers.Belarus.Core/Storage/PathStorage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ namespace ImeSense.Launchers.Belarus.Core.Storage;

public static class PathStorage
{
public static string LauncherSetting => Path.Combine(DirectoryStorage.AppData, FileNameStorage.LauncherSetting);
// Актуально для версии 1.0 / 1.1
public static string LegacyLauncherSettings => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), FileNameStorage.LauncherSetting);
// Актуально для версии 2.0 / 2.1
public static string V2LauncherSetting => Path.Combine(DirectoryStorage.LegacyUserData, FileNameStorage.LauncherSetting);
// Актуально для версии 3.0 и новее
public static string LauncherSetting => Path.Combine(DirectoryStorage.LaucherData, FileNameStorage.LauncherSetting);
public static string CurrentRelease => Path.Combine(DirectoryStorage.LauncherCache, FileNameStorage.CurrentRelease);
public static string GameUser => Path.Combine(DirectoryStorage.AppData, FileNameStorage.GameSetting);
public static string NewsCache => Path.Combine(DirectoryStorage.LauncherCache, FileNameStorage.NewsContent);
Expand Down
1 change: 1 addition & 0 deletions src/ImeSense.Launchers.Belarus/App.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public override async void OnFrameworkInitializationCompleted()
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) {
var initializerManager = _serviceProvider.GetRequiredService<InitializerManager>();
var userManager = _serviceProvider.GetRequiredService<UserManager>();
//UserManager.MigratorSettings();

var splashScreenManager = _serviceProvider.GetRequiredService<ISplashScreenManager>();
splashScreenManager.MaxProgress = 4;
Expand Down

0 comments on commit 94c9368

Please sign in to comment.