diff --git a/CRSim.Core/Abstractions/INetworkService.cs b/CRSim.Core/Abstractions/INetworkService.cs index 13975b1..74f378d 100644 --- a/CRSim.Core/Abstractions/INetworkService.cs +++ b/CRSim.Core/Abstractions/INetworkService.cs @@ -7,7 +7,7 @@ namespace CRSim.Core.Abstractions { Task?> GetTimeTableAsync(string number); Task?> GetTrainNumbersAsync(string name); - List? GetOnlinePlugins(string uri); + Task?> GetOnlinePluginsAsync(string uri); Task GetUpdateAsync(string uri); } } diff --git a/CRSim.Core/Services/NetworkService.cs b/CRSim.Core/Services/NetworkService.cs index 9a91b78..1aece04 100644 --- a/CRSim.Core/Services/NetworkService.cs +++ b/CRSim.Core/Services/NetworkService.cs @@ -138,12 +138,12 @@ namespace CRSim.Core.Services return null; } - public List? GetOnlinePlugins(string url) + public async Task?> GetOnlinePluginsAsync(string url) { try { var client = new HttpClient(); - var response = client.GetStringAsync(url).Result; + var response = await client.GetStringAsync(url); return JsonSerializer.Deserialize(response, JsonContextWithCamelCase.Default.ListPluginManifest); } catch diff --git a/CRSim.Core/Services/PluginService.cs b/CRSim.Core/Services/PluginService.cs index 6cd850b..15e834c 100644 --- a/CRSim.Core/Services/PluginService.cs +++ b/CRSim.Core/Services/PluginService.cs @@ -130,7 +130,7 @@ public class PluginService : IPluginService } public async Task LoadOnlinePluginsAsync() { - var pluginManifests = _networkService.GetOnlinePlugins(IndexUrl); + var pluginManifests = await _networkService.GetOnlinePluginsAsync(IndexUrl); IPluginService.OnlinePluginsInternal.Clear(); foreach (var Manifest in pluginManifests ?? []) {