chore: 提取UntilIdleAsync函数

This commit is contained in:
uye
2023-07-08 12:07:24 +08:00
parent 5cca41c19f
commit 32da818764
2 changed files with 15 additions and 12 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
namespace MaaWpfGui.States
{
@@ -48,5 +49,13 @@ namespace MaaWpfGui.States
{
IdleChanged?.Invoke(this, newIdleValue);
}
public async Task UntilIdleAsync(int time = 1000)
{
while (!GetIdle())
{
await Task.Delay(time);
}
}
}
}

View File

@@ -585,22 +585,16 @@ namespace MaaWpfGui.ViewModels.UI
return checkResult;
}
public void AskToRestart()
public async void AskToRestart()
{
if (Instances.SettingsViewModel.AutoInstallUpdatePackage)
{
_ = Task.Run(async () =>
{
while (!runningState.GetIdle())
{
await Task.Delay(60000);
}
await runningState.UntilIdleAsync(60000);
Application.Current.Dispatcher.Invoke(() =>
{
Application.Current.Shutdown();
Bootstrapper.RestartApplication();
});
Application.Current.Dispatcher.Invoke(() =>
{
Application.Current.Shutdown();
Bootstrapper.RestartApplication();
});
return;
}