Skip to content

Commit 2625f6f

Browse files
committed
Make GetPluginsForInterface private
1 parent f657494 commit 2625f6f

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public static class PluginManager
2828

2929
private static IEnumerable<PluginPair> _contextMenuPlugins;
3030
private static IEnumerable<PluginPair> _homePlugins;
31+
private static IEnumerable<PluginPair> _resultUpdatePlugin;
32+
private static IEnumerable<PluginPair> _translationPlugins;
3133
private static IEnumerable<PluginPair> _hotkeyPlugins;
3234

3335
public static List<PluginPair> AllPlugins { get; private set; }
@@ -257,6 +259,8 @@ public static async Task InitializePluginsAsync()
257259

258260
_contextMenuPlugins = GetPluginsForInterface<IContextMenu>();
259261
_homePlugins = GetPluginsForInterface<IAsyncHomeQuery>();
262+
_resultUpdatePlugin = GetPluginsForInterface<IResultUpdated>();
263+
_translationPlugins = GetPluginsForInterface<IPluginI18n>();
260264
_hotkeyPlugins = GetPluginsForInterface<IPluginHotkey>();
261265
var pluginHotkeyInfo = GetPluginHotkeyInfo();
262266
Settings.UpdatePluginHotkeyInfo(pluginHotkeyInfo);
@@ -420,7 +424,7 @@ public static PluginPair GetPluginForId(string id)
420424
return AllPlugins.FirstOrDefault(o => o.Metadata.ID == id);
421425
}
422426

423-
public static IEnumerable<PluginPair> GetPluginsForInterface<T>() where T : IFeatures
427+
private static IEnumerable<PluginPair> GetPluginsForInterface<T>() where T : IFeatures
424428
{
425429
// Handle scenario where this is called before all plugins are instantiated, e.g. language change on startup
426430
return AllPlugins?.Where(p => p.Plugin is T) ?? Array.Empty<PluginPair>();
@@ -460,6 +464,17 @@ public static bool IsHomePlugin(string id)
460464
return _homePlugins.Any(p => p.Metadata.ID == id);
461465
}
462466

467+
public static IList<PluginPair> GetResultUpdatePlugin()
468+
{
469+
return _resultUpdatePlugin.Where(p => !PluginModified(p.Metadata.ID)).ToList();
470+
}
471+
472+
public static IList<PluginPair> GetTranslationPlugins()
473+
{
474+
// Here we still return the modified plugins to update the possible string resources
475+
return _translationPlugins.ToList();
476+
}
477+
463478
public static Dictionary<PluginPair, List<BasePluginHotkey>> GetPluginHotkeyInfo()
464479
{
465480
var hotkeyPluginInfos = new Dictionary<PluginPair, List<BasePluginHotkey>>();

Flow.Launcher.Core/Resource/Internationalization.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public static void InitSystemLanguageCode()
7474

7575
private void AddPluginLanguageDirectories()
7676
{
77-
foreach (var plugin in PluginManager.GetPluginsForInterface<IPluginI18n>())
77+
foreach (var plugin in PluginManager.GetTranslationPlugins())
7878
{
7979
var location = Assembly.GetAssembly(plugin.Plugin.GetType()).Location;
8080
var dir = Path.GetDirectoryName(location);
@@ -278,7 +278,7 @@ public static string GetTranslation(string key)
278278

279279
private void UpdatePluginMetadataTranslations()
280280
{
281-
foreach (var p in PluginManager.GetPluginsForInterface<IPluginI18n>())
281+
foreach (var p in PluginManager.GetTranslationPlugins())
282282
{
283283
if (p.Plugin is not IPluginI18n pluginI18N) return;
284284
try

Flow.Launcher/ViewModel/MainViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ void continueAction(Task t)
260260

261261
public void RegisterResultsUpdatedEvent()
262262
{
263-
foreach (var pair in PluginManager.GetPluginsForInterface<IResultUpdated>())
263+
foreach (var pair in PluginManager.GetResultUpdatePlugin())
264264
{
265265
var plugin = (IResultUpdated)pair.Plugin;
266266
plugin.ResultsUpdated += (s, e) =>

0 commit comments

Comments
 (0)