From d48ce397738ef40f0db04e659a5477f59916baad Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Tue, 2 Dec 2025 12:30:05 -0700 Subject: [PATCH] Move LibraryCommands.GetCounts() to background thread. --- .../ViewModels/MainVM.VisibleBooks.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/LibationAvalonia/ViewModels/MainVM.VisibleBooks.cs b/Source/LibationAvalonia/ViewModels/MainVM.VisibleBooks.cs index bc40f7d5..84a979bc 100644 --- a/Source/LibationAvalonia/ViewModels/MainVM.VisibleBooks.cs +++ b/Source/LibationAvalonia/ViewModels/MainVM.VisibleBooks.cs @@ -63,11 +63,11 @@ namespace LibationAvalonia.ViewModels public async void ProductsDisplay_VisibleCountChanged(object? sender, int qty) { setVisibleCount(qty); - await Dispatcher.UIThread.InvokeAsync(setLiberatedVisibleMenuItem); + await setLiberatedVisibleMenuItemAsync(); } private async void setLiberatedVisibleMenuItemAsync(object? _, object __) - => await Dispatcher.UIThread.InvokeAsync(setLiberatedVisibleMenuItem); + => await setLiberatedVisibleMenuItemAsync(); public void LiberateVisible() @@ -191,10 +191,11 @@ namespace LibationAvalonia.ViewModels await visibleLibraryBooks.RemoveBooksAsync(); } - private void setLiberatedVisibleMenuItem() + private async Task setLiberatedVisibleMenuItemAsync() { - var libraryStats = LibraryCommands.GetCounts(ProductsDisplay.GetVisibleBookEntries()); - setVisibleNotLiberatedCount(libraryStats.PendingBooks); + var visible = ProductsDisplay.GetVisibleBookEntries(); + var libraryStats = await Task.Run(() => LibraryCommands.GetCounts(visible)); + await Dispatcher.UIThread.InvokeAsync(() => setVisibleNotLiberatedCount(libraryStats.PendingBooks)); } } }