mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 19:02:13 +07:00
[plugin management] IJPL-247998 Make PluginUpdateHandler.installUpdates companion non-blocking
And rename -> installUpdatesInBackground. The caller expects it to be non-blocking as previously used `PluginUpdateDialog.runUpdateAll` has already been. Merge-request: IJ-MR-210433 Merged-by: Konstantin Ripak <konstantin.ripak@jetbrains.com> GitOrigin-RevId: 6b8e91ee8e15b68da8d0fc1af35bfccb93f630e6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e7318e3b1f
commit
e32d9695d0
+1
-1
@@ -184,7 +184,7 @@ public class PluginUpdateDialog extends DialogWrapper {
|
||||
|
||||
public static boolean showDialogAndUpdate(@NotNull PluginUpdateDialog dialog) {
|
||||
if (dialog.showAndGet()) {
|
||||
PluginUpdateHandler.installUpdates(dialog.getSelectedPluginModels(), dialog.getContentPanel(), dialog.myFinishCallback, null);
|
||||
PluginUpdateHandler.installUpdatesInBackground(dialog.getSelectedPluginModels(), dialog.getContentPanel(), dialog.myFinishCallback, null);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
+6
-2
@@ -3,8 +3,12 @@ package com.intellij.openapi.updateSettings.impl
|
||||
|
||||
import com.intellij.ide.plugins.api.PluginDto
|
||||
import com.intellij.ide.plugins.newui.PluginUiModel
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.progress.runBlockingMaybeCancellable
|
||||
import com.intellij.platform.ide.CoreUiCoroutineScopeHolder
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
@@ -26,13 +30,13 @@ interface PluginUpdateHandler {
|
||||
fun getInstance(): PluginUpdateHandler = PluginUpdateHandlerProvider.getInstance().getPluginUpdateHandler()
|
||||
|
||||
@JvmStatic
|
||||
fun installUpdates(
|
||||
fun installUpdatesInBackground(
|
||||
updates: Collection<PluginUiModel>,
|
||||
component: JComponent?,
|
||||
finishCallback: Runnable?,
|
||||
customRestarter: Consumer<Boolean>? = null,
|
||||
) {
|
||||
runBlockingMaybeCancellable {
|
||||
service<CoreUiCoroutineScopeHolder>().coroutineScope.launch(Dispatchers.IO) {
|
||||
getInstance().installUpdates(updates, component, finishCallback, customRestarter)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user