From 7ef6c0ecd58f5bfe6b72e038e1dd1575f9b5da4d Mon Sep 17 00:00:00 2001 From: Vadim Salavatov Date: Thu, 12 Feb 2026 14:21:49 +0100 Subject: [PATCH] IJPL-232707 refactor: pass coroutineScope and installed panel supplier as a parameter into InstalledTabSearchResultPanel GitOrigin-RevId: b203b6d1d6cedd7dfaef82af1efd5db92fedce59 --- .../com/intellij/ide/plugins/InstalledPluginsTab.java | 10 +++++++--- .../intellij/ide/plugins/newui/SearchResultPanel.kt | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTab.java b/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTab.java index 5bf9a57dda32..92e8ec61d693 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTab.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/InstalledPluginsTab.java @@ -336,6 +336,7 @@ class InstalledPluginsTab extends PluginsTab { installedController, panel, myInstalledSearchGroup, + () -> myInstalledPanel, selectionListener, mySearchInMarketplaceTabHandler, myPluginModelFacade @@ -603,16 +604,19 @@ class InstalledPluginsTab extends PluginsTab { private final @Nullable Consumer mySearchInMarketplaceTabHandler; private final @NotNull PluginModelFacade myPluginModelFacade; private final @NotNull DefaultActionGroup mySearchActionGroup; + private final @NotNull Supplier myInstalledPanelSupplier; - InstalledTabSearchResultPanel(CoroutineScope coroutineScope, + InstalledTabSearchResultPanel(@NotNull CoroutineScope coroutineScope, SearchUpDownPopupController installedController, PluginsGroupComponentWithProgress panel, @NotNull DefaultActionGroup searchActionGroup, + @NotNull Supplier installedPanelSupplier, @NotNull Consumer selectionListener, @Nullable Consumer searchInMarketplaceTabHandler, @NotNull PluginModelFacade pluginModelFacade) { super(coroutineScope, installedController, panel, false); mySearchActionGroup = searchActionGroup; + myInstalledPanelSupplier = installedPanelSupplier; mySelectionListener = selectionListener; mySearchInMarketplaceTabHandler = searchInMarketplaceTabHandler; myPluginModelFacade = pluginModelFacade; @@ -752,12 +756,12 @@ class InstalledPluginsTab extends PluginsTab { } }); } - PluginModelAsyncOperationsExecutor.INSTANCE.loadUpdates(myCoroutineScope, updates -> { + PluginModelAsyncOperationsExecutor.INSTANCE.loadUpdates(getCoroutineScope(), updates -> { if (!ContainerUtil.isEmpty(updates)) { myPostFillGroupCallback = () -> { //noinspection unchecked applyUpdates(myPanel, (Collection)updates); - mySelectionListener.accept(myInstalledPanel); + mySelectionListener.accept(myInstalledPanelSupplier.get()); mySelectionListener.accept(getPanel()); }; } diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/newui/SearchResultPanel.kt b/platform/platform-impl/src/com/intellij/ide/plugins/newui/SearchResultPanel.kt index 96fef306cf35..2336c975dd7a 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/newui/SearchResultPanel.kt +++ b/platform/platform-impl/src/com/intellij/ide/plugins/newui/SearchResultPanel.kt @@ -24,7 +24,7 @@ import javax.swing.ScrollPaneConstants @ApiStatus.Internal abstract class SearchResultPanel( - private val coroutineScope: CoroutineScope, + protected val coroutineScope: CoroutineScope, @JvmField val controller: SearchPopupController, @JvmField protected val myPanel: PluginsGroupComponentWithProgress, private val isMarketplace: Boolean,