@@ -18,10 +18,12 @@ import com.coder.toolbox.views.SignInPage
18
18
import com.coder.toolbox.views.TokenPage
19
19
import com.jetbrains.toolbox.api.core.PluginSecretStore
20
20
import com.jetbrains.toolbox.api.core.PluginSettingsStore
21
+ import com.jetbrains.toolbox.api.core.ServiceLocator
21
22
import com.jetbrains.toolbox.api.core.ui.icons.SvgIcon
22
23
import com.jetbrains.toolbox.api.remoteDev.ProviderVisibilityState
23
24
import com.jetbrains.toolbox.api.remoteDev.RemoteEnvironmentConsumer
24
25
import com.jetbrains.toolbox.api.remoteDev.RemoteProvider
26
+ import com.jetbrains.toolbox.api.remoteDev.ui.EnvironmentUiPageManager
25
27
import com.jetbrains.toolbox.api.ui.ToolboxUi
26
28
import com.jetbrains.toolbox.api.ui.actions.RunnableActionDescription
27
29
import com.jetbrains.toolbox.api.ui.components.AccountDropdownField
@@ -39,15 +41,17 @@ import kotlin.coroutines.cancellation.CancellationException
39
41
import kotlin.time.Duration.Companion.seconds
40
42
41
43
class CoderRemoteProvider (
44
+ private val serviceLocator : ServiceLocator ,
42
45
private val httpClient : OkHttpClient ,
43
- private val consumer : RemoteEnvironmentConsumer ,
44
- private val coroutineScope : CoroutineScope ,
45
- private val ui : ToolboxUi ,
46
- settingsStore : PluginSettingsStore ,
47
- secretsStore : PluginSecretStore ,
48
46
) : RemoteProvider {
49
47
private val logger = LoggerFactory .getLogger(javaClass)
50
48
49
+ private val ui: ToolboxUi = serviceLocator.getService(ToolboxUi ::class .java)
50
+ private val consumer: RemoteEnvironmentConsumer = serviceLocator.getService(RemoteEnvironmentConsumer ::class .java)
51
+ private val coroutineScope: CoroutineScope = serviceLocator.getService(CoroutineScope ::class .java)
52
+ private val settingsStore: PluginSettingsStore = serviceLocator.getService(PluginSettingsStore ::class .java)
53
+ private val secretsStore: PluginSecretStore = serviceLocator.getService(PluginSecretStore ::class .java)
54
+
51
55
// Current polling job.
52
56
private var pollJob: Job ? = null
53
57
private var lastEnvironments: Set <CoderRemoteEnvironment >? = null
@@ -60,7 +64,7 @@ class CoderRemoteProvider(
60
64
private val dialogUi = DialogUi (settings, ui)
61
65
private val linkHandler = LinkHandler (settings, httpClient, dialogUi)
62
66
63
- // The REST client, if we are signed in.
67
+ // The REST client, if we are signed in
64
68
private var client: CoderRestClient ? = null
65
69
66
70
// If we have an error in the polling we store it here before going back to
@@ -146,7 +150,6 @@ class CoderRemoteProvider(
146
150
// rememberMe to false so we do not try to automatically log in.
147
151
secrets.rememberMe = " false"
148
152
close()
149
- reset()
150
153
}
151
154
152
155
/* *
@@ -251,9 +254,8 @@ class CoderRemoteProvider(
251
254
* ui.hideUiPage() which stacks and has built-in back navigation, rather
252
255
* than using multiple root pages.
253
256
*/
254
- private fun reset () {
255
- // TODO - check this later
256
- // ui.showPluginEnvironmentsPage()
257
+ private fun goToEnvironmentsPage () {
258
+ serviceLocator.getService(EnvironmentUiPageManager ::class .java).showPluginEnvironmentsPage()
257
259
}
258
260
259
261
/* *
@@ -309,7 +311,7 @@ class CoderRemoteProvider(
309
311
settings,
310
312
httpClient,
311
313
coroutineScope,
312
- { reset() } ,
314
+ ::goToEnvironmentsPage ,
313
315
) { client, cli ->
314
316
// Store the URL and token for use next time.
315
317
secrets.lastDeploymentURL = client.url.toString()
@@ -320,7 +322,7 @@ class CoderRemoteProvider(
320
322
pollError = null
321
323
pollJob?.cancel()
322
324
pollJob = poll(client, cli)
323
- reset ()
325
+ goToEnvironmentsPage ()
324
326
}
325
327
326
328
/* *
0 commit comments