[PTRun][Program]Set logo on app package installation (#31495)

This commit is contained in:
Davide Giacometti
2024-02-27 16:39:40 +01:00
committed by GitHub
parent 1a20e351ae
commit 79de69547e
3 changed files with 11 additions and 5 deletions

View File

@@ -42,7 +42,7 @@ namespace Microsoft.Plugin.Program
private static PluginInitContext _context; private static PluginInitContext _context;
private readonly PluginJsonStorage<ProgramPluginSettings> _settingsStorage; private readonly PluginJsonStorage<ProgramPluginSettings> _settingsStorage;
private bool _disposed; private bool _disposed;
private PackageRepository _packageRepository = new PackageRepository(new PackageCatalogWrapper()); private PackageRepository _packageRepository;
private static Win32ProgramFileSystemWatchers _win32ProgramRepositoryHelper; private static Win32ProgramFileSystemWatchers _win32ProgramRepositoryHelper;
private static Win32ProgramRepository _win32ProgramRepository; private static Win32ProgramRepository _win32ProgramRepository;
@@ -105,6 +105,7 @@ namespace Microsoft.Plugin.Program
{ {
_context = context ?? throw new ArgumentNullException(nameof(context)); _context = context ?? throw new ArgumentNullException(nameof(context));
_context.API.ThemeChanged += OnThemeChanged; _context.API.ThemeChanged += OnThemeChanged;
_packageRepository = new PackageRepository(new PackageCatalogWrapper(), _context);
var a = Task.Run(() => var a = Task.Run(() =>
{ {
@@ -131,7 +132,7 @@ namespace Microsoft.Plugin.Program
{ {
foreach (UWPApplication app in _packageRepository) foreach (UWPApplication app in _packageRepository)
{ {
app.UpdatePath(theme); app.UpdateLogoPath(theme);
} }
} }

View File

@@ -403,7 +403,7 @@ namespace Microsoft.Plugin.Program.Programs
} }
} }
public void UpdatePath(Theme theme) public void UpdateLogoPath(Theme theme)
{ {
LogoPathFromUri(logoUri, theme); LogoPathFromUri(logoUri, theme);
} }

View File

@@ -8,6 +8,7 @@ using Microsoft.Plugin.Program.Logger;
using Microsoft.Plugin.Program.Programs; using Microsoft.Plugin.Program.Programs;
using Windows.ApplicationModel; using Windows.ApplicationModel;
using Wox.Infrastructure.Storage; using Wox.Infrastructure.Storage;
using Wox.Plugin;
using Wox.Plugin.Logger; using Wox.Plugin.Logger;
namespace Microsoft.Plugin.Program.Storage namespace Microsoft.Plugin.Program.Storage
@@ -18,11 +19,14 @@ namespace Microsoft.Plugin.Program.Storage
/// </summary> /// </summary>
internal class PackageRepository : ListRepository<UWPApplication>, IProgramRepository internal class PackageRepository : ListRepository<UWPApplication>, IProgramRepository
{ {
private IPackageCatalog _packageCatalog; private readonly IPackageCatalog _packageCatalog;
private readonly PluginInitContext _context;
public PackageRepository(IPackageCatalog packageCatalog) public PackageRepository(IPackageCatalog packageCatalog, PluginInitContext context)
{ {
_packageCatalog = packageCatalog ?? throw new ArgumentNullException(nameof(packageCatalog), "PackageRepository expects an interface to be able to subscribe to package events"); _packageCatalog = packageCatalog ?? throw new ArgumentNullException(nameof(packageCatalog), "PackageRepository expects an interface to be able to subscribe to package events");
_context = context ?? throw new ArgumentNullException(nameof(context));
_packageCatalog.PackageInstalling += OnPackageInstalling; _packageCatalog.PackageInstalling += OnPackageInstalling;
_packageCatalog.PackageUninstalling += OnPackageUninstalling; _packageCatalog.PackageUninstalling += OnPackageUninstalling;
} }
@@ -40,6 +44,7 @@ namespace Microsoft.Plugin.Program.Storage
uwp.InitializeAppInfo(packageWrapper.InstalledLocation); uwp.InitializeAppInfo(packageWrapper.InstalledLocation);
foreach (var app in uwp.Apps) foreach (var app in uwp.Apps)
{ {
app.UpdateLogoPath(_context.API.GetCurrentTheme());
Add(app); Add(app);
} }
} }