From 4c4a6c0e22f65a7c1fd0865c70ad69b86e8a0aea Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Tue, 8 Apr 2025 19:27:53 +0800 Subject: [PATCH] Add log handler for indexing --- Plugins/Flow.Launcher.Plugin.Program/Main.cs | 52 ++++++++++++++------ 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index c235fb587..11deb710d 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -283,32 +283,52 @@ namespace Flow.Launcher.Plugin.Program public static async Task IndexWin32ProgramsAsync() { - var win32S = Win32.All(_settings); await _win32sLock.WaitAsync(); - _win32s.Clear(); - foreach (var win32 in win32S) + try { - _win32s.Add(win32); + var win32S = Win32.All(_settings); + _win32s.Clear(); + foreach (var win32 in win32S) + { + _win32s.Add(win32); + } + ResetCache(); + await Context.API.SaveCacheBinaryStorageAsync>(Win32CacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath); + _settings.LastIndexTime = DateTime.Now; + } + catch (Exception e) + { + Log.Exception("|Flow.Launcher.Plugin.Program.Main|Failed to index Win32 programs", e); + } + finally + { + _win32sLock.Release(); } - ResetCache(); - await Context.API.SaveCacheBinaryStorageAsync>(Win32CacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath); - _settings.LastIndexTime = DateTime.Now; - _win32sLock.Release(); } public static async Task IndexUwpProgramsAsync() { - var uwps = UWPPackage.All(_settings); await _uwpsLock.WaitAsync(); - _uwps.Clear(); - foreach (var uwp in uwps) + try { - _uwps.Add(uwp); + var uwps = UWPPackage.All(_settings); + _uwps.Clear(); + foreach (var uwp in uwps) + { + _uwps.Add(uwp); + } + ResetCache(); + await Context.API.SaveCacheBinaryStorageAsync>(UwpCacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath); + _settings.LastIndexTime = DateTime.Now; + } + catch (Exception e) + { + Log.Exception("|Flow.Launcher.Plugin.Program.Main|Failed to index Uwp programs", e); + } + finally + { + _uwpsLock.Release(); } - ResetCache(); - await Context.API.SaveCacheBinaryStorageAsync>(UwpCacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath); - _settings.LastIndexTime = DateTime.Now; - _uwpsLock.Release(); } public static async Task IndexProgramsAsync()