@@ -7,7 +7,7 @@ import com.intellij.openapi.Disposable
77import com.intellij.openapi.actionSystem.ActionUpdateThread
88import com.intellij.openapi.actionSystem.AnActionEvent
99import com.intellij.openapi.components.Service
10- import com.intellij.openapi.diagnostic.thisLogger
10+ import com.intellij.openapi.components.service
1111import com.intellij.openapi.progress.ProgressIndicator
1212import com.intellij.openapi.progress.ProgressManager
1313import com.intellij.openapi.progress.Task
@@ -30,7 +30,6 @@ import shop.itbug.fluttercheckversionx.config.GenerateAssetsClassConfig
3030import shop.itbug.fluttercheckversionx.config.PluginConfig
3131import shop.itbug.fluttercheckversionx.i18n.PluginBundle
3232import shop.itbug.fluttercheckversionx.icons.MyIcons
33- import shop.itbug.fluttercheckversionx.model.FlutterLocalVersion
3433import shop.itbug.fluttercheckversionx.model.getVersionText
3534import shop.itbug.fluttercheckversionx.tools.FlutterVersionTool
3635import shop.itbug.fluttercheckversionx.util.DateUtils
@@ -40,7 +39,6 @@ import shop.itbug.fluttercheckversionx.util.Util
4039
4140//
4241class MyAssetGenPostStart : ProjectActivity {
43- val logger = thisLogger()
4442 override suspend fun execute (project : Project ) {
4543 AssetsListeningProjectService .getInstance(project).initListening()
4644 FlutterL10nService .getInstance(project).checkAllKeys()
@@ -49,10 +47,11 @@ class MyAssetGenPostStart : ProjectActivity {
4947 if (! project.isDisposed && setting.state.scanDartStringInStart) {
5048 FlutterL10nService .getInstance(project).startScanStringElements()
5149 }
52- }
53-
5450
51+ }
5552 FlutterXVMService .getInstance(project)
53+ FlutterVersionService .getInstance(project).refreshAndGetFlutterVersion()
54+ project.service<DotMigrateService >()
5655 }
5756}
5857
@@ -67,7 +66,6 @@ class MyProjectListening : ProjectManagerListener {
6766
6867@Service(Service .Level .PROJECT )
6968class AssetsListeningProjectService (val project : Project ) : Disposable {
70- private val logger = thisLogger()
7169 private val connect: MessageBusConnection = project.messageBus.connect(this )
7270 private var checkFlutterVersionTask: CheckFlutterVersionTask = CheckFlutterVersionTask ()
7371
@@ -134,32 +132,20 @@ class AssetsListeningProjectService(val project: Project) : Disposable {
134132 }
135133
136134 // /检测flutter新版本弹出
137- private inner class CheckFlutterVersionTask () :
135+ private inner class CheckFlutterVersionTask :
138136 Task .Backgroundable (project, " Detecting Flutter version..." ) {
139137 var indication: ProgressIndicator ? = null
140138 override fun run (indicator : ProgressIndicator ) {
141139 this .indication = indicator
142- val flutterChannel = Util .getFlutterChannel()
143- val currentFlutterVersion: FlutterLocalVersion ? =
144- runBlocking { FlutterVersionTool .getLocalFlutterVersion(project) }
145- if (flutterChannel == null ) {
146- return
147- }
148- currentFlutterVersion?.let { c ->
149- try {
150- val version = FlutterService .getVersion()
151- version.apply {
152- val hash = version.getCurrentReleaseByChannel(flutterChannel)
153- val release = releases.find { o -> o.hash == hash }
154- release?.let { r ->
155- if (r.version != c.getVersionText()) {
156- showTip(r, project)
157- }
158- }
159- }
160- } catch (e: Exception ) {
161- logger.warn(" 检查 flutter 版本失败:${e.localizedMessage} " )
162- }
140+ val flutterVersionService = FlutterVersionService .getInstance(project)
141+ val flutterChannel = Util .getFlutterChannel() ? : return
142+ val currentFlutterVersion =
143+ runBlocking { flutterVersionService.refreshAndGetFlutterVersion() } ? : return
144+ val version = flutterVersionService.getRemoteFlutterVersion() ? : return
145+ val hash = version.getCurrentReleaseByChannel(flutterChannel)
146+ val release = version.releases.find { o -> o.hash == hash } ? : return
147+ if (release.version != currentFlutterVersion.getVersionText()) {
148+ showTip(release, project)
163149 }
164150 }
165151
0 commit comments