Skip to content

Commit 4c4a6c0

Browse files
committed
Add log handler for indexing
1 parent 6826802 commit 4c4a6c0

File tree

1 file changed

+36
-16
lines changed
  • Plugins/Flow.Launcher.Plugin.Program

1 file changed

+36
-16
lines changed

Plugins/Flow.Launcher.Plugin.Program/Main.cs

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -283,32 +283,52 @@ static void WatchProgramUpdate()
283283

284284
public static async Task IndexWin32ProgramsAsync()
285285
{
286-
var win32S = Win32.All(_settings);
287286
await _win32sLock.WaitAsync();
288-
_win32s.Clear();
289-
foreach (var win32 in win32S)
287+
try
290288
{
291-
_win32s.Add(win32);
289+
var win32S = Win32.All(_settings);
290+
_win32s.Clear();
291+
foreach (var win32 in win32S)
292+
{
293+
_win32s.Add(win32);
294+
}
295+
ResetCache();
296+
await Context.API.SaveCacheBinaryStorageAsync<List<Win32>>(Win32CacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath);
297+
_settings.LastIndexTime = DateTime.Now;
298+
}
299+
catch (Exception e)
300+
{
301+
Log.Exception("|Flow.Launcher.Plugin.Program.Main|Failed to index Win32 programs", e);
302+
}
303+
finally
304+
{
305+
_win32sLock.Release();
292306
}
293-
ResetCache();
294-
await Context.API.SaveCacheBinaryStorageAsync<List<Win32>>(Win32CacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath);
295-
_settings.LastIndexTime = DateTime.Now;
296-
_win32sLock.Release();
297307
}
298308

299309
public static async Task IndexUwpProgramsAsync()
300310
{
301-
var uwps = UWPPackage.All(_settings);
302311
await _uwpsLock.WaitAsync();
303-
_uwps.Clear();
304-
foreach (var uwp in uwps)
312+
try
305313
{
306-
_uwps.Add(uwp);
314+
var uwps = UWPPackage.All(_settings);
315+
_uwps.Clear();
316+
foreach (var uwp in uwps)
317+
{
318+
_uwps.Add(uwp);
319+
}
320+
ResetCache();
321+
await Context.API.SaveCacheBinaryStorageAsync<List<UWPApp>>(UwpCacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath);
322+
_settings.LastIndexTime = DateTime.Now;
323+
}
324+
catch (Exception e)
325+
{
326+
Log.Exception("|Flow.Launcher.Plugin.Program.Main|Failed to index Uwp programs", e);
327+
}
328+
finally
329+
{
330+
_uwpsLock.Release();
307331
}
308-
ResetCache();
309-
await Context.API.SaveCacheBinaryStorageAsync<List<UWPApp>>(UwpCacheName, Context.CurrentPluginMetadata.PluginCacheDirectoryPath);
310-
_settings.LastIndexTime = DateTime.Now;
311-
_uwpsLock.Release();
312332
}
313333

314334
public static async Task IndexProgramsAsync()

0 commit comments

Comments
 (0)