1
1
package com.vk.admstorm
2
2
3
- import com.intellij.ide.BrowserUtil
4
- import com.intellij.ide.plugins.InstalledPluginsState
5
3
import com.intellij.openapi.application.invokeLater
6
4
import com.intellij.openapi.diagnostic.Logger
7
5
import com.intellij.openapi.diagnostic.logger
8
- import com.intellij.openapi.extensions.PluginId
9
6
import com.intellij.openapi.fileTypes.ex.FileTypeChooser
10
7
import com.intellij.openapi.fileTypes.impl.AbstractFileType
11
- import com.intellij.openapi.options.ShowSettingsUtil
12
8
import com.intellij.openapi.project.Project
13
9
import com.intellij.openapi.startup.ProjectActivity
14
10
import com.intellij.openapi.util.registry.Registry
15
11
import com.vk.admstorm.diagnostic.AdmStormLoggerFactory
16
12
import com.vk.admstorm.highlight.CppTypeHighlightPatcher
17
- import com.vk.admstorm.notifications.AdmNotification
18
13
import com.vk.admstorm.services.SentryService
19
14
import com.vk.admstorm.settings.AdmStormSettingsState
20
15
import com.vk.admstorm.ssh.SshConnectionService
21
16
import com.vk.admstorm.startup.ChangeSshBackendStartup
22
17
import com.vk.admstorm.utils.MyUtils.measureTime
23
- import com.vk.admstorm.utils.ServerNameProvider
24
18
import com.vk.admstorm.utils.extensions.pluginEnabled
25
19
26
20
class AdmStormStartupActivity : ProjectActivity {
@@ -44,7 +38,7 @@ class AdmStormStartupActivity : ProjectActivity {
44
38
}
45
39
46
40
ChangeSshBackendStartup .changeConfigurationProcess(project)
47
- checkUpdates (project)
41
+ PluginsHealthCard (project).checkUpdates( )
48
42
49
43
measureTime(LOG , " patch cpp highlight" ) {
50
44
val cppType = FileTypeChooser .getKnownFileTypeOrAssociate(" .c" ) as AbstractFileType
@@ -69,37 +63,4 @@ class AdmStormStartupActivity : ProjectActivity {
69
63
70
64
Logger .setFactory(AdmStormLoggerFactory (sentry, defaultLoggerFactory))
71
65
}
72
-
73
- private fun hasNewVersion (pluginId : PluginId ): Boolean {
74
- return InstalledPluginsState .getInstance().hasNewerVersion(pluginId)
75
- }
76
-
77
- private fun checkUpdates (project : Project ) {
78
- val hasAdmNewerVersion = hasNewVersion(AdmService .ADM_PLUGIN_ID )
79
- val hasKphpStormNewVersion = hasNewVersion(AdmService .KPHPSTORM_PLUGIN_ID )
80
- val hasModuliteNewVersion = hasNewVersion(AdmService .MODULITE_PLUGIN_ID )
81
-
82
- if (! (hasAdmNewerVersion || hasModuliteNewVersion || hasKphpStormNewVersion)) {
83
- return
84
- }
85
-
86
- var updateNotification = AdmNotification (" New version of the plugin is available" )
87
- .withActions(
88
- AdmNotification .Action (" Update" ) { _, _ ->
89
- invokeLater {
90
- ShowSettingsUtil .getInstance().showSettingsDialog(project, " Plugins" )
91
- }
92
- }
93
- )
94
-
95
- if (hasAdmNewerVersion) {
96
- updateNotification = updateNotification.withActions(
97
- AdmNotification .Action (" What's new" ) { _, _ ->
98
- val url = " https://vkcom.github.io/admstorm/whatsnew.html?server_name=${ServerNameProvider .name()} "
99
- BrowserUtil .browse(url)
100
- }
101
- )
102
- }
103
- updateNotification.show(project)
104
- }
105
66
}
0 commit comments