Skip to content

Commit 2b359fa

Browse files
committed
try inbuilt method
1 parent 218f254 commit 2b359fa

File tree

1 file changed

+18
-37
lines changed

1 file changed

+18
-37
lines changed

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/notifications/CustomizeNotificationsUi.kt

Lines changed: 18 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ import com.intellij.notification.NotificationAction
1111
import com.intellij.openapi.actionSystem.AnAction
1212
import com.intellij.openapi.actionSystem.AnActionEvent
1313
import com.intellij.openapi.application.ApplicationManager
14+
import com.intellij.openapi.application.runInEdt
1415
import com.intellij.openapi.options.ShowSettingsUtil
1516
import com.intellij.openapi.progress.ProgressIndicator
17+
import com.intellij.openapi.progress.ProgressManager
18+
import com.intellij.openapi.progress.Task
1619
import com.intellij.openapi.project.Project
1720
import com.intellij.openapi.ui.Messages
1821
import com.intellij.ui.EditorNotificationPanel
@@ -22,9 +25,7 @@ import software.aws.toolkits.core.utils.error
2225
import software.aws.toolkits.core.utils.getLogger
2326
import software.aws.toolkits.jetbrains.AwsPlugin
2427
import software.aws.toolkits.jetbrains.AwsToolkit
25-
import software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager.Companion.ID_ACTION_AUTO_UPDATE_SETTINGS
26-
import software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager.Companion.LOG
27-
import software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager.Companion.SOURCE_AUTO_UPDATE_FINISH_NOTIFY
28+
import software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager
2829
import software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager.Companion.updatePlugin
2930
import software.aws.toolkits.jetbrains.settings.AwsSettingsSharedConfigurable
3031
import software.aws.toolkits.jetbrains.utils.notifyInfo
@@ -56,7 +57,7 @@ object NotificationManager {
5657
if (action.type == "UpdateExtension") {
5758
add(
5859
NotificationActionList(AwsCoreBundle.message("notification.update")) {
59-
60+
updatePlugins()
6061
}
6162
)
6263
}
@@ -116,40 +117,20 @@ object NotificationManager {
116117
return panel
117118
}
118119

119-
@RequiresBackgroundThread
120-
fun updatePlugins(progressIndicator: ProgressIndicator, plugin: AwsPlugin) {
121-
val pluginInfo = AwsToolkit.PLUGINS_INFO[plugin] ?: return
122-
val pluginDescriptor = pluginInfo.descriptor as? IdeaPluginDescriptor ?: return
123-
val pluginName = pluginInfo.name
124-
try {
125-
if (!PluginManagerCore.isPluginInstalled(pluginDescriptor.pluginId)) {
126-
// LOG.debug { "$pluginName is not detected as installed, not performing auto-update" }
127-
return
128-
}
129-
130-
if (!updatePlugin(pluginDescriptor, progressIndicator)) return
131-
132-
} catch (e: Exception) {
133-
getLogger<NotificationManager>().debug(e) { "Unable to update $pluginName" }
134-
135-
return
136-
} catch (e: Error) {
137-
getLogger<NotificationManager>().error { "Unable to update $pluginName" }
138-
return
120+
private fun updatePlugins() {
121+
val pluginUpdateManager = PluginUpdateManager()
122+
runInEdt {
123+
ProgressManager.getInstance().run(object : Task.Backgroundable(
124+
null,
125+
AwsCoreBundle.message("aws.settings.auto_update.progress.message")
126+
) {
127+
override fun run(indicator: ProgressIndicator) {
128+
pluginUpdateManager.checkForUpdates(indicator, AwsPlugin.CORE)
129+
pluginUpdateManager.checkForUpdates(indicator, AwsPlugin.TOOLKIT)
130+
pluginUpdateManager.checkForUpdates(indicator, AwsPlugin.Q)
131+
}
132+
})
139133
}
140-
141-
if (plugin == AwsPlugin.CORE) return
142-
notifyInfo(
143-
title = AwsCoreBundle.message("aws.notification.auto_update.title", pluginName),
144-
content = AwsCoreBundle.message("aws.settings.auto_update.notification.message"),
145-
project = null,
146-
notificationActions = listOf(
147-
NotificationAction.createSimpleExpiring(AwsCoreBundle.message("aws.settings.auto_update.notification.yes")) {
148-
ApplicationManager.getApplication().restart()
149-
},
150-
NotificationAction.createSimpleExpiring(AwsCoreBundle.message("aws.settings.auto_update.notification.no")) {}
151-
)
152-
)
153134
}
154135
}
155136

0 commit comments

Comments
 (0)