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.utils.MyUtils.measureTime
22
- import com.vk.admstorm.utils.ServerNameProvider
23
17
import com.vk.admstorm.utils.extensions.pluginEnabled
24
18
25
19
class AdmStormStartupActivity : ProjectActivity {
@@ -52,8 +46,7 @@ class AdmStormStartupActivity : ProjectActivity {
52
46
AdmStartupService .getInstance(project).afterConnectionTasks()
53
47
}
54
48
}
55
-
56
- checkUpdates(project)
49
+ PluginsHealthCard (project).checkUpdates()
57
50
58
51
// Это необходимо чтобы для бенчмарков показывались все пункты в списке
59
52
// который открывается при клике на иконку рядом с классом или методом.
@@ -67,37 +60,4 @@ class AdmStormStartupActivity : ProjectActivity {
67
60
68
61
Logger .setFactory(AdmStormLoggerFactory (sentry, defaultLoggerFactory))
69
62
}
70
-
71
- private fun hasNewVersion (pluginId : PluginId ): Boolean {
72
- return InstalledPluginsState .getInstance().hasNewerVersion(pluginId)
73
- }
74
-
75
- private fun checkUpdates (project : Project ) {
76
- val hasAdmNewerVersion = hasNewVersion(AdmService .ADM_PLUGIN_ID )
77
- val hasKphpStormNewVersion = hasNewVersion(AdmService .KPHPSTORM_PLUGIN_ID )
78
- val hasModuliteNewVersion = hasNewVersion(AdmService .MODULITE_PLUGIN_ID )
79
-
80
- if (! (hasAdmNewerVersion || hasModuliteNewVersion || hasKphpStormNewVersion)) {
81
- return
82
- }
83
-
84
- var updateNotification = AdmNotification (" New version of the plugin is available" )
85
- .withActions(
86
- AdmNotification .Action (" Update" ) { _, _ ->
87
- invokeLater {
88
- ShowSettingsUtil .getInstance().showSettingsDialog(project, " Plugins" )
89
- }
90
- }
91
- )
92
-
93
- if (hasAdmNewerVersion) {
94
- updateNotification = updateNotification.withActions(
95
- AdmNotification .Action (" What's new" ) { _, _ ->
96
- val url = " https://vkcom.github.io/admstorm/whatsnew.html?server_name=${ServerNameProvider .name()} "
97
- BrowserUtil .browse(url)
98
- }
99
- )
100
- }
101
- updateNotification.show(project)
102
- }
103
63
}
0 commit comments