Skip to content

Commit d5c5e79

Browse files
authored
Isolate AmazonQToolWindowListener to AmazonQToolWindow (#4857)
`toolWindowShown` is invoked for ALL tool windows
1 parent 78350e1 commit d5c5e79

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,22 @@ import software.aws.toolkits.jetbrains.services.cwc.controller.chat.telemetry.Te
1111
class AmazonQToolWindowListener : ToolWindowManagerListener {
1212

1313
override fun toolWindowShown(toolWindow: ToolWindow) {
14-
TelemetryHelper.recordOpenChat()
14+
if (toolWindow.id == AmazonQToolWindowFactory.WINDOW_ID) {
15+
TelemetryHelper.recordOpenChat()
16+
}
1517
}
1618

17-
override fun stateChanged(toolWindowManager: ToolWindowManager, event: ToolWindowManagerListener.ToolWindowManagerEventType) {
18-
val toolWindow = toolWindowManager.getToolWindow(AmazonQToolWindowFactory.WINDOW_ID)
19-
toolWindow?.let {
20-
if (event == ToolWindowManagerListener.ToolWindowManagerEventType.HideToolWindow && !it.isVisible) {
21-
TelemetryHelper.recordCloseChat()
22-
}
19+
override fun stateChanged(
20+
toolWindowManager: ToolWindowManager,
21+
toolWindow: ToolWindow,
22+
changeType: ToolWindowManagerListener.ToolWindowManagerEventType
23+
) {
24+
if (toolWindow.id != AmazonQToolWindowFactory.WINDOW_ID) {
25+
return
26+
}
27+
28+
if (changeType == ToolWindowManagerListener.ToolWindowManagerEventType.HideToolWindow) {
29+
TelemetryHelper.recordCloseChat()
2330
}
2431
}
2532
}

0 commit comments

Comments
 (0)