From 19d6ad45a23df1bcb61cd1bb8c327e440d5c8284 Mon Sep 17 00:00:00 2001 From: Yuriy Artamonov Date: Wed, 4 Dec 2024 14:27:57 +0100 Subject: [PATCH] [plugins] IJPL-173011 FUS: no download events for opening download page of suggested IDE (cherry picked from commit 2506805c5995b4401be327b07143d9c2647ef7cf) IJ-CR-151331 GitOrigin-RevId: 477a992c91ec7eee47f8c0b0099911216a3a3bb3 --- .../PluginAdvertiserService.kt | 2 +- .../install/UltimateInstallationService.kt | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService.kt b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService.kt index 3ab688fee3f0..97a846aa8ac9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService.kt +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService.kt @@ -664,7 +664,7 @@ fun tryUltimate( val eventSource = fusEventSource ?: FUSEventSource.EDITOR if (Registry.`is`("ide.try.ultimate.automatic.installation") && project != null) { eventSource.logTryUltimate(project, pluginId) - project.service().install(pluginId, suggestedIde) + project.service().install(pluginId, suggestedIde, eventSource) } else { fallback?.invoke() ?: eventSource.openDownloadPageAndLog(project = project, diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/upgradeToUltimate/installation/install/UltimateInstallationService.kt b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/upgradeToUltimate/installation/install/UltimateInstallationService.kt index 7b4b3411356a..e4e662e9f15f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/upgradeToUltimate/installation/install/UltimateInstallationService.kt +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/upgradeToUltimate/installation/install/UltimateInstallationService.kt @@ -61,16 +61,19 @@ class UltimateInstallationService( } } - fun install(pluginId: PluginId? = null, suggestedIde: SuggestedIde) { + fun install(pluginId: PluginId? = null, suggestedIde: SuggestedIde, eventSource: FUSEventSource) { + if (!canBeAutoInstalled(suggestedIde)) { + eventSource.openDownloadPageAndLog(project = project, + url = suggestedIde.defaultDownloadUrl, + suggestedIde = suggestedIde, + pluginId = pluginId) + return + } + coroutineScope.launch { try { installerLock.withLock { withBackgroundProgress(project, IdeBundle.message("plugins.advertiser.try.ultimate.upgrade", suggestedIde.name), true) { - if (!canBeAutoInstalled(suggestedIde)) { - useFallback(pluginId, suggestedIde.defaultDownloadUrl) - return@withBackgroundProgress - } - val productData = UpdateChecker.loadProductData(null) val status = if (Registry.`is`("ide.try.ultimate.use.eap")) ChannelStatus.EAP else ChannelStatus.RELEASE val build = productData?.channels?.firstOrNull { it.status == status }?.builds?.first() ?: return@withBackgroundProgress